吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 41910|回复: 70
收起左侧

[原创] E4A-易安卓3.9注册码爆破

  [复制链接]
拓海真一 发表于 2014-8-11 00:36
本帖最后由 拓海真一 于 2014-8-11 00:56 编辑

今天简单分析下E4A的破解方法,其实是灰常简单滴,仅供学习,支持正版
首先查壳,各种软件检测,各种入口分析,得出是UPX 小生大牛的UPX脱壳机就可以搞定,在此之前呢,我们先不脱壳,因为他是有暗装的,一旦脱壳就会秒退,MD5的破解最后会讲到
咳咳 好了,重点不在壳和自校验,我们继续看

1.先看下验证方式
这款软件是有可以算是三个验证方式,1:注册码验证,2:QQ网络验证,3:加密狗验证
最简单的当然还是注册码验证跟QQ网络验证啦,第三种验证方式我就先淘汰了
2.输入错误注册码查看效果
1.jpg

有个信息框 那就继续下API断点 bp MessageBoxA

2.jpg

断下后我们返回到易原体

3.jpg

向上追溯一直到某个JMP

4.jpg
这个JMP是会跳到这里的 通过简单的逻辑判断就可以知道是某个判断成立了 所以跳到了失败 (破解有A片送吗


5.jpg

继续追溯到上图的地方,短跳跟长跳的区别是代码的长短,如果跳转到的地方距离目前过长某个字节 就会是长跳,短跳一般是可以忽略的, 长跳的机器码是占六个字节的
OK 那就是说这里je只要nop掉就可以注册成功了,我们来看看
6.jpg

OK 这下就可以用了,但是目前高兴还是太早了哟,因为这仅仅是注册提示成功了,编译还会验证

7.jpg

小受君不乖哟, 我们继续在je上面找,恒大说的关键CALL

[Asm] 纯文本查看 复制代码
005B1580   /E9 C5040000     jmp E4A.005B1A4A
005B1585   |6A FF           push -0x1
005B1587   |6A 08           push 0x8
005B1589   |68 93A30116     push 0x1601A393
005B158E   |68 90A30152     push 0x5201A390
005B1593   |E8 78410300     call E4A.005E5710
005B1598   |83C4 10         add esp,0x10
005B159B   |8945 FC         mov dword ptr ss:[ebp-0x4],eax
005B159E   |8D45 FC         lea eax,dword ptr ss:[ebp-0x4]
005B15A1   |50              push eax
005B15A2   |E8 34ABF6FF     call E4A.0051C0DB
005B15A7   |8945 F8         mov dword ptr ss:[ebp-0x8],eax
005B15AA   |8B5D FC         mov ebx,dword ptr ss:[ebp-0x4]
005B15AD   |85DB            test ebx,ebx
005B15AF   |74 09           je XE4A.005B15BA
005B15B1   |53              push ebx
005B15B2   |E8 35410300     call E4A.005E56EC
005B15B7   |83C4 04         add esp,0x4
005B15BA   |837D F8 00      cmp dword ptr ss:[ebp-0x8],0x0


从上面可以看出有3个CALL 最后一条cmp是判断 ebp-0x8 这样的话就是说明某个CALL有push出关键或者mov给ebp-0x8关键数据
经过查看 发现
[Asm] 纯文本查看 复制代码
005B15A1    50              push eax
005B15A2    E8 34ABF6FF     call E4A.0051C0DB
005B15A7    8945 F8         mov dword ptr ss:[ebp-0x8],eax

这个CALL下面会将ebp-0x8的值更改为eax的值 那就是说这个就是关键CALL
我们再依据je判断的值来看 只要让这个call执行后eax的值为非0就可以了
那我们回车进入CALL 来更改一下他的返回
[Asm] 纯文本查看 复制代码
0051C0DB    B8 01000000     mov eax,0x1
0051C0E0    C2 0400         retn 0x4
0051C0E3    90              nop

注意这里的retn 0x4必须跟原来的retn一样

然后我们运行起来再编译一次看看
8.jpg
这样就没问题了
接下来就是打补丁什么的乱七八糟的 补丁不需要操心什么
3.写出修改版程序
我们先用UPX脱壳机直接脱壳,脱壳后运行看看报不报错,我这里运行起来后发现程序正常打开了但是却秒退了,那我们就继续载入od,发现有时候载入od不运行 时间过长以后再F9运行会直接闪退,通过各种退出API和线程终止的API拦截发现都不会断下,由此我们可以肯定是有外部程序阻止了程序的运行,首先我就把杀软关了,发现还是一样,通过观察任务管理器发现 E4A\sdk\tools\lib\adbtool.exe 这个程序正在运行,所以我先把它结束了,然后在od运行,发现可以运行起来了,但是时间长了又被终止了,而 E4A\sdk\tools\lib\adbtool.exe 又被运行起来了,首先结束掉这个程序 然后拖入od 查找字符串
9.jpg
发现了一个字符串很让人觉得可疑 95EB58995A32353F7D4F2A59021F7CD4 于是我用哈希计算器计算了原E4A.exe的哈希值 发现跟这个值一样 ,说明这个程序无论有无其他用处 主要的用途还是在防破解,我们双击字符串进入
[Asm] 纯文本查看 复制代码
0040155A   > \68 AA4B4800   push adbtool_.00484BAA                   ;  95EB58995A32353F7D4F2A59021F7CD4
0040155F   .  FF75 DC       push dword ptr ss:[ebp-0x24]
00401562   .  E8 40FCFFFF   call adbtool_.004011A7
00401567   .  83C4 08       add esp,0x8
0040156A   .  83F8 00       cmp eax,0x0
0040156D   .  B8 00000000   mov eax,0x0
00401572   .  0F95C0        setne al

原理是计算程序和这个哈希值对比 那么我们只要让他的返回值是0就可以了,双击 0040155A   > \68 AA4B4800   push adbtool_.00484BAA  修改为 mov eax,0x0 然后将call adbtool_.004011A7  nop 掉
这里注意要将CALL下的00401567   .  83C4 08       add esp,0x8 也NOP掉 否则会导致堆栈不平衡发生崩溃

到这里就全部修改完成了,接下来修改主程序然后写出文件就不用我多说了吧 然后运行起来 就不会被终结了,小猫腻已经被大老鼠吃掉了,小受君,看你还不乖

10.jpg

到此教程就结束了,仅供参考

@洛克、菲菲 @Shark恒 @瓜子吧3 @Hmily

还有@wan198600 同学 我发布爆破是为了学习,并不是主张破解软件使用来的 如果你想要更好的软件破解版就要学会从中学习经验自己动手破解想要的,不要做伸手党
2.jpg

点评

君不乖哟  发表于 2014-12-8 19:46
看着标题我以为你又追码又爆破。。  发表于 2014-8-11 14:39

免费评分

参与人数 24热心值 +24 收起 理由
610100 + 1 谢谢@Thanks!
憬哥破解 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
晓寒歌 + 1 谢谢@Thanks!
cold-snap + 1 热心回复!
紫苏丶 + 1 嘿嘿,我来支持
tchivs + 1 热心回复!
___她城失心 + 1 感谢小R送我A网站!笑尿
无邪 + 1 学习到了
在路上的人 + 1 谢谢@Thanks!
orachard + 1 鼓励转贴优秀软件安全工具和文档!
逆向学习菜鸟 + 1 高手膜拜,e4a新版本可以不
吾爱扣扣 + 1 先支持在看!
9456-XN + 1 又学了几招!
my1229 + 1 支持楼主的详细分析来学习了!
Doubear + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
瓜子吧3 + 1 大牛我爱你。我喜欢你的教程。
ww1113330 + 1 我很赞同!
yuan71058 + 1 我很赞同!
zaq2610079 + 1 热心回复!
Syer + 1 已答复!
洛克、菲菲 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
wan198600 + 1 爆破点有用点的软件,这些没啥用啊!!
Shark恒 + 1 这么友好的程序……
羅少 + 1 膜拜~~~楼下队形跟好!!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 拓海真一 发表于 2014-8-11 00:43
沙发被Hmily秒占了

免费评分

参与人数 1热心值 +1 收起 理由
瓜子吧3 + 1 楼主可以顶楼层的呀,一顶就超过他了。

查看全部评分

吾爱扣扣 发表于 2014-8-12 11:58
拓海真一 发表于 2014-8-12 00:33
将eax置零是因为 这是一个条件处理 就是比较a 和 b字符串 如果相同就返回0 不相同返回1 所以这里要置0,n ...

没有看到je啊

[Asm] 纯文本查看 复制代码
0040155A   > \68 AA4B4800   push adbtool_.00484BAA                   ;  95EB58995A32353F7D4F2A59021F7CD4
0040155F   .  FF75 DC       push dword ptr ss:[ebp-0x24]
00401562   .  E8 40FCFFFF   call adbtool_.004011A7
00401567   .  83C4 08       add esp,0x8
0040156A   .  83F8 00       cmp eax,0x0
0040156D   .  B8 00000000   mov eax,0x0 //这里不是自己清零了吗
00401572   .  0F95C0        setne al

点评

哦哦 没看清楚你代码中标的 这里清零无效是因为cmp是在mov的上面 会先给Z标志位再清零 这时的eax就已经没用了  发表于 2014-8-12 16:35
cmp eax,0x0是为了让Z标志位为1 我没截取je部分 je会判断Z标志位是否为1  发表于 2014-8-12 15:36
Hmily 发表于 2014-8-11 00:39
大半夜不睡觉写教程困不困?

点评

大半夜写教程你说为了谁。。不就是为了52pojie网友嘛~~嘿嘿~~  发表于 2014-8-13 01:51
大半夜不睡觉看论坛困不困?  发表于 2014-8-11 08:31
羅少 发表于 2014-8-11 00:46
前排支持一下
 楼主| 拓海真一 发表于 2014-8-11 00:53
@Shark恒 说好的精呢
pojie668 发表于 2014-8-11 00:56
大神来了,进来学习了
yyangnann 发表于 2014-8-11 00:58
技术贴 太帅了 呵呵
虽然我看不懂
洛克、菲菲 发表于 2014-8-11 01:15
前排占座啊!!!!
bianyuan456 发表于 2014-8-11 02:34
想要成品!
ww1113330 发表于 2014-8-11 08:26
楼主大牛啊!学习下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-30 05:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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