请选择 进入手机版 | 继续访问电脑版

IT资源社区(IT0365.COM) 一个收集优质的IT学习资源和教程社区

 找回密码
 登记学习
查看: 53|回复: 0

分析一款被EXE密码锁加密的程序破解教程二算法分析

[复制链接]
发表于 2019-11-27 16:34:14 | 显示全部楼层 |阅读模式

想学习更多破解与编程技巧,就马上加入吧!

您需要 登录 才可以下载或查看,没有帐号?登记学习

x
本帖最后由 it资源社区 于 2019-11-27 16:36 编辑

分析一款被EXE密码锁加密的程序破解教程二算法分析继上篇分析
分析一款被EXE密码锁加密的程序破解教程一
本篇我们继续分析密码验证关键算法

OD运行程序后,输入假码 it0365断下

[Asm] 纯文本查看 复制代码
0057D2A1    8B95 DCFFFEFF   mov edx,dword ptr ss:[ebp+0xFFFEFFDC]
0057D2A7    8D8D E0FFFEFF   lea ecx,dword ptr ss:[ebp+0xFFFEFFE0]
0057D2AD    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0057D2B0    E8 8BF7FFFF     call 右键管理.0057CA40
0057D2B5    8B95 E0FFFEFF   mov edx,dword ptr ss:[ebp+0xFFFEFFE0]
0057D2BB    58              pop eax
0057D2BC    E8 C3A8E8FF     call 右键管理.00407B84
0057D2C1    0F85 E3020000   jnz 右键管理.0057D5AA


在跳向密码错误的前2个CALL,下断运行后。发现在
[Asm] 纯文本查看 复制代码
0057D2B0    E8 8BF7FFFF     call 右键管理.0057CA40

断下后,EDX出现了我们输入的假密码,F7进入后继续向下走分析。
发现了一个循环:
[Asm] 纯文本查看 复制代码
0057CA93    8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
0057CA96    E8 75B4E8FF     call 右键管理.00407F10
0057CA9B    0FB6F3          movzx esi,bl
0057CA9E    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]
0057CAA1    0FB75472 FE     movzx edx,word ptr ds:[edx+esi*2-0x2]
0057CAA6    8BCB            mov ecx,ebx
0057CAA8    80C9 75         or cl,0x75
0057CAAB    0FB6C9          movzx ecx,cl
0057CAAE    66:33D1         xor dx,cx
0057CAB1    66:895470 FE    mov word ptr ds:[eax+esi*2-0x2],dx
0057CAB6    43              inc ebx
0057CAB7    FE4D FB         dec byte ptr ss:[ebp-0x5]
0057CABA  ^ 75 D7           jnz X右键管理.0057CA93

循环完后,计算得到如下数据:
5.JPG
该CALL执行完后,返回来到
6.JPG
[Asm] 纯文本查看 复制代码
0057D2BC    E8 C3A8E8FF     call 右键管理.00407B84

该CALL里比较EAX,EDX的内容。 数据窗口中,对应的地址内容就是比较的内容。
由此判断,
[Bash shell] 纯文本查看 复制代码
0F 00 0F 00 14 00 16 00 0D 00 0D 00 00 00 00 00

就是真实的解码密码了。前面分析的算法就是生成解锁密码的关键算法。
关键算法注释:
[Asm] 纯文本查看 复制代码
0057CA96    E8 75B4E8FF     call 右键管理.00407F10                       ; 获取假码地址
0057CA9B    0FB6F3          movzx esi,bl                             ; BL==1
0057CA9E    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]           ; 假码地址
0057CAA1    0FB75472 FE     movzx edx,word ptr ds:[edx+esi*2-0x2]    ; 假码第一位
0057CAA6    8BCB            mov ecx,ebx                              ; 01FA1301
0057CAA8    80C9 75         or cl,0x75                               ; OR操作
0057CAAB    0FB6C9          movzx ecx,cl                             ; 内容给ECX
0057CAAE    66:33D1         xor dx,cx                                ; 假码第一位和75操作后的值XOR
0057CAB1    66:895470 FE    mov word ptr ds:[eax+esi*2-0x2],dx       ; 保存
0057CAB6    43              inc ebx
0057CAB7    FE4D FB         dec byte ptr ss:[ebp-0x5]   ;假码倍数
0057CABA  ^ 75 D7           jnz X右键管理.0057CA93
  ;循环读取假码
算法编写,按之前讲的基础入门教学抠汇编代码即可编写工具。

IT资源社区 - 免责声明 1、本站会员可发帖,本主题所有言论和图片纯属会员个人意见,与本论坛立场无关.
2、本站所有帖子由该帖子作者发表,该帖子作者享有帖子相关权益.
3、本帖内容来源网友及会员分享和其它网络媒体.
4、本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除并致以最深的歉意!
5、若因内容问题IT资源社区管理员和版主有权不事先通知发贴者而删除本文.
6、本站教程仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
7、本站邮箱地址:admin@it0365.com
IT资源社区 it0365.com 更多精彩内容等你发现
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 <<--快捷回复】
您需要登录后才可以回帖 登录 | 登记学习

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|Archiver|手机版|小黑屋|IT资源社区(IT0365.COM)

GMT+8, 2019-12-15 20:48 , Processed in 0.048346 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表