Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] dissector plugin help

From: Brian Oleksa <oleksab@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Mar 2009 08:34:02 -0400
Philippe

I sent you an e-mail with some screen shots but it appears the screen shots were too big.
So here is my outcome...maybe you will get the screenshots later.

I still get the same results.
I changed in the code where the ports file lives at to (c:/ports.txt). My ports.txt file is at the root of C:.
I rebuilt the code.
Deployed the .dll's files to the plugin directory of several machines running different versions of wireshrak
and I still get:

**"Couldn't load module", The specified module could not be found.**

I build your code using VS 2005.

Any Thoughts...??

Are you able to run my plugin on any machine or just a development machine..? The goal of this plugin is to have people download the helen.dll file place it in their plugin directory and have it work.

Having them download wireshark and build it to get my plugin to run is probably too much effort I can get this to work on Linux with no problems. They download the helen.so file place it in the plugin directory and everything works fine.

Thanks again for all your help.

Brian



philippe alarcon wrote:
Hello Brian,

I have taken your code and created the plugin using my environment.
I have no problem to load your plugin.
Find here attached all the package.
May be you could check if the created dll works with your Wireshark.

Note that I have changed the directory used to get ports.txt in the source.

May be this can help you in solving your problem.

If you send an example of capture, I can check if your dissector is working correctly
with your protocol.

Regards
Philippe


Date: Fri, 27 Mar 2009 00:12:52 -0400
From: oleksab@xxxxxxxxxxxxxxxxxxxxxx
To: wireshark-dev@xxxxxxxxxxxxx
Subject: Re: [Wireshark-dev] dissector plugin help

Olivier (wsge)

I really appreciate your quick response.

I have added the following line to my Makefile.nmake
mt.exe -manifest helen.dll.manifest - outputresource:helen.dll;2

This does indeed create a helen.dll.manifest file. I take that along with the helen.dll
file and copy it into my plugins directory on another (deployment) machine.

I am still getting the error:
*"Couldn't load module", The specified module could not be found.*

Am I missing something here..?

Attached is all my code and files in the helen.zip file.
Also attached is my ports file that goes in the root of C:  (c:\ports.txt)

Some things have changed from my last e-mail.

I downloaded the source wireshark-1.1.2-SVN-26844.
I built wireshark using the Visual Studio 2005 Command prompt.
I put my plugin in place and it too builds fine and runs great on the development machine.
I have no problems running my software and dissecting packets.

But when I copy the helen.dll.manifest and the helen.dll to another machine I get **"Couldn't load module", The specified module could not be found.**

Any thoughts..?

Thank you very much for your help.

Brian


wsgd wrote:

    I think the answer is into your first mail :
    http://www.wireshark.org/lists/wireshark-dev/200902/msg00013.html

    To include the manifest inside the dll :

    mt.exe -manifest <dll_name>.dll.manifest - outputresource:<dll_name>.dll;2


    Also, into proto_reg_handoff_helen,
     if you have  many ports,
     you are calling many times :
    - data_handle = find_dissector("data");     ---> useless
- helen_handle = create_dissector_handle(dissect_helen, proto_helen); ---> I do not think it works


    Olivier

    Brian Oleksa a �crit :
        Olivier (wsgd)

I fixed the problem in the code that you found. Thanks again for finding this.
        I tested it on the development machine and it worked great.!!

I then took the created helen.dll file and dropped it on a deploy machine that is running the same version of wireshark that I developed against only to find that it "Couldn't load module", The specified module could not be found.

        Any suggestions or thoughts on this one..?

        Thanks again for all your help.

        Brian



        wsgd wrote:
            Hello,

            Into proto_reg_handoff_helen,
             you try to fopen("/root/ports", "r"),
             which certainly fails on windows,
             so you call exit(1).



            Olivier

            Brian Oleksa a �crit :
                Wiresharkers

I have followed these instructions: (I used both of these as one was more clear than the other on certain tasks).
                http://www.codeproject.com/KB/IP/custom_dissector.aspx
                http://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html

                I am using:

                MSVC_VARIANT=MSVC2008EE

I then verify_tools, install libraries (nmake -f Makefile.nmake setup), distclean and build wireshark with *NO *problems.

                I then test wireshark and it does indeed start up with *NO *problems.

                I then create my wireshark dissector code, make files etc.*
(NOTE: This runs on Linux FC-9 with NO problems. If I take the attached helen.zip file go to my linux box, do a make install and put the helen.so file in the plugin directory everything works fine.)
                *


                I drop my code in place. C:\wireshark\plugins\helen
                The name of my wireshark dissector is called helen.

                From the C:\wireshark\plugins\helen directory I do the following:
                nmake -f Makefile.nmake distclean
                nmake -f Makefile.nmake all

I have NO errors and it does indeed create a *helen.dll* file. (Which I believe is what I want).

                I drop this helen.dll file in the following directory:
                C:\wireshark\wireshark-gtk2\plugins\1.1.4HELEN-DISSECTOR

I start up wireshark (by invoking wireshark.exe) the splash screen appears for a second than disappears. So it never start up.
                It does not provide me with a error message.

                I tried the following work around (click on link below) but had NO luck.
                http://www.wireshark.org/lists/wireshark-dev/200902/msg00013.html

                So at this point...I am stuck.

Attached is all my code (helen.zip). Again, this same code works on my fedora core 9 box.

                Any help is greatly appreciated.

                Thank you

                Brian Oleksa
                Software Developer
                Dark Corner Software











                ------------------------------------------------------------------------

                ___________________________________________________________________________
                Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx> <mailto:wireshark-dev@xxxxxxxxxxxxx>
                Archives:    http://www.wireshark.org/lists/wireshark-dev
                Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
                             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
        ___________________________________________________________________________
        Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx> <mailto:wireshark-dev@xxxxxxxxxxxxx>
        Archives:    http://www.wireshark.org/lists/wireshark-dev
        Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
                     mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe



Votre correspondant a choisi Hotmail et profite d'un stockage quasiment illimit�. Cr�ez un compte Hotmail gratuitement ! <http://www.windowslive.fr/hotmail/default.asp>
------------------------------------------------------------------------

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe