codereason
codereason copied to clipboard
Complete Block Serialization
Writing blocks out to file (database) apparently isn't complete. When trying to use BlockExtract on the sample tests/ls32_ELF you can see it bail while serializing the blocks to write to disk.
It appears that some of the weirder 8bit registers for x86 are not implemented in serialization. I'm sure there's other things in serialization that need to be completed too.
Confirming x86 still broken: $ ./BlockExtract -f ../../tests/ELF/ls_x86 -a x86 --blocks-out asdf Extracting blocks... Executable section 1 of 2 Executable section 2 of 2 all sections read 37075 Register 0x526c0bf0 Assertion failed: (!"X86: Serialization for this register is not implemented yet"), function serializeRegister, file /Users/jay/codereason/libs/IR/Serial.cpp, line 414. Abort trap: 6
./BlockExtract --raw -a x86 -f /tmp/somewinx86.dll --blocks-out blcdb
Still broken: /src/codereason/libs/IR/Serial.cpp:414: void serializeRegister(Register, DModule::Register*, int): Assertion `!"X86: Serialization for this register is not implemented yet"' failed. Aborted