PDA

View Full Version : How do Programs modify EXEs?


Markpyro
12-03-2006, 8:54 PM
Such as the Wacraft no-cd hacks (yes, I use them, because it's annoying to find the disc) that create a modified copy of the Warcraft EXE so that it doesnt look for the disk on startup? How is it possible to dissect an already-compiled executable and change it to have different behavior?


-MP


http://pyrom.net/sigs/manual/hr.png
http://pyrom.net/sigs/manual/sigimage.png
*http://pyrom.net/test/blamecountimage.php*http://pyrom.net/test/lastblameimage.php*
http://pyrom.net/test/blameclick.png (http://pyrom.net/test/blame.php)

Jeff
12-03-2006, 9:07 PM
I think usually the initial exe that is run and does the disc checking is relatively small, so there is not much to reverse engineer (http://en.wikipedia.org/wiki/Reverse_engineering) (with a decompiler or other tools). They just write their own exe that does everything the old one did except the disc check, or figure out where to hex edit the original exe to prevent the check from happening. That's a very basic explanation and about all I know on the subject :)

(Of course, pirated software is illegal and not condoned here, but if you own it legally I don't see why you shouldn't be able to bypass disc checks.)

Markpyro
12-03-2006, 10:09 PM
It was the first example that came to mind, really. I was just thinking of modifying a feature of BitLord where at a certain time it would stop all downloading torrents so that It wouldn't suck bandwidth during the day when it's needed for work, or limit how much it could download for a certain period of time, etc. But really, it seems this would take more work as reverse engineering isn't too simple, from what I've seen :/.


http://pyrom.net/sigs/manual/hr.png
http://pyrom.net/sigs/manual/sigimage.png
*http://pyrom.net/test/blamecountimage.php*http://pyrom.net/test/lastblameimage.php*
http://pyrom.net/test/blameclick.png (http://pyrom.net/test/blame.php)

Black.Ice
12-05-2006, 9:23 PM
Another way I've heard of this being done is to check the memory, and modify that. For example, when the program runs, they might be able to modify a boolean value or something in your memory, making it think the disc is already there.

That's how hacks are made, which is why you have to run them separately. For something that replaces a file, I'm going with Jeff.

bluemicrobyte
12-06-2006, 12:41 AM
It was the first example that came to mind, really. I was just thinking of modifying a feature of BitLord where at a certain time it would stop all downloading torrents so that It wouldn't suck bandwidth during the day when it's needed for work, or limit how much it could download for a certain period of time, etc. But really, it seems this would take more work as reverse engineering isn't too simple, from what I've seen :/.


http://pyrom.net/sigs/manual/hr.png
http://pyrom.net/sigs/manual/sigimage.png
*http://pyrom.net/test/blamecountimage.php*http://pyrom.net/test/lastblameimage.php*
http://pyrom.net/test/blameclick.png (http://pyrom.net/test/blame.php)

Azureus is another bittorrent program that has an addon that lets you control the download/upload rate on a timed schedule. That might make life easier for you =P (sorry, I don't remembe where to get the addon or what it's called, but I do know it exists and works).

As for no-CD hacking I've always just found it easier to create an image of the CD and mount it on a virtual drive :P

Markpyro
12-06-2006, 12:14 PM
I searched for the addon on Google, but couldnt find anything within a few minutes. If you ever find it again, let me know. But until then, I'll keep looking.
I also mount CD's, but difficulties with it not always working with some programs or being slightly laggy caused me to use the CD hacks for Warcraft.

@ BI- I'll have to figure out how to do that :P



http://pyrom.net/sigs/manual/hr.png
http://pyrom.net/sigs/manual/sigimage.png
*http://pyrom.net/test/blamecountimage.php*http://pyrom.net/test/lastblameimage.php*
http://pyrom.net/test/blameclick.png (http://pyrom.net/test/blame.php)

Neo
12-11-2006, 7:54 AM
uTorrent does this pretty easily...

-Kupa

Basan
12-11-2006, 2:27 PM
uTorrent does this pretty easily...

Yeah, my only problem with it is what to do after I set the url in it (copy-pasted or even in files form) and hit start. No matter what, the app always seems to have this ditch f**k whatever he's goal is. :P

Maybe a tiny tutorial is in order. If so, I'd be so much obliged. ;)

Neo
12-11-2006, 4:45 PM
...I'm confused, how can you have problems with uTorrent? It's basically like any other client, though smaller and less of a hog. You set the connection stuff correctly, and any other settings you need/want and off you go. My current stats with it is like 79/144 gigs (up/down).

Heh. Anyways, theres even a choice for something like "upload speed when your not downloading" you can limit it, or set it to 0 to stop the torrent when its finished (though I don't suggest you do that, since seeding is always helpful).

-Kupa

bluemicrobyte
12-11-2006, 10:42 PM
I searched for the addon on Google, but couldnt find anything within a few minutes. If you ever find it again, let me know. But until then, I'll keep looking.
I also mount CD's, but difficulties with it not always working with some programs or being slightly laggy caused me to use the CD hacks for Warcraft.

@ BI- I'll have to figure out how to do that :P

Found it :)

http://azureus.sourceforge.net/plugin_details.php?plugin=SpeedScheduler

Basan
12-12-2006, 5:28 PM
...I'm confused, how can you have problems with uTorrent? It's basically like any other client, though smaller and less of a hog. You set the connection stuff correctly, and any other settings you need/want and off you go. My current stats with it is like 79/144 gigs (up/down).

Heh. Anyways, theres even a choice for something like "upload speed when your not downloading" you can limit it, or set it to 0 to stop the torrent when its finished (though I don't suggest you do that, since seeding is always helpful).

Ok, I admit it. Am a klutz around it. :P It less than intuitive to me when compared to other P2P apps, like Shareazaa.
Anyway, will try to lose some time and see it thoroughly. :)