diasurgical / devilution-comparer

Small helper tool to aid comparing functions between devilution and the original binary
The Unlicense
21 stars 9 forks source link

Complete the function mapping #3

Closed seritools closed 6 years ago

seritools commented 6 years ago

You can find the size of the "function chunk" (since IDA doesn't treat that as an actual function) like this:

image

BTW: the rest of the unmapped functions in devilution:

WARN: Function 'FindRep' was not found in the config.
WARN: Function 'Expand' was not found in the config.
WARN: Function 'FlushBuf' was not found in the config.
WARN: Function 'OutputBits' was not found in the config.
WARN: Function '__SETS__' was not found in the config.
WARN: Function 'implode' was not found in the config.
WARN: Function 'GenDecodeTabs' was not found in the config.
WARN: Function 'explode' was not found in the config.
WARN: Function 'GenAscTabs' was not found in the config.
WARN: Function '__OFSUB__' was not found in the config.
WARN: Function 'DecodeDist' was not found in the config.
WARN: Function 'WriteCmpData' was not found in the config.
WARN: Function '$E1' was not found in the config.
WARN: Function '$E4' was not found in the config.
WARN: Function '$E5' was not found in the config.
WARN: Function '__ROL__' was not found in the config.
WARN: Function 'operator delete' was not found in the config.
WARN: Function '$E2' was not found in the config.
WARN: Function 'SortBuffer' was not found in the config.
WARN: Function 'WasteBits' was not found in the config.
WARN: Function 'DecodeLit' was not found in the config.

$E<number> are the c++ struct initializers, __NAME__ are IDA remains, and the rest are from the PKWare explore.cpp and implode.cpp.

seritools commented 6 years ago

Done! @galaxyhaxz hooked me up with his IDA db function list, in which he defined all the tail-call-functions as actual functions so that they appear in the functions window.