zoukankan      html  css  js  c++  java
  • OD调试1--第一个win32程序

    OD调试一:第一个Win32程序的修改

      在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误。而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果。由于操作系统都会提供完善的调试接口,所以利用各类调试工具可以非常方便灵活地观察和控制目标软件。在使用调试工具分析程序的过程中,程序会按调试者的意愿以指令为单位执行。

      调试逆向分为动态分析技术和静态分析技术。

      动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以便观察相关计算的结果和当前的设备情况。

      静态分析技术是相对于动态分析而言的。由于在实际分析中,很多场合不方便运行目标(例如病毒程序,设备不兼容,软件的单独某一模块)。那么这个时候静态分析技术就该上场了!

      OD(OllyDbg)和IDA Pro这两款工具分别是调试逆向的倚天剑和屠龙刀。虽然两者都兼容动态和静态的调试方式,但就动态调试而言,OD更为灵活和强大,而静态调试工具的王者理所应当是功能极为强大的IDA Pro。

    1. 汇编代码对应的地址窗口

    2. 汇编代码对应的十六进制机器码窗口

    3. 反汇编窗口

    4. 反汇编代码对应的注释信息窗口

    5. 寄存器信息窗口

    6. 当前执行到的反汇编代码的信息窗口

    7~9. 数据所在的内存地址,十六进制,ASCII码

    10~12.栈地址,存放的数据,对应说明信息

     

    任务要求:通过OD将程序的标题“I love fishc.com”改为“Iam JiaYuntian”

     

    具体操作步骤:

      打开OD。按F3载入程序hello.exe.

      粗略浏览汇编代码,发现是一些乱七八糟的东西。Ctrl+F2重新载入程序回到入口点OEP。一直按F8单步步过,注意观察窗口各处信息的变化,一直按到出现对话框。此时停在下图的这个call上。

     

      在此行按F2设下断点(或者双击该行),Ctrl+F2重新载入,直接按F9运行到断点处,按F7单步步入这个call里。

     

      进入到这里后,继续按F8单步往下执行。

     

      此处就找到了我们要修改的地方。

      在左下方的数据窗口里按Ctrl+G,键入地址00422030,确认

     

      在第一行的地方按空格,修改标题内容:此处应注意,16进制数字末尾处应加上00(因为字符串是以0结尾的,C语言编程里有学到。)

     

      点击确定,修改完成。按F9继续执行程序。

     

      修改到此成功。

      

  • 相关阅读:
    AOP静态代理解析2-代码织入
    算法笔记_064:蓝桥杯练习 操作格子(Java)
    算法笔记_063:蓝桥杯练习 送分啦(Java)
    算法笔记_062:蓝桥杯练习 最小乘积(基本型)(Java)
    算法笔记_061:蓝桥杯练习 字串统计(Java)
    算法笔记_060:蓝桥杯练习 出现次数最多的整数(Java)
    算法笔记_059:蓝桥杯练习 Anagrams问题(Java)
    算法笔记_058:蓝桥杯练习 2的次幂表示(Java)
    算法笔记_057:蓝桥杯练习 最大的算式 (Java)
    算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
  • 原文地址:https://www.cnblogs.com/yunji5566/p/4249927.html
Copyright © 2011-2022 走看看