关于RegCreateKeyExA的隶属问题
如题,我下了RegCreateKeyExA断点后为什么有的系统是advapi32.dll ==> RegCreateKeyExA
而有的是
kernel32.dll ==> RegCreateKeyExA
系统都是x64, byh3025 发表于 2024-7-4 15:03
那kernel32.RegCreateKeyExA断不下来而advapi32.RegCreateKeyExA能是调试器的问题呢还是系统问题呢?感觉 ...
000007FEFE3C4730 | 4 | sub rsp,58 |
000007FEFE3C4734 | 4 | mov rax,qword ptr ss: | :L"C:\\Windows\\winsxs\\amd64_microsoft-windows-registry-editor_31bf3856ad364e35_6.1.7600.16385_none_5023a70bf589ad3e\\regedit.exe"
000007FEFE3C473C | 4 | mov qword ptr ss:,rax |
000007FEFE3C4741 | 4 | mov rax,qword ptr ss: |
000007FEFE3C4749 | 4 | mov qword ptr ss:,rax |
000007FEFE3C474E | 4 | mov rax,qword ptr ss: |
000007FEFE3C4756 | 4 | mov qword ptr ss:,rax |
000007FEFE3C475B | 8 | mov eax,dword ptr ss: |
000007FEFE3C4762 | 8 | mov dword ptr ss:,eax |
000007FEFE3C4766 | 8 | mov eax,dword ptr ss: |
000007FEFE3C476D | 8 | mov dword ptr ss:,eax |
000007FEFE3C4771 | E | call <JMP.&RegCreateKeyExA> |
000007FEFE3C4776 | 4 | add rsp,58 |
000007FEFE3C477A | C | ret |
000007FEFE3C4700 | F | jmp qword ptr ds:[<&RegCreateKeyExA>] |
000007FEFE3C4706 | 4 | mov dword ptr ds:,esi |
000007FEFE3C470A | E | jmp advapi32.7FEFE3C446D |
因为这边有个IAT数据,只要改写他的值,跳转到哪他说了算 JuncoJet 发表于 2024-7-4 14:56
从代码看kernel32.RegCreateKeyExA是advapi32.RegCreateKeyExA的底层
kernel32.RegCreateKeyExW是advapi32 ...
那kernel32.RegCreateKeyExA断不下来而advapi32.RegCreateKeyExA能是调试器的问题呢还是系统问题呢?感觉应该是系统问题,我打补丁是hookadvapi32.RegCreateKeyExA,补丁生效,而hook kernel32.RegCreateKeyExA则补丁不生效 Wow64重定位 我的爱是你 发表于 2024-7-4 14:32
Wow64重定位
这个断点在win7下能正常断下,在win11里却不能断下 原因嘛,调试器的错误,其实还存在
advapi32.dll ==> RegCreateKeyExA
而且这才是真正执行的有效的代码
RegCreateKeyExA的底层肯定是RegCreateKeyExW,试试这个 JuncoJet 发表于 2024-7-4 14:46
原因嘛,调试器的错误,其实还存在
advapi32.dll ==> RegCreateKeyExA
而且这才是真正执行的有效的代码
谢谢,我试下看看 byh3025 发表于 2024-7-4 14:49
谢谢,我试下看看
这样输入,可以直接跳转过去 JuncoJet 发表于 2024-7-4 14:51
这样输入,可以直接跳转过去
谢谢,确实可以,原来我直接输入RegCreateKeyExA默认的都是kernel32. 从代码看kernel32.RegCreateKeyExA是advapi32.RegCreateKeyExA的底层
kernel32.RegCreateKeyExW是advapi32.RegCreateKeyExW的底层
如果要执行的话 kernel32 是必经之路,除非,被iat hook走了
页:
[1]
2