Datalog Disassemblygithub.com/GrammaTech 67 pointsaboardRat41 month ago6 commentsSaveHideCopy link On HNComments−aboardRat4OP1moHN does not seem to have discussed ddisasm enough.When I discovered it, I was amazed, astonished, stunned, thrilled, and in disbelief.It turns out that it actually works.−saagarjha1moWhy is it amazing?−BobbyTables21moHow does this actually work in practice?I suppose altering instruction count or size still dooms the executable to become non-functional?Or do all absolute & relative code & data references all get magically updated?−saidnooneever1moelf and pe have relocation info so u can patch things effectively. binary blobs might be problematic but project targets elf/pe from what i can tell.there is no magic in computer -_-−not_a91moGenerally binary rewriters will add a new section for the rewritten code/other stuff that needs regeneration (relocations, exception info, the like)−sterlind1moooh souffle! wonder how they avoid saturation explosion. that's doomed my souffle projects in the past. but obviously they've found a way to partition (maybe by block?)
Comments
HN does not seem to have discussed ddisasm enough.
When I discovered it, I was amazed, astonished, stunned, thrilled, and in disbelief.
It turns out that it actually works.
Why is it amazing?
How does this actually work in practice?
I suppose altering instruction count or size still dooms the executable to become non-functional?
Or do all absolute & relative code & data references all get magically updated?
elf and pe have relocation info so u can patch things effectively. binary blobs might be problematic but project targets elf/pe from what i can tell.
there is no magic in computer -_-
Generally binary rewriters will add a new section for the rewritten code/other stuff that needs regeneration (relocations, exception info, the like)
ooh souffle! wonder how they avoid saturation explosion. that's doomed my souffle projects in the past. but obviously they've found a way to partition (maybe by block?)