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.
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.
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
Brian Oleksa a écrit :
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.
Into proto_reg_handoff_helen, you try to fopen("/root/ports", "r"), which certainly fails on windows, so you call exit(1).
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.