hacking contest

hacking exploits security forum
hacking
compliance articles
upgrade backup exec
information security consultant

agamemnon
Just thoughts rather than a solution.

How do .EXE binders actually work?

Do they just create an archive with a little except of code at the begining that says 'unzip these programs into memory and then run them both'

Or...

Do they take the HEX of the two programs and then stick a little in between the two before combining them as one? - That is to say: (in my best C++ biggrin.gif )?

[PROGRAM1.EXE]
<-- [HEX CODE THAT SAYS RUN PROG2]
[PROGRAM2.EXE]

I would very much like to learn how these binder programs work so that I can move yet further away 3rd party software that I just don't trust; also, it's pretty interesting!

-ed.
Maffuster
I'd say they run more like your second example (although the first isn't impossible).

I would take program 2, and append it onto the end of program 1. At some point in program one's code, I would move the execution pointer into program two's code. Program two wouldn't able to be run "normally", since it's piggybacking onto program one, so the only way it would be able to run is by program one passing the execution pointer into program two's space.
agamemnon
Well, if that's the case can't we write some hex that would execute this transition? Surley it'd be pretty simple...? Also, it'd have the advantage of being wholly unique, thus avoiding NAV etc - well, at least for today!

-ed.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.

 
Invision Power Board © 2001-2005 Invision Power Services, Inc.