I don’t know how I didn’t find this earlier, and how it’s been overlooked for so long….
But this incredible program, LINE, will run statically linked Linux ELF binaries on Windows.
Yes, you read that right, this user mode program will load an ELF exe, and run it under a software debugger with no need for device drivers, and intercept all the sycalls (ie int 0x80’s) through the cygwin1.dll, giving you a POSX/Command line linux experience.
It does come bundled with various hello programs, and a few things on testing forks… But the real magic for me was being able to grab a static version of dungeon, and running it on both Windows 7 x64, and emulated NT 4.0.
And it works!
I’ve put my copy of dungeon, along with a copy of cygwin1.dll that works with the LINE package here for anyone interested.
I’m just amazed at the size, and simplicity of the whole thing…..
In the documentation there is even mentions of NSO (Native shared objects?), and dynamic linking…
Clearly this project should have had more of a future to it!
Heh, I remember playing with Line years ago. IIRC, even an early version of Opera worked.
I messed around with this a few years ago (2005?). It freaked me out that it WORKED.
Heh. If it only intercepts int 0x80s, it isn't going to work with modern binaries that use the faster sysenter interface.
yeah, it changes the int 0x80's for break points, as it runs the linux exe's as a debugger…
I'd suppose it could always be 'fixed' to intercept the new call method, but… that sounds like work 😉