-
-
[旧帖]
[求助]怎样跟踪程序从RING3跨入RING0呢?
0.00雪花
-
发表于:
2009-2-24 08:05
4026
-
[旧帖] [求助]怎样跟踪程序从RING3跨入RING0呢?
0.00雪花
最近在学RING3程序直接进入RING0级的方法,只能用RING0级调试器,选了WinDbg
在这里VMware中的虚拟机称为服务端,本地真实系统叫做客户端。
客户端通过com1串口连接服务端并使用WinDbg对服务端进行调试。
为了更精确地找到并调试目标程序,在虚拟机内通过“ntsd -d 目标”这样的指令使
目标运行然后使服务端停止。
接着在客户端用命令“"……\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_1,resets=0 -y ……\Symbols”运行WinDbg连接服务端。
此时WinDbg处于用户态调试模式,然后用“bp main ;g”断在目标的入口处(目标以debug模式编译)。
然后用命令‘p’单步跟啊跟,直到调用NtVdmControl(借助它进入RING0),此时用‘t'跟进,直到SYSENTER指令。
在用户态调试器跟不进去,直接运行了。只好进入核心态,使用命令
“.breakin”进入内核调试模式,但进去后完全不知到了哪里,一片迷惘。
哎,我只想看看内核函数长什么样,不用这么麻烦吧。
敢问各位牛人,怎样在内核调试中迅速定位自己的程序呢?
昨天鼓捣了一天,看了一些帮助文档,但还是云里雾里。
望高人指点一二!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)