Post-ID: thread-20150720223057-qdb-310817 Created-At: 2015-07-20T22:30:57Z Board-Tags: general Imported-Score-Seed: 63 Imported-Vote-Count-Seed: 85 (Foone) did you hear about how my OBJ export system worked? that was the... software centipede (Foone) so I ran the target program in a debugger inside a VM, pausing on a specific breakpoint. I also ran script in the VM that provided HTTP access to RAM, so you could hit localhost:8080/ADDRESS/LENGTH and get the contents of memory back (Sotek) what (Sotek) what. (Foone) outside the VM I ran a script which connected to this and made a few hundred requests and assembled the contents into a tree, which it then exposed as a JSON endpoint (Foone) then my opengl app (also running outside the VM, because 3d acceleration) made a request to the JSON endpoint, loaded those models and textures, then it would run the render function in a special mode where instead of drawing each node it stored them to a global dictionary, then reparsed that dictionary and exported it as an OBJ file, which I then opened in blender, made manual fixes, exported back out to STL, ran a script to package the STL + assorted textures, then I manually uploaded that to shapeways which did further processing and then they mailed me the completed model (Foone) fun fact: the OS/2 mailing list CD of 1996 was involved in this process, but you'll never guess where (Foone) it was used in setting the breakpoint. see, the program was statically linked with the 3D library used but I have no debugging symbols. but I found a copy of the same(ish) library from the OS/2 developers conference mailing list CD, which is provided in .lib format so I _do_ have symbols (Foone) so by comparing the disassembly of the functions in the OS/2 .lib and the EXE, I could identify them in the EXE (Foone) this let me find where the main render function was called, so I know at what point to set the breakpoint (Foone) I also got the headers from it, which gave me the layout of the structures in memory. (Foone) I already kinda had those thanks to a carmageddon fansite, though (Foone) yeah. carmageddon 1 for DOS used the same engine as the app I was targeting (Foone) and they found an SDK manual for it from somewhere