首页
社区
课程
招聘
[旧帖] [原创]在文件夹中双击运行exe文件系统调用哪些api 0.00雪花
发表于: 2009-5-31 18:40 1136

[旧帖] [原创]在文件夹中双击运行exe文件系统调用哪些api 0.00雪花

2009-5-31 18:40
1136
对于这样的问题,用windbg内核调试最合适不过了,在这里仍然是使用双机内核调试,因为这样可以拦截几乎所有进程对api的调用,不罗嗦了,大家看我的调试过程:
kd> .reload //加载符号,由于是内核调试,默认是不加用户态模块的
Connected to Windows XP 2600 x86 compatible target, ptr64 FALSE
Loading Kernel Symbols
.............................................................................................................................
Loading User Symbols

Loading unloaded module list
.....
kd> bp nt!NtCreateProcessEx //设置ssdt断点,为加载用户态模块作准备
kd> g //让客户机运行,在客户机上任意运行一个程序,命中ssdt断点
Breakpoint 0 hit
nt!NtCreateProcessEx:
805c836a 6a0c            push    0Ch
kd> .reload /user //趁机加载用户态模块.
Loading User Symbols
............................................................................
//加载完毕后取消nt!NtCreateProcessEx这个不用的断点。

//开始设置api断点,共测试9个函数。
kd> bp kernel32!CreateProcessA
kd> bp kernel32!CreateProcessW
kd> bp kernel32!CreateProcessInternalA
kd> bp kernel32!CreateProcessInternalW
kd> bp shell32!ShellExecuteA
kd> bp shell32!ShellExecuteW
kd> bp shell32!ShellExecuteExA
kd> bp shell32!ShellExecuteExW
kd> bp kernel32!WinExec
kd> g     //运行客户机,在客户机上任意找个exe文件运行,下面是断点命中的输出信息,结果一目了然
Breakpoint 7 hit      
SHELL32!ShellExecuteExW:
001b:7d5d2f03 8bff            mov     edi,edi
kd> g
Breakpoint 1 hit
kernel32!CreateProcessW:
001b:7c802336 8bff            mov     edi,edi
kd> g
Breakpoint 3 hit
kernel32!CreateProcessInternalW:
001b:7c81979c 68080a0000      push    0A08h
kd> g     //客户机开始正常运行,共命中3个断点。
在文件夹中双击运行exe文件系统调用了上面哪些api已经非常明了,而且调用顺序也非常明了,依次是ShellExecuteExW,CreateProcessW,CreateProcessInternalW。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//