1、IDA中如何处理TLS Callback Function
关于TLS Callback Function可以参见linux2linux的"线程局部储存隐藏的入口
点",http://blog.csdn.net/linux2linux/archive/2005/08/26/465634.aspx.
i)用Ctrl+E查找程序入口点,对于使用了TLS Callback的程序,会看到一个叫TlsCallback_o的函数。
ii)在Debugger->Debugger options->Stop on options下面选择在进程启动时挂起选项。
2、关于4.9新增的Universal PE Unpacker插件
"Using the Universal PE Unpacker Plug-in included in IDA Pro 4.9 to unpack compressed
executables."介绍了该插件的使用。
由于没有4.9 SDK,看不到插件的源码,很难了解其全部的工作。找了一个UPX加密的Delphi程序试验了
一下,确实脱壳成功了,可是很难导出。使用类似于下面的idc,
#include <idc.idc>
static main()
{
auto fp, ea;
fp = fopen("D://Tools//UPX0.bin", "wb");
for ( ea=0x401000; ea < 0x531000; ea++ )
fputc(Byte(ea), fp);
}
可以依次把segment都导出,但是恢复起来不好整。比如插件生成的import表并没有
IMAGE_IMPORT_DESCRIPTOR,只有具体每个函数的Thunk;资源恢复的.rsrc区也不对。
对于vc的程序我没有测试过,不过看介绍的文章应该是很好恢复,也没有必要导出了。不过delphi的程
序还是导出了,用dede看看比较方便的。目前我的感觉是这个插件还不好用。