• OD 实验(十五)


    程序:

    打开程序

    出现一个 NAG 窗口

    这是主界面

    点击 Exit

    程序出现 NAG 窗口,然后退出

    用 PEiD 看一下

    是用 VC++ 6.0 写的程序

    逆向:

    用 OD 载入程序

    跑一下程序

    出现 NAG 窗口时暂停

    按 Alt+K 显示调用堆栈

    这个是 MFC 的对话框,双击来到它所在的地方

    下一个断点,重新跑一下程序

    OD 停在了断点处

    按 F8 往下走一步

    NAG 窗口出现了

    过了几秒就往下走了一步了

    按 F9 运行

    程序又停在了这个断点处

    按一下 F8

    主窗口出现了

    点击 Exit

    OD 往下走了一步

    按 F9 运行

    OD 又停在了断点处

    按一下 F8

    程序关闭的 NAG 窗口出现了

    说明这个断点是三个窗口出现的地方

    这个 call 语句上面有个 je 跳转指令,如果执行跳转的话,将跳过这个 call 语句

    如果这个 je 跳转指令第一次执行跳转,第二次不执行跳转,第三次执行跳转,就会只显示主界面不显示 NAG 窗口

    可以用到条件判断,设一个变量 i,如果 i 等于 2 的话就不执行跳转,i 等于 1 或 3 的话就执行跳转

    按 Alt+M 显示内存窗口,查看程序的 PE 头结构

    双击进入 data 段

    找到一块没数据的地方

    先测试一下这块地方在程序运行的时候会不会被影响到

    右键 -> 断点 -> 硬件访问 -> Byte,关注这一个字节

    重新跑一下程序,程序运行过程中没有停在该断点处,说明程序运行过程中没有对该字节区域造成影响

    接下来在代码块区域找一个空白的地方

    接下来使用 OD 的一个插件 NonaWrite 进行修改

    在 NonaWrite 上写汇编代码

    0x437D6E 为要修改的地址

    下面为要修改的语句

    写完之后点击“汇编”

    然后把 je 跳转指令改为 jmp

    保存文件,运行程序

     没有了 NAG 窗口,只有主窗口

  • 相关阅读:
    Android框架: MVC MVP MVVM
    Apache Tomcat -8.0.45
    【MySQL】Database connections will be migrated
    MySQL(mysql-installer-community-5.7.18.1 Windows10)
    代码版本控制(Source Control)
    HTML 5
    微信小程序
    Android Studio 2.3.3 安装
    React Native
    2018面向对象程序设计(Java)第12周学习指导及要求
  • 原文地址:https://www.cnblogs.com/sch01ar/p/9745067.html
Copyright © 2020-2023  润新知