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

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

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

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

下面是ollyice界面

对于我们这些初学者,使用最多的就是F2,F9,Ctrl+F9,Alt+F9.

下面举一个具体实例来修改一个应用程序的的标题(title)

进入页面,选择一个可执行程序。

首先会进入光标会停在程序入口点那一行,按F7或者F8执行程序到弹出一个窗口,光标所停的那一行就是代码执行到的位置,如图:

找到位置后,按F2加一个断点,再按Ctrl+F2回到程序入口点。接下来就要从程序开始运行到断点处(按F9),接下来是最重要的一步了。单步调试找到窗口字符位置。如图:

记下反汇编代码运行信息的出现的地址,图上是00422030.不同的系统可能位置不一样。接下来在数据窗口点击右键,单击转到。输入刚才的地址,也就是00422030;

这样就找到了title的信息,如图:

选中阴影的 i love fishc.com.点击右键,单击二进制,编辑。然后输入你想修改的title,例如你要修改为computer。如图:

接下来就是保存了。选中阴影,点击右键,选中复制可执行文件,

再点击右键,选择位置,保存文件。

最后我们看看有没有修改成功,打开刚才保存的文件。还是对比下。

看标题是不是已经改了呢?好吧这只是一种方法,接下来简要介绍第二种方法。

方法二

对于已经知道的标题,我们是不是可以直接搜寻字符串呢?是的思路就是这样。

同理也是首先打开文件。然后在反汇编窗口点击右键,依次点击查找,所有参考字符串。

第一个正好就是我们所需要的字符串,记下反汇编的地址。在数据窗口点击右键,转到,输入地址。

接下来的过程就和第一种方法一样了。是不是很简单啊!

od 调试java_OD调试初步概念——修改窗口标题相关推荐

  1. 第零课、开启ce自身保护、设置od,让调试不非法

    第零课.开启ce自身保护.设置od,让调试不非法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...

  2. C语言调试(Dev-C++)(初步)

    引入: 在编写程序的过程中,难免会出现各种错误.例如漏加:,变量没有申明等等,这些是常见的语法错误.编译器会在下方报错 这种情况,按照编译器给出的提示做出对应修改即可. 然而在很多时候 ,会有不可避免 ...

  3. 安川伺服调试软件,软件可修改伺服参数,jog运行

    安川伺服调试软件,软件可修改伺服参数,jog运行id=628142867646&

  4. 动态修改窗口标题和类名

    反外挂会检测外挂标题和类名,所以我们要实现每次启动外挂都会修改标题和类名.具体方法如下还有自己写的API hook代码以供后来人参考 修改窗口标题字符串"无标题-Test" < ...

  5. php反调试,反调试原理

    一. 前言 前段学习反调试和vc,写了antidebug-tester,经常会收到message希望交流或索要实现代码,我都没有回复.其实代码已经在编程版提供了1个版本,另其多是vc内嵌asm写的,对 ...

  6. scanf调试_STM32调试利器之ITM

    STM32 有一个代码跟踪功能,即 ITM,这个调试功能非常强大,可以替代串口输入输出功能,而且只需要占用一根 I/O 线就可以实现.当然它的好处不仅仅体现在这里,在调试嵌入式操作系统代码时你会发现相 ...

  7. gdb 调试_GDB调试指南-源码查看

    前言 我们在调试过程中难免要对照源码进行查看,如果已经开始了调试,而查看源码或者编辑源码却要另外打开一个窗口,那未免显得太麻烦.文本将会介绍如何在GDB调试模式下查看源码或对源码进行编辑. 准备工作 ...

  8. 分享在实际项目中积累的硬件调试经验 - 调试方法,以及常见调试案例

    文章目录 一.硬件调试的四个目标 二.硬件调试心得 三.一块新的板子的调试思路 四.硬件调试,一些网络资料 五.单片机硬件调试中常见的案例(杂记) 往期系列文章: 1.裸机项目开发经验分享 - 完整开 ...

  9. 【转】无调试器调试--使用调试宏

    转自:https://www.hahack.com/wiki/tools-makefile.html# 调试器的出现固然极大地改善了可怜的程序员们的生活水平,然而调试器也并不总是扮演救世主的角色,例如 ...

  10. java的单步调试_Eclipse调试Java程序 可用于单步调试

    在Eclipse中交互式运行代码是其最强大的特性之一,使用JDT调试器,你可以逐行执行你的Java程序,检查程序不同位置变量的值,这个过程在定位代码中的问题时非常有用. 为了准备调试,你需要在代码中设 ...

最新文章

  1. Windows下查找端口被什么占用!
  2. mongodb php代码实例,MongoDB文档的更新(php代码实例)
  3. STL标准库vector笔记
  4. 我害怕接入IM云的开发者
  5. java instanceof运算符_Java instanceof 运算符的使用方法
  6. liunx立即关机命令是什么?
  7. java并发编程(3)--线程 有序性 volatile
  8. Linux内存使用消耗高
  9. 回归分析常数项t值没有显著异于零怎么办_洋蜜蜂统计辅导专题:回归分析关键词统计量须知...
  10. ios设置中性黑体_iOS 使用自定义字体 - 苹方字体
  11. Matlab实现二维数字图像相关(2D Digital Image Correlation, 2D-DIC)【ADIC2D代码复现及原理介绍】
  12. 隧道人员定位管理系统
  13. java bzip2 压缩,Java bzip2压缩与解压缩工具类
  14. ideaIU-2018.3.1安装及激活方法-百度网盘分享
  15. 斯坦福大学自然语言处理第四课“语言模型(Language Modeling)”
  16. java生日祝福程序代码_生日快乐代码
  17. dismiss和remove_关于dismiss的用法,dismiss和fire的区别?
  18. BIOS知识枝桠——UEFI Driver
  19. 跳马问题C++递归调用
  20. 安恒6月月赛 DASCTF 6th Re 部分wp

热门文章

  1. 深度学习在58同城首页推荐中的应用
  2. (65)-- 爬取兄弟连老师信息
  3. 值得推荐的win10动态壁纸软件
  4. Python3安装tkinter
  5. 我的世界光影mod怎么用_《我的世界》RTX beta 版视频体验:仿佛打破了次元壁
  6. 软件开发过程的一个实例
  7. 还在烦恼没有项目?手把手带你从 0 开始用 React 重写学成在线 II
  8. excel计算机快捷键大全,excel表格使用技巧快捷键大全
  9. MacOS安装svn客户端
  10. 分享PMP真题回忆,出征软考高级项目管理师