我有注入进程的内存转储。但是恶意软件会动态加载库/函数,我需要解决这个问题。例如,如果恶意软件将使用 createThread,首先使用 getprocaddress 获取该函数的地址,然后将指针保存在一个变量中。调用函数使用变量。
所以我需要解析动态地址来反汇编。我该怎么做?
我有注入进程的内存转储。但是恶意软件会动态加载库/函数,我需要解决这个问题。例如,如果恶意软件将使用 createThread,首先使用 getprocaddress 获取该函数的地址,然后将指针保存在一个变量中。调用函数使用变量。
所以我需要解析动态地址来反汇编。我该怎么做?
您可以编写一个脚本,该脚本将获取所有外部参照,GetProcAddress然后依次检查GetProcAddress第二个参数,lpProcName然后按照反汇编跟踪返回值eax到第一个内存写入,例如mov dword ptr [unknown_ptr], eax并重命名指针。
如需灵感,请查看 IDAscope 插件:https : //hex-rays.com/contests/2012/index.shtml#idascope 或 funcap https://hex-rays.com/contests/2013/index.shtml#funcap