OD是逆向工程中的一个重要工具,逆向工程调试说明具体请参考:百度百科,OD介绍,当然就我了解而言,俗话就是破解软件,市面上的什么破解版,精简版啥的基本都是通过这种技术的,但是这并不能一概而论说逆向工程就是侵权的,在调试测试中它可起的重要的作用.

逆向调试可分为动态分析技术和静态分析技术,动态分析就是实时加载软件,对软件进行实时断点操作;静态分析是指在某些不适合运用软件执行的场合使用的,比如对某种病毒的分析,你运行就不是中招了吗..当然我相信大家在对某种病毒调试时,多会用虚拟机来进行实验吧,就算病毒是内核级的,指向系统硬件的,也不怕它,(重装(新建加载ISO);(或者恢复到相应的快照)这是vm虚拟机的用法,大家可以百度安装,据我了解,新win10也支持了虚拟机的设置,但这里我得提醒一下,win10的虚拟化技术与虚拟机是不兼容的,特别是我在python中部署docker容器的时候,出现的一些错误(虽然我知道docker部署在linux好用一点,但是我对Linux不是很搞得懂的,现在连python的环境配置都失败了好几次,RHEL系统太那个了(一个yum源非得要收费..还得建立本地yum仓库和更改阿里云的centos yum源),几次想rm -rf/*了.

首先得了解一下OD可是比喻为动态分析的宝刀,可以通过这张图了解一下OD的基本界面:

首先我们可以来个最简单的,修改一个win32文件的标题,进入xp系统,不得不说,xp还是兼容性最好的系统:

源文件为hello.exe,打开便出现如下,标题为l love fishc.com

我们要做的修改就是把他改成别的,将它拖进OD,出现:

CTRL+F2进行重加载,定位成入口点,然后按F8进行单步调试,直至出现该程序界面,

弹窗是出现了该点,call意思是调用某模块,按F2加断点,然后CTRL+F2重加载,按F9跳到断点,F7进入程序模块内部:

这时就看了title和text文本,至于为什么text文本出现乱码,因为它的编码方式不同,可能不是utf-8或者gbk模式,点击title:

第三行是汇编代码 push是压入操作,意思应该是压入栈,后面是机器码,CTRL+G调用跟随表达式:输入该机器执行码;

出现以下标符,全选修改;

可以不要保持大小,这里可以不涉及到内存溢出的问题,它还是个简单的win32程序,修改我们想要的ascll码,比如博客地址等:

写完后还要加个00,表示字符串的结束,c,c++等都是这样的,然后执行保存;

保存为hello1.exe:

这样就执行hello1.exe 出现下图:

好了,一个简单的程序修改标题就完成了,虽然很简单,但实践还是需要时间的.

最新文章

  1. nginx简易教程
  2. JS常用方法函数整理
  3. (转) Docker swarm 之介绍与使用
  4. CSS之密码强度检测
  5. CI 笔记4 (easyui 手风琴)
  6. SpringMVC4+thymeleaf3的一个简单实例(篇二:springMVC与thymeleaf的整合)
  7. 201521123051 《Java程序设计》 第二周学习总结
  8. flex盒模型实现头部尾部固定
  9. js/j'query相互转换操作指南
  10. FORM调用FORM(标准调客户化&客户化调标准)并执行查询的实现研究
  11. java的断言(assert)
  12. scala查询dataFrame结构
  13. windows下安装和使用scrapy
  14. 初步了解jQuery
  15. linux基础命令--groupadd 创建新的群组
  16. MGF 637: Financial Modeling
  17. pandas:解决groupby().apply()方法打印两次
  18. WPS之word文档处理(持续更新)
  19. 基于数据库构建分布式的ID生成方案
  20. REST与RPC的简单对比

热门文章

  1. 使用Vagrant和VirtualBox一步步地创建一个Base Box
  2. Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect
  3. python3: 文件与IO
  4. sphinx编译安装
  5. BZOJ2095:[POI2010]Bridges(最大流,欧拉图)
  6. Python高级网络编程系列之基础篇
  7. 运行metamascara时出现的一些错误
  8. consul集群搭建,配合nginx完成服务动态发现和健康检查
  9. Python2.7-struct模块
  10. tomcat-在cmd窗口启动Tomcat