问题
你能告诉我一种使用 IDA pro 通过 rundll32.exe 调试具有特定参数的 DLL 导出函数的方法吗?
rundll32.exe 调用带有无意参数的导出函数。
细节
我在进程选项中使用了以下设置来调试 Windows10(x64) 中的 32 位 DLL。
应用程序:C:\Windows\SysWOW64\rundll32.exe
输入文件:C:\Users\xxxx\AppData\Local\Temp\92D7.dll
目录:C:\Users\xxxx\AppData\Local\Temp
参数:C:\Users\xxxx\AppData\Local\Temp\92D7.dll,abc arg1 arg2
开始调试后,我可以在堆栈中看到从 rundll32 传递的参数。
第一个参数:从 CreateWindowExA() 返回的窗口处理程序
第二个参数:DLL 的 BaseImage
第三个参数:指向“arg1 arg2”的指针
第 4 个参数:“arg1 arg2”的大小
这就是为什么,导出函数被调用如下。
abc(hwnd, baseImage, "arg1 arg2", sizeof("arg1 arg2"));
我想知道如何称呼它如下。
abc("arg1", "arg2");
如果无法通过rundll32,我将编译一个简单的二进制文件来调用它。