e3.exe的逆向分析

运行截图

逆向思路

提示如下:

  1. 使用IDR加载Delphi程序,导出Map文件,将Map文件导入OD。

  2. 使用Delphi逆向工具Darkde4

    可以看到,Panel1有两个方法,单击和双击,是一个按钮

    FromCreate 窗体的创建事件

    chkcode 校验代码

    KeyUp 响应的键盘的弹起

    DbClick 按钮的双击事件

    Click 按钮的单击事件

  3. 通过1得到了几个事件的RVA,接下来进行分析,首先是Click事件:

拖入OD

右键复制Click的RVA

打开OD,ctrl + G 粘贴点击OK

F2设置断点

运行测试

输入一组用户名和注册码,双击之后单步调试

出现用户名:

此处getText为获取用户名。

获取用户名长度,用户名长度+0x1E(30)

出现“32”

字符串拼接:

循环0x13次:

关键跳转:

  1. 获取用户名

  2. 获取用户名长度 将长度加上0x1E

  3. 将长度转为字符串

  4. 字符串拼接 拼接为长度+用户名+循环次数

  5. 整个算法循环18次 最后的结果如上图

  6. [esi+0x30C]的值必须是0x85

  7. 分析双击事件

    获取长度

    长度+0x9

    长度转str

    循环:

    字符串拼接:长度+用户名+循环次数

    [esi+0x30C]和0x3E作比较,如果成立,就把[esi+0x30C]赋值为0x85,也就满足了单击事件的条件

    [esi+0x30C]的值必须为0x3E

  8. 有一个地方是把0x3E赋值给了[esi+0x30C]。

    OD中,右键->查找所有常量,输入3E,看看能不能找到mov [esi+0x30C],0x3E这样一条指令。如果能,那么这个就是真正校验的地方。

    跟进:

    开头:

    注释显示这个是chkcode的校验事件下断点

  9. 运行

    注册码刚输入1就停住了,分析

    发现可疑字符串:

    直接拦截读取edx,使用keymake制作内存注册机:

    成功,接着分析算法·,尝试制作算法注册机

    分析0x951C68 位置处何时写入,设置硬件断点

    keyup中统计输入字符:

    首先获取用户名长度 然后将用户名长度+5,接着进行字符串拼接 拼接方式为黑头Sun Bird(用户名长度+5)dseloffc-012-OK(用户名),拼接好的字符串就是密码。

  10. 结果:

接方式为黑头Sun Bird(用户名长度+5)dseloffc-012-OK(用户名),拼接好的字符串就是密码。

  1. 结果:

e3.exe的逆向分析相关推荐

  1. CRC原理及其逆向分析方法

    CRC原理及其逆向破解方法: 介绍: 这篇短文包含CRC原理介绍和其逆向分析方法,很多程序员和破解者不是很清楚了解 CRC的工作原理,而且几乎没人知道如何逆向分析它的方法,事实上它是非常有用的. 首先 ...

  2. Android 逆向分析大全

    转载:Android 逆向分析大全:https://www.jianshu.com/p/a12d04fc748f 1. 概述 1.1 分析步骤 通用逆向分析步骤 1. 了解该模块正向编程相关方法 2. ...

  3. TI(德州仪器) TMS320C674x逆向分析之一

    一.声明 作者并不懂嵌入式开发,整个逆向流程都是根据自身逆向经验,一步一步摸索出来,有什么错误请批评指正,或者有更好的方法请不吝赐教.个人写作水平有限,文中会尽量把过程写清楚,有问题或是写的不清楚的地 ...

  4. 安卓 sharedpreferences可以被其它activity读取_【安卓逆向】“一份礼物”之我要o泡逆向分析...

    最近安卓手机有个恶搞程序"一份礼物"登上热搜. 该app的效果是打开之后手机便会以最大音量循环播放"我要o泡"音乐,并且无法调小音量,无法退出程序,甚至无法关机 ...

  5. 第二届360杯全国大学生信息安全技术大赛部分解题思路(逆向分析)

    /* 逆向分析第一题解题攻略: 已限定为用户名为:strawberry 分析该程序算法,得出该用户名所对应的Key 正确答案:K$q*a_+@Xt 逆向分析第二题解题攻略: 已在压缩包中给定了一个用R ...

  6. [系统安全] 二十四.逆向分析之OllyDbg调试INT3断点、反调试、硬件断点与内存断点

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  7. [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  8. [系统安全] 六.逆向分析之条件语句和循环语句源码还原及流程控制

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  9. [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断

    前文作者讲解了OllyDbg和在线沙箱的逆向分析过程,分享了恶意软件如何通过宏脚本发送勒索信息或密码至用户邮箱.这篇文件将带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原,基础性文章,希 ...

最新文章

  1. servlet基础知识
  2. sap-通过定义物料组的评估类-设置无物料号的费用采购
  3. Leet Code OJ 118. Pascal's Triangle [Difficulty: Easy]
  4. Python高级——正则表达式与re模块
  5. 手动处理MNIST手写数据集的逻辑斯蒂回归算法实践
  6. 达芬奇剪辑调色软件:DaVinci Resolve Studio 17.3.2 for Mac中文版
  7. Node.js使用jszip实现文件夹操作
  8. 虚拟机安装win10教程(详细版)
  9. 基于SAML2.0单点登录的实现(JAVA)
  10. Linux沙箱技术介绍
  11. Linux关闭swap
  12. 【PBL项目实战】户外智慧农场项目实战系列——5.天气预报API接口对接
  13. 460.LFU 缓存
  14. [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  15. 【RTX操作系统教程】第6章 RTX操作系统源码方式移植
  16. DeDeCMS v5.7 SP2 前台任意用户密码修改漏洞复现
  17. 【贪心算法】poj 2431: Expedition(最优加油方法)
  18. “高精尖”智慧钢厂轻松打造!图扑软件数字孪生yyds
  19. php职教云答案,智慧职教云作业答案,智慧职教期末考试幼儿园课程答案,智慧职教mooc测验答案...
  20. Android课程设计(健康管理软件开发)

热门文章

  1. 【C语言】可变参数列表
  2. mac启动台图标重置
  3. 扫码登录(uniappvue)
  4. 微信自动跳转到app下载页面(安卓跳转默认浏览器 苹果跳转苹果商店App Store)
  5. web图书管理系统(HTML+CSS+JS+PHP)
  6. Jetson Orin NX上手使用(Linux系统的配置Jetpack的烧录镜像的备份恢复)
  7. 【flowable】十、flowable网关
  8. Reggie外卖项目 —— 分类管理模块之新增分类功能
  9. tars框架 php,tars框架安装
  10. java web动态菜单设计_spring-boot与模板引擎:使用metisMenu实现动态多级菜单