Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>It obviously was segmented into translation units when it was originally compiled, but nothing really cares about those boundaries at the linking stage. (Of course, you probably want to try to figure it out if possible, since it will probably be very hard to do a matching decompilation if your object boundaries are incorrect.)

Can you expound on this? Why are the boundaries not important at the linking stage - aren't you linking the wrong code then? Or did I not understand the point here?



The boundaries aren't important during delinking, as long as you do not cut across a variable or function. To the linker, sections are just arrays of bytes. It doesn't care what's inside those, all it has to do is lay them out in memory and apply relocations.

How you decide to slice up the original program is up to you. It doesn't have to follow the boundaries from the original object files.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: