牛肉怎么才能炖烂:在反汇编里面怎么查看调用dll的代码

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 23:16:56
我现在想找到程序调用dll的代码的地方,把调用的dll的名字改了.
在反汇编中查找到相应的汇编语句怎么修改?用什么工具修改?

用的是原来的dll,只是想把dll的名字改了,然后在调用程序中也改了相应dll的名字而已.

只是我在exe主程序中找不到调用dll的名字.是不是因为程序加密的原因呢??

如果你是希望使用修改、破解过的某个dll,那可以直接把名字改成原来那个就可以了。如果你希望改调用者,那问题比较难办,给你一个动态调用dll和汇编程序对照的例子,你从反汇编里面查找相应汇编语句修改,注意修改过的dll,其导出的函数与原先dll导出的函数形式上不能有差异。

15: int (*pFun)(int n);
16: HMODULE a=LoadLibrary("TestDll.dll");
0040B7B8 mov esi,esp
0040B7BA push offset string "TestDll.dll" (00420034)
0040B7BF call dword ptr [__imp__LoadLibraryA@4 (0042513c)]
0040B7C5 cmp esi,esp
0040B7C7 call __chkesp (00401140)
0040B7CC mov dword ptr [ebp-8],eax
17: pFun=(int (*)(int))GetProcAddress(a,"?func2@@YAHH@Z");
0040B7CF mov esi,esp
0040B7D1 push offset string "?func2@@YAHH@Z" (00420020)
0040B7D6 mov eax,dword ptr [ebp-8]
0040B7D9 push eax
0040B7DA call dword ptr [__imp__GetProcAddress@8 (00425138)]
0040B7E0 cmp esi,esp
0040B7E2 call __chkesp (00401140)
0040B7E7 mov dword ptr [ebp-4],eax

ps,你可以尝试用win32asm反汇编