使用IDA反汇编系统NTReadVirtualMemory函数,模拟实现里边的部分函数

首先是IDA的使用,打开VMware虚拟机,找到C:\Windows\system32\ntkrnlpa.exe,考到本地电脑,用IDA打开。配置symbol标志文件:找到IDA文件下边的cfg\pdb.cfg,使用UltraEdit打开,第8行有个_NT_SYMBOL_PATH字符串,记住之后配置系统环境变量,计算机---属性---高级系统设置---高级---环境变量---系统变量---新建
摘要由CSDN通过智能技术生成

首先是IDA的]使用,打开VMware虚拟机,找到C:\Windows\system32\ntkrnlpa.exe,考到本地电脑,用IDA打开。

配置symbol标志文件:找到IDA文件下边的cfg\pdb.cfg,使用UltraEdit打开,第8行有个_NT_SYMBOL_PATH字符串,记住之后配置系统环境变量,计算机---属性---高级系统设置---高级---环境变量---系统变量---新建---变量名填写_NT_SYMBOL_PATH,变量值填写你的symbol标志文件的路径,比如:D:\vmsysbolxp,OK。

在左边的Functions window里边找到NtReadVirtualMemory,双击进入IDA View - A,这部分就是NtReadVirtualMemory对应的汇编代码,它以push开头,按F5进入Pseudocode-F,这个就是经过系统优化后反汇编出来的C语言代码,与原本的代码会有不同,主要是编译器优化的原因,不过功能几乎是一样的。在这里就可以进行反汇编的学习了。

通过IDA View - A,Pseudocode-F两部分去“猜测”原代码。

补充:

有一个文件包是微软那些函数的实现代码:WindowsResearchKernel-WRK.tar,网上好多,自己找一下,我用的是48.6MB的,使用Source Insight 3.5打开,在里边可以查看核代码的实现。

测试:看看自己实现的代码是否与刚才找到的代码实现的功能是一致的。

 

使用的常用快捷键:

F5:进入反汇编代码,使用:在汇编代码上按下F5就能到需要的返汇编位置:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值