Delta Virtual Airlines Water Cooler | PC Support |
OT - Editing DLL calls in an EXE |
DVA8422
First Officer, B737-800
Joined on October 10 2005
DVA Ten-Year Anniversary
SeaTac, WA USA
49 legs, 81.1 hours
5 legs,
7.5 hours online 49 legs,
81.1 hours ACARS
|
Posted onPost created on
May 26 2010 14:59 ET by Cole Byre
|
Hey guys, very off topic question here...I think some of you guys might have the smarts to help me though:
I have an exe that I'm editing with PE Explorer, because I need to change what the exe is calling for out of certain DLLs.
Wow that hardly even makes sense to me just reading it...
Does anyone understand? Can anyone help?
|
DVA3931
Senior Captain, L-1011-100
OLP, COMM
Joined on January 19 2007
50 State Club
Tri-Jet Triumph
Million Mile Club
Online Quadruple Century Club
Flying Colonel
Globetrotter
Burbank 500 Club
Eurocap Club
DVA Fifteen-Year Anniversary
"De oppresso liber" Surry, ME
1,882 legs, 3,806.7 hours
478 legs,
767.8 hours online 1,107 legs,
1,674.5 hours ACARS 55 legs,
114.8 hours event 195 legs dispatched, 134.4
hours
|
Posted onPost created on
May 26 2010 17:40 ET by Andrew Kaufmann
|
Pretty sure you have to use the Disassembler to get that to do what you want.
This link may help as well:
http://keeper.lubie.org/other_docs/change_exe_to_dll.htm
|
DVA8422
First Officer, B737-800
Joined on October 10 2005
DVA Ten-Year Anniversary
SeaTac, WA USA
49 legs, 81.1 hours
5 legs,
7.5 hours online 49 legs,
81.1 hours ACARS
|
Posted onPost created on
May 26 2010 22:13 ET by Cole Byre
|
Well what I really need, is to find out how to remove a DLL dependency from an EXE. I see that this EXE has multiple DLL dependencies linked to it, but there doesn't seem to be a way to unlink them!
|
DVA7338
Captain, B747-400
E-MAIL
Joined on May 17 2009
"Thou shalt maintain thy airspeed." Faridabad, Haryana India
60 legs, 151.3 hours
49 legs,
135.1 hours online 58 legs,
145.2 hours ACARS
|
Posted onPost created on
May 27 2010 02:29 ET by Gurmeet Arora
|
Cole,
I don't think you can do that, or it makes the right programming approach.
Basically the exe is asking for the dependency because inside the exe is some code that is trying to use some classes that are packaged inside a dll separately.
To execute the block of code, it needs those dependent classes otherwise it cannot work.
To answer your immediate question, try Visual Studio Express from Microsoft. If you know the language you can download only specific sub-components else download the full (would be around 1 GB, the last time I checked). Here you should be able to see the exe and all it's dependencies and 'might' find a way to remove the dependency, although I am sure that once you do it, the whole project will be red since there are unsatisfied references now.
My best advice, however, is to give the dll it wants (you can google for it), satisfy whatever dependencies it has, and move along.
|
DVA8422
First Officer, B737-800
Joined on October 10 2005
DVA Ten-Year Anniversary
SeaTac, WA USA
49 legs, 81.1 hours
5 legs,
7.5 hours online 49 legs,
81.1 hours ACARS
|
Posted onPost created on
May 27 2010 10:45 ET by Cole Byre
|
Thanks Gurmeet.
Ahh I'm too much of a newbie at this stuff! I'll try to be a little more specific with my problem:
I have an app exe, with a bunch of dlls in it's folder that work fine. We'll call them DVA.exe - 1.dll - 2.dll. *This app works.
As a school project, I have to create a fictional "patch" for this program, that adds an updated "1.dll, and 2.dll."
Phew...deep breath, everyone still awake?
I've been given these updated dlls, already made. However! I cannot just simply replace the dlls, because they have new and updated classes. I've ALSO been given a new app exe with all of the new dll classes written. BUT, they haven't made it that easy. The new app exe has a brand new dependency and class calls written in it, for "P.dll".
This means I need to edit the class calls in the old exe, and paste in the new class calls for 1.dll and 2.dll. Then simply save it, and copy in the new dlls. I can't just copy in the new exe, because of P.dll's dependency, because I don't have it - and because that'd be cheating! Lol.
My only problem is, finding out how to edit these dll classes that are being called by the exe. I've tried opening the exe in notepad and replacing the dll code with the new dll code (minus the p.dll section), but that totally seems to wipe the exe. I lose my icon, resources, everything. It can't even be disassembled. I've tried a hex editor too, but it doesn't seem like it works well.
Alright! So with that major description out of the way - how on earth can I get these new dll class codes into the old exe, so the old exe can use the new dlls!
|
DVA7338
Captain, B747-400
E-MAIL
Joined on May 17 2009
"Thou shalt maintain thy airspeed." Faridabad, Haryana India
60 legs, 151.3 hours
49 legs,
135.1 hours online 58 legs,
145.2 hours ACARS
|
Posted onPost created on
May 27 2010 13:31 ET by Gurmeet Arora
|
It's not as simple as replacing files, that will get the job done. You have class references in side that will need to be properly managed for the new combination.
Get Visual Studio, explore it a bit and if possible get hold of someone that knows .NET programming. There you can attach exe and dll and peek inside. That's the start. Then it depends on how the internal programming has taken place, but managing dependencies should not be a big deal.
|
DVA8422
First Officer, B737-800
Joined on October 10 2005
DVA Ten-Year Anniversary
SeaTac, WA USA
49 legs, 81.1 hours
5 legs,
7.5 hours online 49 legs,
81.1 hours ACARS
|
Posted onPost created on
May 27 2010 14:20 ET by Cole Byre
|
Thanks Gurmeet I'll give that a try. Really appreciate it. Thanks Andrew -- I did the Disassembler you were talking about? The problem is it only lets you view what you've Disassembled! Very frustrating. You'd think there would be a program somewhere out there that'd let you Disassemble an exe to see it's DLL references in an easy and organized fashion, edit it's import or export DLL procedures, save it, and go! Then again, I know next to nothing about this stuff.
I'll let you guys know how everything goes.
|