• IDA 反汇编 explorer


    之前写过一篇关于 IDA 在无 dmp 文件下如何定位到崩溃点的文章,由于其中涉及到公司项目,就仅限自己看了

    正好今天看到一篇关于火绒软件误杀 explorer 的文章,并且有相关的复现过程

    文章已经概述的很清楚,不过缺少软件的调试步骤,借此机会补充一下

    该调试过程一共使用两个软件,IDA010 Editor,以及调试文件,explorer.exe 和 pdb 文件,这两个文件可以从上面链接中的高赞回答中获取

    010 Editor 是个调试器,里面有块功能是 EXE 的 PE 信息查看,需要另外安装 EXE.bt

    那么开始吧,

    打开 IDA,加载 exe 文件

     选择 Portable executable for AMD64,会提示加载一些 dll,跳过就行

    IDA 比较智能会提示是否连接微软官方 symbol server 并下载符号文件,并且也会提示输入 explorer.exe 的 pdb 文件路径,按照指示加载已下载的 pdb 文件就行

    点击 Jump->Jump to function,弹出对话框,再点击 Search

    输入要寻找的 api,即 IsHijackingProcessRunning

     双击找到的 IsHijackingProcessRunning,会以 Graph View 显示汇编代码

    在汇编代码的空白处鼠标右键选择 Text View,即可切换到文件阅读,方便查看

    接着我们需要 IDA 给我们生成伪代码,鼠标在汇编代码处,按快捷键 F5 即可生成伪代码

    里面有很多变量是 v 开头的,因为这些看似正确的代码其实并不准确,只是方便我们看清楚逻辑,v 开头的变量也是 IDA 自动生成的变量名,仅供参考

    对于其他 api 也可以使用该方法去查看

    顺便摘录下引用文章的小结=》explorer.exe 中 IsHijackingProcessRunning 的行为就是检测某些程序是否在运行,如果在运行则关闭 ShellFeedsCampaign 功能。

    那么如何查看 exe 的 PE 时间戳,无论是 exe 还是 dll,两者的 PE 结构其实是类似的

    安装好 010 Editor 后,打开它并加载 explorer.exe,软件会弹出提示框安装 exe.bt,安装就行,然后我们就可以看到 exe 的 PE 二进制数据

    PE 时间戳可以在地址上直接查看,或者在下面的显示框中

     

    好了,完毕,有问题在评论区中交流,谢谢观看

     

     

     

     
  • 相关阅读:
    Linux生产者消费者与信号量
    router和route的区别?
    杂货铺 | citespace的使用
    JVM运行时数据区域详解
    使用composer安装和使用Endroid/QrCode来生成二维码
    UE4游戏传奇4的SDK的部分数据之-移动状态
    尚硅谷设计模式(十九)中介者模式
    前端框架 vue-admin-template的搭建运行
    关于Vue3 + Ts 项目 遇到 关于路径动态加载 和 组件拷贝关系问题的记录
    ES6 什么是模板字符串?
  • 原文地址:https://www.cnblogs.com/strive-sun/p/18029243