小甲鱼 OllyDBG 使用教程:https://www.bilibili.com/video/av30969642?p=16

OD 实验(十二) - 对一个 Delphi 程序的逆向:https://www.cnblogs.com/sch01ar/p/9678256.html

程序下载地址:https://pan.baidu.com/s/1Gb97C6HBNlmph7MbGrN_SQ    提取码:qhiq

PEiD 查壳工具:https://pan.baidu.com/s/1iNS4UlBvmXCxaj5a-AFupw    提取码:79z5

程序:

运行程序

界面显示的是未注册。点击 Help -> About

点击 Use Reg Key

这里输入注册码,用 PEiD 看一下

该程序是用 Delphi 6.0 - 7.0 写的

逆向:

用 OD 打开程序

右键 -> 查找 -> 所有参考文本字串,然后右键 -> 查找文本

搜索

这里有个是 accepted 为接受,failed 为失败

双击到 accepted 处

如果程序执行到这里则说明,注册码是可以的

在 Delphi 中,push 后的 retn 指令相当于 jmp 指令

在该 push 处下一个断点,然后跑一下程序

输入注册码,点击 Register

程序没有停在断点处,我们往上看程序

可以看到很多的 call 指令

这也是 Delphi 语言的特性

在提示信息之后下一个断点

重新跑一下程序

输入注册码,点 Register

程序停在了断点处

程序会出现这样的对话框

点击“确定”,然后按“Register”

再按 F8 往下走

走到某个地方会跳到动态链接库处

按“-”后退一步看看在哪跳的(“+”为向前一步),已经执行,只是向前或向后看一下

在 call 上面的 mov 指令下一个断点

运行程序,停在该断点处

如果继续执行的话,会弹出刚才那个错误的对话框

把 call 语句改为 nop

接下来有个 jbe 跳转语句会进行跳转

跳转到下面的地方

按 F8 继续往下走

这里有两个跳转,这两个跳转都是未实现的

如果这两个跳转都没跳的话,将会弹出错误的对话框,所以要让其中一个进行跳转

je 跳转的地方为

jnz 跳转的地方为

jnz 跳转到退出的位置

所以,让 je 指令执行跳转,把 je 改为 jmp

je 执行跳转之后按“F8”继续往下走

这里有个已实现跳转的 jnz 跳转

如果它实现跳转的话,将会跳过成功的对话框,所以不要让它实现跳转

把该指令改为 nop

然后继续按 F8 往下走

走到这个地方会弹出成功的对话框

小甲鱼 OllyDbg 教程系列 (九) :Delphi 程序逆向特点相关推荐

  1. 小甲鱼 OllyDbg 教程系列 (八) :fjproducer 逆向 之 困境

    小甲鱼 OllyDBG 教程:https://www.bilibili.com/video/av30969642?p=15 程序下载地址: https://pan.baidu.com/s/1xTBrv ...

  2. 小甲鱼 OllyDbg 教程系列 (十五) : 逆向注册机简单算法

    小甲鱼 OD 教程: https://www.bilibili.com/video/av6889190?p=24 KeygenMe 下载地址:https://pan.baidu.com/s/1gXAs ...

  3. 小甲鱼 OllyDbg 教程系列 (十) : Windows 逆向常用 api 以及 XOFTSPY 逆向

    小甲鱼 OllyDbg 视频教程       尝试 1 : https://www.bilibili.com/video/av6889190?p=17       尝试 2 : https://www ...

  4. 小甲鱼 OllyDbg 教程系列 (三) :PJ 软件功能限制

    小甲鱼OllyDbg教程:https://www.bilibili.com/video/av6889190?p=8 https://www.freebuf.com/articles/system/87 ...

  5. 小甲鱼 OllyDbg 教程系列 (十三) : 把代码和变量注入程序 以及 硬件断点

    小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p=21 程序下载地址:https://pan.baidu.com/s/1A4-BD ...

  6. 小甲鱼 OllyDbg 教程系列 (十七) : 反调试

    小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p=27 ReverseMe.A.B.C.D 下载地址:https://pan.baidu.com ...

  7. 小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析

    小甲鱼 OD 教程( 多态 和 变形 分析 ):         https://www.bilibili.com/video/av6889190?p=25         https://www.b ...

  8. 小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear

    小甲鱼 OD 使用教程:https://www.bilibili.com/video/av6889190?p=22 exeScope 下载:https://pan.baidu.com/s/1dSWap ...

  9. 小甲鱼 OllyDbg 教程系列 (十二) : inline patch ( 内嵌补丁 ) 之 调用堆栈查找法

    小甲鱼 OD 教程:https://www.bilibili.com/video/av6889190?p=20 堆栈调用方法 程序运行后,直接断点到 004DC0D1 这个 位置,按 F8一直没反应, ...

最新文章

  1. java 关于日期的一些常用惯例
  2. rf框架搭建_Robot framework(RF)基本使用
  3. .NET 环境中使用RabbitMQ(转)
  4. drivers/mfd/Mfd-core.c
  5. 23. 实例 --- 变量
  6. C#中窗体的数据传递
  7. Java基础———第一弹
  8. NBIOT的BC26使用
  9. 【音乐】自挂东南枝歌词原诗句(一)——2015年1月2日
  10. 宁录哨兵机器人_当天启碰上哨兵机器人孰强孰弱?这部漫画给出了答案!
  11. 中国集成灶10大品牌排行榜揭晓,公认的集成灶10大品牌是哪几个?
  12. 技术债不是负担,而是成功的战略杠杆
  13. Referrer还是Referer? 一个迷人的错误
  14. 视频制作和php,【艾奇电子相册视频制作软件和PHP 4.4.0 For Windows哪个好用】艾奇电子相册视频制作软件和PHP 4.4.0 For Windows对比-ZOL下载...
  15. Gitee如何上传整个项目文件夹
  16. [Unity][C#]Regex正则表达式判断字符串
  17. 卡卡又一次双手举天,巴西涉险过关,克罗地亚虽败尤荣.
  18. ienumerable vs iqueryable异常
  19. 移动互联网精彩语录:悟透一句话,改变你一生!
  20. 灰狼优化算法(Grey Wolf Optimizer, GWO)

热门文章

  1. 计算机史上首篇教你从算法问题提炼算法思想的文章
  2. 网络解析(一):LeNet-5详解
  3. 牛津大学最新调研:AI面临基准危机,NLP集中“攻关”推理测试
  4. python实现单例模式的三种方式及相关知识解释
  5. Object.prototype的成员介绍
  6. (转载)spring配置hibernate 事务。
  7. iOS事件的响应和传递机制
  8. ABAP--使用SLIN事务码进行ABAP程序扩展语法检查,提高程序开发的质量
  9. 2_RabbitMQ工作模式_Work queues_Publish/Subscribe_Routing_Topics_HeaderRpc
  10. java-多线程知识