吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 221|回复: 5
上一主题 下一主题
收起左侧

[求助] 求助x64dbg如何调试dll文件?

[复制链接]
跳转到指定楼层
楼主
wwwfufei 发表于 2026-4-29 16:11 回帖奖励
大神们,请问x64dbg如何调试dll文件?dll文件用x64dbg打开后,f9两次就错误关闭了,执行到用户返回会停下来,但没有进入dll中,ctrl+b搜索二进制代码什么也搜索不到,用od载入dll则可以搜索到,那位大神能给个x64dbg调试dll的教程?多谢!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
xjkswjl 发表于 2026-4-29 23:30
dll是动态库,它没有进程,当然不能直接调试,你起码要有一个加载它的exe,看是怎么个加载方式,最好别是动态加载,这样你就可以直接去调试那个exe,在内存布局里就能看到加载的dll,就有了偏移地址了
当然,做这些之前,最好先用IDA分析一下dll大概的作用,最好能锁定某个函数,毕竟dll要开门接客,导出表是暴露的
有了大方向,就能根据偏移,计算函数的真实地址,过去下个断点,喝杯咖啡,坐等中断了
3#
 楼主| wwwfufei 发表于 2026-4-30 08:03 |楼主
如何像od那样静态打开修改呢?od打开的2进制值和2进制修改软件的一样,x64dg打开dll后也会像od一样加载,但值都和二进制修改软件不同,就是64位的dll,od打开提示错误?请大佬们指点下到底x64dbg如何打开dll静态修改?多谢!
4#
冥界3大法王 发表于 2026-5-3 18:16

@@wwwfufei

调试过类似 :
C:\Windows\SysWOW64\shell32.dll
C:\Windows\System32\shell32.dll
这样的文件吗?
以修改Windows自身功能F2改名为例
x32dbg.exe打开一个记事本作为宿主。。点打开,再点文件夹。。。按下F2键。。。找到Alt+E系统模块。。。(你得先知道提示关键字位于哪个文件吧)给可疑的下好断点。。。就能调试修改了。。。修改好之后超级爽。。。啥火凡人的提示都没了。。直接改扩展名。
5#
冥界3大法王 发表于 2026-5-3 18:24
仅供参考:
=====================
Win7x64 7601:
================================================================================================
000007FEFDD5D8AD | FF15 A53D1D00            | call qword ptr ds:[<&lstrlenW>]         |
000007FEFDD5D8B3 | 48:8BD7                  | mov rdx,rdi                             |
000007FEFDD5D8B6 | 48:63C8                  | movsxd rcx,eax                          |
000007FEFDD5D8B9 | 48:8D4424 60             | lea rax,qword ptr ss:[rsp+60]           |
000007FEFDD5D8BE | 66:89B44C 72020000       | mov word ptr ss:[rsp+rcx*2+272],si      |
000007FEFDD5D8C6 | 49:8BF7                  | mov rsi,r15                             | rsi:"Top of worker loop\n"
000007FEFDD5D8C9 | 48:8D4C24 60             | lea rcx,qword ptr ss:[rsp+60]           |
000007FEFDD5D8CE | 48:2BF0                  | sub rsi,rax                             | rsi:"Top of worker loop\n"
000007FEFDD5D8D1 | 45:33C0                  | xor r8d,r8d                             |
000007FEFDD5D8D4 | 48:8D82 FAFEFF7F         | lea rax,qword ptr ds:[rdx+7FFFFEFA]     |
000007FEFDD5D8DB | 49:3BC0                  | cmp rax,r8                              |
000007FEFDD5D8DE | 74 17                    | je shell32.7FEFDD5D8F7                  |
000007FEFDD5D8E0 | 0FB7040E                 | movzx eax,word ptr ds:[rsi+rcx]         | rsi+rcx*1:"016I64x\n   CapturedHandle = 0x%x\n"
000007FEFDD5D8E4 | 6641:3BC0                | cmp ax,r8w                              |
000007FEFDD5D8E8 | 74 0D                    | je shell32.7FEFDD5D8F7                  |
000007FEFDD5D8EA | 66:8901                  | mov word ptr ds:[rcx],ax                |
000007FEFDD5D8ED | 48:83C1 02               | add rcx,2                               |
000007FEFDD5D8F1 | 48:83EA 01               | sub rdx,1                               |
000007FEFDD5D8F5 | 75 DD                    | jne shell32.7FEFDD5D8D4                 |
000007FEFDD5D8F7 | 49:3BD0                  | cmp rdx,r8                              |
000007FEFDD5D8FA | 75 04                    | jne shell32.7FEFDD5D900                 |
000007FEFDD5D8FC | 48:83E9 02               | sub rcx,2                               |
000007FEFDD5D900 | 6644:8901                | mov word ptr ds:[rcx],r8w               |
000007FEFDD5D904 | 48:8D5424 60             | lea rdx,qword ptr ss:[rsp+60]           |
000007FEFDD5D909 | 49:8BCC                  | mov rcx,r12                             |
000007FEFDD5D90C | E8 17BFEAFF              | call <shell32.PathCleanupSpec>          |
000007FEFDD5D911 | 33D2                     | xor edx,edx                             |
000007FEFDD5D913 | 3BC2                     | cmp eax,edx                             |
000007FEFDD5D915 | 74 34                    | je shell32.7FEFDD5D94B                  |
000007FEFDD5D917 | 48:3BDA                  | cmp rbx,rdx                             |
000007FEFDD5D91A | 0F84 34020000            | je shell32.7FEFDD5DB54                  |
000007FEFDD5D920 | A8 08                    | test al,8                               |
000007FEFDD5D922 | 74 08                    | je shell32.7FEFDD5D92C                  |
000007FEFDD5D924 | 41:B8 7C180000           | mov r8d,187C                            |
000007FEFDD5D92A | EB 14                    | jmp shell32.7FEFDD5D940                 |
000007FEFDD5D92C | 49:8BCC                  | mov rcx,r12                             |
000007FEFDD5D92F | E8 1C40DCFF              | call <shell32.IsLFNDrive>               |
000007FEFDD5D934 | F7D8                     | neg eax                                 |
000007FEFDD5D936 | 4D:1BC0                  | sbb r8,r8                               |
000007FEFDD5D939 | 49:81C0 0E100000         | add r8,100E                             |
000007FEFDD5D940 | 41:B9 34100000           | mov r9d,1034                            |
000007FEFDD5D946 | E9 F1010000              | jmp shell32.7FEFDD5DB3C                 |
000007FEFDD5D94B | 48:8D4C24 60             | lea rcx,qword ptr ss:[rsp+60]           |
000007FEFDD5D950 | 48:8D87 FAFEFF7F         | lea rax,qword ptr ds:[rdi+7FFFFEFA]     |
000007FEFDD5D957 | 48:3BC2                  | cmp rax,rdx                             |
000007FEFDD5D95A | 74 16                    | je shell32.7FEFDD5D972                  |
000007FEFDD5D95C | 0FB7040E                 | movzx eax,word ptr ds:[rsi+rcx]         | rsi+rcx*1:"016I64x\n   CapturedHandle = 0x%x\n"
000007FEFDD5D960 | 66:3BC2                  | cmp ax,dx                               |
000007FEFDD5D963 | 74 0D                    | je shell32.7FEFDD5D972                  |
000007FEFDD5D965 | 66:8901                  | mov word ptr ds:[rcx],ax                |
000007FEFDD5D968 | 48:83C1 02               | add rcx,2                               |
000007FEFDD5D96C | 48:83EF 01               | sub rdi,1                               |
000007FEFDD5D970 | 75 DE                    | jne shell32.7FEFDD5D950                 |
000007FEFDD5D972 | 33F6                     | xor esi,esi                             | esi:"Top of worker loop\n"
000007FEFDD5D974 | 48:3BFE                  | cmp rdi,rsi                             | rsi:"Top of worker loop\n"
000007FEFDD5D977 | 75 04                    | jne shell32.7FEFDD5D97D                 |
000007FEFDD5D979 | 48:83E9 02               | sub rcx,2                               |
000007FEFDD5D97D | 66:8931                  | mov word ptr ds:[rcx],si                |
000007FEFDD5D980 | 48:8D4C24 60             | lea rcx,qword ptr ss:[rsp+60]           |
000007FEFDD5D985 | FF15 C5481D00            | call qword ptr ds:[<&PathRemoveBlanksW> |
000007FEFDD5D98B | 44:0FB75C24 60           | movzx r11d,word ptr ss:[rsp+60]         |
000007FEFDD5D991 | 41:B8 2E000000           | mov r8d,2E                              | 2E:'.'
000007FEFDD5D997 | 6645:3BD8                | cmp r11w,r8w                            |
000007FEFDD5D99B | 0F85 E1010000            | jne shell32.7FEFDD5DB82                 |
000007FEFDD5D9A1 | 48:8D4424 60             | lea rax,qword ptr ss:[rsp+60]           |
000007FEFDD5D9A6 | 48:8BCE                  | mov rcx,rsi                             | rsi:"Top of worker loop\n"
000007FEFDD5D9A9 | 66:3930                  | cmp word ptr ds:[rax],si                |
000007FEFDD5D9AC | 74 2A                    | je shell32.7FEFDD5D9D8                  |
000007FEFDD5D9AE | 0FB710                   | movzx edx,word ptr ds:[rax]             |
000007FEFDD5D9B1 | 83FA 20                  | cmp edx,20                              | 20:' '
000007FEFDD5D9B4 | 74 0E                    | je shell32.7FEFDD5D9C4                  |
000007FEFDD5D9B6 | 41:3BD0                  | cmp edx,r8d                             |
000007FEFDD5D9B9 | 0F84 BB010000            | je shell32.7FEFDD5DB7A                  |
000007FEFDD5D9BF | 83FA 5C                  | cmp edx,5C                              | 5C:'\\'
000007FEFDD5D9C2 | 75 03                    | jne shell32.7FEFDD5D9C7                 |
000007FEFDD5D9C4 | 48:8BCE                  | mov rcx,rsi                             | rsi:"Top of worker loop\n"
000007FEFDD5D9C7 | 48:8D9424 68020000       | lea rdx,qword ptr ss:[rsp+268]          |
000007FEFDD5D9CF | 48:83C0 02               | add rax,2                               |
000007FEFDD5D9D3 | 48:3BC2                  | cmp rax,rdx                             |
000007FEFDD5D9D6 | 72 D1                    | jb shell32.7FEFDD5D9A9                  |
000007FEFDD5D9D8 | 48:8D9424 68020000       | lea rdx,qword ptr ss:[rsp+268]          |
000007FEFDD5D9E0 | 48:3BC2                  | cmp rax,rdx                             |
000007FEFDD5D9E3 | 73 15                    | jae shell32.7FEFDD5D9FA                 |
000007FEFDD5D9E5 | 48:3BCE                  | cmp rcx,rsi                             | rsi:"Top of worker loop\n"
000007FEFDD5D9E8 | 48:0F45C1                | cmovne rax,rcx                          |
000007FEFDD5D9EC | 48:8D4C24 60             | lea rcx,qword ptr ss:[rsp+60]           |
000007FEFDD5D9F1 | 48:3BC1                  | cmp rax,rcx                             |
000007FEFDD5D9F4 | 0F84 99010000            | je shell32.7FEFDD5DB93                  |
000007FEFDD5D9FA | 49:8BCE                  | mov rcx,r14                             | r14:"Wait completed with STATUS_USER_APC\n"
000007FEFDD5D9FD | FF15 0D4A1D00            | call qword ptr ds:[<&PathFindExtensionW |
000007FEFDD5DA03 | 45:33F6                  | xor r14d,r14d                           | r14d:"Wait completed with STATUS_USER_APC\n"
000007FEFDD5DA06 | BF 34100000              | mov edi,1034                            |
000007FEFDD5DA0B | 48:8BF0                  | mov rsi,rax                             | rsi:"Top of worker loop\n"
000007FEFDD5DA0E | 6644:3930                | cmp word ptr ds:[rax],r14w              |
000007FEFDD5DA12 | 0F84 9A000000            | je shell32.7FEFDD5DAB2                  |
000007FEFDD5DA18 | 48:8D4C24 60             | lea rcx,qword ptr ss:[rsp+60]           |
000007FEFDD5DA1D | FF15 ED491D00            | call qword ptr ds:[<&PathFindExtensionW |
000007FEFDD5DA23 | 41:8D56 01               | lea edx,qword ptr ds:[r14+1]            | r14+1:"ait completed with STATUS_USER_APC\n"
000007FEFDD5DA27 | 41:83C9 FF               | or r9d,FFFFFFFF                         |
000007FEFDD5DA2B | 44:894C24 28             | mov dword ptr ss:[rsp+28],r9d           |
000007FEFDD5DA30 | 8D4A 7E                  | lea ecx,qword ptr ds:[rdx+7E]           |
000007FEFDD5DA33 | 4C:8BC6                  | mov r8,rsi                              | rsi:"Top of worker loop\n"
000007FEFDD5DA36 | 48:894424 20             | mov qword ptr ss:[rsp+20],rax           |
000007FEFDD5DA3B | FF15 973D1D00            | call qword ptr ds:[<&CompareStringW>]   |
000007FEFDD5DA41 | 83F8 02                  | cmp eax,2                               |
000007FEFDD5DA44 | 74 6C                    | je shell32.7FEFDD5DAB2                  |
000007FEFDD5DA46 | 48:8D8C24 70020000       | lea rcx,qword ptr ss:[rsp+270]          |
000007FEFDD5DA4E | FF15 C4411D00            | call qword ptr ds:[<&PathIsDirectoryW>] |
000007FEFDD5DA54 | 41:3BC6                  | cmp eax,r14d                            | r14d:"Wait completed with STATUS_USER_APC\n"
000007FEFDD5DA57 | 75 59                    | jne shell32.7FEFDD5DAB2                 |
000007FEFDD5DA59 | 48:8D4424 50             | lea rax,qword ptr ss:[rsp+50]           |
000007FEFDD5DA5E | 41:8D56 01               | lea edx,qword ptr ds:[r14+1]            | r14+1:"ait completed with STATUS_USER_APC\n"
000007FEFDD5DA62 | 45:33C9                  | xor r9d,r9d                             |
000007FEFDD5DA65 | 4C:8BC6                  | mov r8,rsi                              | rsi:"Top of worker loop\n"
000007FEFDD5DA68 | 33C9                     | xor ecx,ecx                             |
000007FEFDD5DA6A | 48:894424 20             | mov qword ptr ss:[rsp+20],rax           |
000007FEFDD5DA6F | FF15 EB461D00            | call qword ptr ds:[<&AssocQueryKeyW>]   |
000007FEFDD5DA75 | 41:3BC6                  | cmp eax,r14d                            | r14d:"Wait completed with STATUS_USER_APC\n"
000007FEFDD5DA78 | 7C 38                    | jl shell32.7FEFDD5DAB2                  |
000007FEFDD5DA7A | 48:8B4C24 50             | mov rcx,qword ptr ss:[rsp+50]           |
000007FEFDD5DA7F | FF15 A33A1D00            | call qword ptr ds:[<&RegCloseKey>]      |
000007FEFDD5DA85 | 49:3BDE                  | cmp rbx,r14                             | r14:"Wait completed with STATUS_USER_APC\n"
000007FEFDD5DA88 | 74 28                    | je shell32.7FEFDD5DAB2                  | ===================>1)7428=>EB28
000007FEFDD5DA8A | 48:8B0D 2F7F2800         | mov rcx,qword ptr ds:[7FEFDFE59C0]      |
000007FEFDD5DA91 | 44:8D47 DC               | lea r8d,qword ptr ds:[rdi-24]           |
000007FEFDD5DA95 | 4C:8BCF                  | mov r9,rdi                              |
000007FEFDD5DA98 | 48:8BD3                  | mov rdx,rbx                             |
000007FEFDD5DA9B | C74424 20 34000000       | mov dword ptr ss:[rsp+20],34            | 34:'4'
000007FEFDD5DAA3 | FF15 EF481D00            | call qword ptr ds:[<&ShellMessageBoxW>] |
6#
 楼主| wwwfufei 发表于 2026-5-5 20:16 |楼主
冥界3大法王 发表于 2026-5-3 18:24
仅供参考:
=====================
Win7x64 7601:

感谢大神的指点,多谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-6 15:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表