吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4365|回复: 20

[原创逆向图文] 易语言逆向类重启验证套路分析

  [复制链接]
Shy 发表于 2016-7-19 22:11 | 显示全部楼层 |阅读模式

本教程由热情洋溢的木木不哭赞助播出(“哎呀我摔倒了要漂亮姐姐亲亲才能起来”)

逆向前言:之前那篇教程没怎么做好,主要是家里出了点事,从今天开始就闲下来了,所以更有时间更细致地讲解,接下来几天视情况多发几篇图文,试试水,,,,

声明:
教程里的课件,大部分是别人的教程或者是有些人分享出来的,虽然是别人的课件,但是我不会讲跟别人一样的东西,否则就是抄袭,那不符合我做人的原则,,,我会讲的是我自己理解的
以及一些比较奇葩,比较另类的发现,也可以说是套路或者方法,像之前那篇文章我为什么会说没有做好,其实一个是我心里比较着急,没有认真做,第二个有些东西是我无意中发现的,可能不存在所谓的逻辑性,所以我不好讲我的结果是怎么得来的,总不能跟大家说我是瞎猫碰耗子吧?这会害人的,所以我没有去讲,其实是需要各位去发现,去理解,所以我一直强调的是,自己不动手,永远学不会!真理,永远需要自己去寻找,,,,在学习的过程中,要多问自己为什么?而不是问别人为什么!记住我这句话,,,,

逆向正文:
这个课件也是别人玩过的,我也是抱着学习的心态是调试了一遍,看看有没有什么是值得发现的,然后居然发现是一个E语言的程序,用的是注册文件型验证,把注册码放到一个文件
由程序特定的读取方式进行比对,挺有意思,所以发出来给大家说一下这种套路,逆向重启验证也是类似的方法,,,

载入OD,我们发现程序已经被加了压缩壳,这里,首先我要说明一点的是,我并不是很推荐大家用什么peid之类的东西,理由有两点:
1.简单壳,有脱壳机,不需要你手脱,知道这么个原理就行,反正脱壳的思路你也不知道是怎么得出来的,追寻更是浪费时间
2.加密壳,可能每天脱壳机,你手脱有可能自己没这个能力,那么纯属浪费时间,,,,

以上仅是我个人观点,不爽请跳过
1.jpg
由入口点可知这个是一个aspack,脱壳机自寻,脱完以后再把脱壳完毕的文件载入进OD,我们来找注册的地方
2.jpg

首先你要逆向它,那么必定要找到注册点,或者是功能处的缺损(未注册无法使用等限制),这里如果你了解这个程序是最好,不了解的话也没关系,等会搜字符串有可能会有发现

那么很明显,这里不是常规的套路,不使用注册码,使用注册码文件,到这一步,你所能想到的思路只能是在对比处,那么如何找到这个对比处呢?

函数:ReadFile 或 OpenFile 或 CreateFile

这三个函数都是跟读文件有关系的,(.ini可能除外,它有专门的函数)

这是目前位置我们能想到的方法之一,但是我这里不使用,为什么?如果大家有下过LoadLibraryA这个断点,你会发现,如果是有很多dll需要载入的话,他很难找到这个点,,所以抛弃之

接下来我上面提到了另外一个方法,找功能缺损处,或者说是限制,如果你不熟悉程序,那么我们来字符串找找,看是否会有发现

"亲爱的用户,软件注册后,将直接把此收据信息传递给打印机打印"
"注册后我才会离开,就是这么任性"

这两个点,共同处我们来看一下,看是否发现什么?
3.jpg 33.jpg
-----------------------------------------------------------------------------------------------------------------------cmp
4.jpg 44.jpg

发现:
00494FCA    83C4 04         add esp, 0x4
00494FCD    8B45 E8         mov eax, dword ptr [ebp-0x18]      非固定值(偏移)
00494FD0    83E0 01         and eax, 0x1
00494FD3    83F0 01         xor eax, 0x1
00494FD6    85C0            test eax, eax


0046F950    83C4 04         add esp, 0x4
0046F953    8B45 E4         mov eax, dword ptr [ebp-0x1C]    非固定值(偏移)
0046F956    83E0 01         and eax, 0x1
0046F959    83F0 01         xor eax, 0x1
0046F95C    85C0            test eax, eax

偏移结果来自:
0046F90B    E8 2649FAFF     call 00414236
经过此句代码以后,eax的值传递给了非固定的偏移

那么分析得出,这个call所代表的作用,其实是跟其他语言(如Delphi)地址常量是一样的作用
我们再来看这个call处的一些比较关键的代码 算法部分跳过,确实对算法不敢兴趣、、、
5.jpg

这里可以看出,他的代码没有用常规的判断,而是用了一个循环来进行判断,事实上这个写法我个人感觉还是挺好,

那么,在易语言当中,一般1代表为真,0代表为假,即eax=1为真,eax=0为假
当我们在这个jg下断,并点开菜单栏的软件注册时,这里被断下,说明这里是判断是否注册的点,
恰好这里jg是跳转是实现的,那么就是说他会执行mov eax,0 而不执行mov eax,1

综上:我们需要mov eax,1,才能使程序为注册版
得出分析方法:
1.修改JG为MOP
2.此call的段首处修改mov eax,1   retn 18

这里2方法是理由是:因为他这里应该是我们说的关键call,所以他兼计算+判断两个功能,所以计算方面我们就可以不要了,直接得出结果,retn 18是因为段首段尾要相对应,段尾是retn 18
所以在段首我们也要retn 18才不会出错,这个call是所有判断是否注册的关键处,也可以说所有功能是否限制都是从这里传递出结果,所以我们改这个call是一劳永逸的方法,,,

总结:
如果遇到类似的易语言型软件,我们可以通过找出功能限制的相同点来进行锁定关键call,并修改出正确值达到逆向的目的!

由于这个程序如果进行逆向传播可能涉及侵权问题,本人为了避免不必要的麻烦在此声明只做研究分析之用,不放出逆向版本以及软件,忘见谅!

程序名:电费管理系统2016旗舰版


评分

参与人数 21威望 +1 HB +48 THX +12 收起 理由
lies + 1
longge188 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
sjtkxy + 2 + 1
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 1
Jawon + 1
DDK4282 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Soul1999 + 1
boot + 1
冷亦飞 + 1
消逝的过去 + 2
yexing + 1
娄胖胖 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
叶落花开 + 2
sahacker + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
一个good而已 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
1906 + 1 + 1 分享精神,是最值得尊敬的!
公子世无双 + 1 + 1 分享精神,是最值得尊敬的!
Shark恒 + 1 + 30 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| Shy 发表于 2016-7-19 22:12 | 显示全部楼层

大家没事的时候也可以去想想,为什么他的硬件ID,或者说是机器码是乱码?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-7-20 13:25 | 显示全部楼层

昨天晚上刚发布的时候看到了,孩子跟我捣乱,后来忘了操作置顶了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pwh123 发表于 2016-7-24 11:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
叶良辰和赵总 发表于 2016-7-24 12:12 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
cupgg 发表于 2016-7-25 13:52 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
langzi 发表于 2016-7-27 08:40 | 显示全部楼层

感谢高手的教程
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zhuangyi 发表于 2016-7-27 09:17 | 显示全部楼层

简单易懂,感谢老师精彩分析。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
海天一色001 发表于 2017-3-30 17:36 | 显示全部楼层

为了搞明白重启验证,对楼主的很多文章进行了学习,很佩服!今天的评分已经没了,下次补上!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-4-7 04:39 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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