01-29-2020, 01:14 PM
和裸数据不一样,PE文件是有元数据的,所以想还原出一个完全相同的PE文件是有难度的,只能还原出一个功能相同的文件。
一个难点在于工具链,winegcc只能把C代码变成链接到libwine的so文件,mingw的工具链倒是可以把ELF的目标文件链接成PE,但是Windows API的符号名不知道为什么要改动。
其他的工作和r2dumpbin的做法应该类似,而且PE文件有分段信息,应该更容易区分代码和数据。
一个难点在于工具链,winegcc只能把C代码变成链接到libwine的so文件,mingw的工具链倒是可以把ELF的目标文件链接成PE,但是Windows API的符号名不知道为什么要改动。
其他的工作和r2dumpbin的做法应该类似,而且PE文件有分段信息,应该更容易区分代码和数据。