吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8623|回复: 50
收起左侧

[原创] 爆破某apk逆向软件pro版(G..D...A3.87版)

  [复制链接]
无闻无问 发表于 2021-1-22 15:45
本帖最后由 无闻无问 于 2021-1-22 15:45 编辑

    一个很牛的软件,有免费版和专业版,可分析、修改apk文件。经过多年更新和维护,已经很不错了……    更多情况,请登录官网了解!
一、加壳了,区段情况。


1.png

二、未注册情况。
1.      帮助菜单中有注册输入。
2.      打开一个apk或其它功能,会提示未注册。
3.      每隔一定时间会提示未注册,并退出软件。

2-1.png

2-2.png

三、去除注册提示。
文件打开文件,选择一个apk,会出现注册提示框,功能不可用。
如何定位,方法有很多:如可搜索英文提示字符串后,下内存访问断点定位。
我这里就用比较快的暂停法。当然,还有其它方法,不过,下对话框等断点会无效……
文件打开文件,选择一个apk,待出现注册提示框,暂停程序,堆栈中找可疑情况……

3.png

跟过去,可看到mfc的模态对话框调用……

3-2.png

堆栈中再回溯往上找一层,看到未注册提示内容……

3-3.png

一个关键值判断:0044AAB0 |.  39B3 78090000   cmpdword ptr ds:[ebx+0x978],esi  ; GDAE3_87.005F660C
说明[ebx+0x978]中的值,很可能就是注册与未注册的保存地方……
选中它,右键查找参考---地址常量……

4.png

比较和取值的都不管,只关心赋值,赋值两句下断即可……
重载程序(为什么要重载?因为有重启验证,搞定重启验证,一切都解决了)……
因为有壳,重载程序,断点会被禁用,所以得找一个时机启用断点……
方法有很多,我这里主要用了在资源段下内存访问断点的方法,待内存断点断下后,启用断点,再将资源段内存断点删除……
断下了,在这里:

5.png

Eax0,给了目标地址,eax是这句计算的:
00442235      25 FF000000                     and eax,0xFF
上方还有个call,关键call,进去后发现很多地方调用,且会有不同的返回值,所以里面不好动,就改这一句了,将and 指令修改为or 即可……
修改后进入程序,文件打开文件,选择一个apk,没有提示了……
再看看注册菜单,成灰色了,说明重启验证去除了……

6.png


四、解决定时验证。
每隔一段时间,会触发验证,再次提示未注册并自动退出……
有趣的是,你不打开文件分析,它基本不提示……
猜想,这种验证多半与创建线程CreateThread和时钟函数SetTimer有关……
CreateThread函数断点。[esp+c]<0x70000000加上条件断点,只关注程序创建线程,系统的不管……
断下后,选中线程回调函数在反汇编窗口中跟过去,段首下断……
经过跟踪,目前我发现有3个地方创建了线程(我测试了一小段时间,不排除还有)……
3个线程回调函数跟过去,功能差不多,具体什么功能没有详细分析,但看代码较短,应该就是一种反调试手段,究竟是不是,等待大家分析呵……
这里,直截了当,回调函数头部retn……



7.png




大概3处:


---->1
00445A10      55                             push ebp                             ;  retn 8,retn… =======C2 0800
00445A11      8BEC                         mov ebp,esp
00445A13  |.  81EC DC010000        sub esp,0x1DC                        ;  retn 0x8
00445A19  |.  53                              push ebx                             ;  GDAE3_87.0044F28C
00445A1A  |.  56                              push esi                             ;  msvcrt.7779317C
00445A1B  |.  57                              push edi
00445A1C  |.  50                              push eax
00445A1D  |.  55                              push ebp
00445A1E  |.  E8 02000000              call GDAE3_87.00445A25
00445A23  \.  C3                              retn


55 8B EC 81 EC DC 01 00 00 53 56 57 50 55 E8 ???????? C3
---->2
0044BEE0      55                             push ebp                             ;  retn 0x10                        =======C2 1000
0044BEE1      8BEC                         mov ebp,esp
0044BEE3  |.  81EC 74010000         sub esp,0x174                        ;  retn 0x10
0044BEE9  |.  53                              push ebx                             ;  GDAE3_87.0044F28C
0044BEEA  |.  56                              push esi                             ;  msvcrt.7779317C
0044BEEB  |.  57                              push edi
0044BEEC  |.  53                              push ebx                             ;  GDAE3_87.0044F28C
0044BEED  |.  51                              push ecx
0044BEEE  |.  50                              push eax
0044BEEF  |.  55                              push ebp
0044BEF0  |.  E8 04000000             call GDAE3_87.0044BEF9
0044BEF5  \.  C3                              retn


55 8B EC 81 EC 74 01 00 00 53 56 57 53 51 50 55 E8 ???????? C3
---->3
0044C520      55                             push ebp                             ;  retn 10                                =======C2 1000
0044C521      8BEC                         mov ebp,esp                          ;  retn 10
0044C523  |.  81EC 30010000         sub esp,0x130                        ;  retn 10
0044C529  |.  53                              push ebx                             ;  GDAE3_87.0044F28C
0044C52A  |.  56                              push esi                             ;  msvcrt.7779317C
0044C52B  |.  57                              push edi
0044C52C  |.  53                              push ebx                             ;  GDAE3_87.0044F28C
0044C52D  |.  51                              push ecx
0044C52E  |.  50                              push eax
0044C52F  |.  55                              push ebp
0044C530  |.  E8 04000000             call GDAE3_87.0044C539
0044C535  \.  C3                              retn


55 8B EC 81 EC 30 01 00 00 53 56 57 53 51 50 55 E8 ???????? C3

Ok,全部修改后,测试了一会儿,发现基本没问题了……
最后打补丁,用“PYG内存破解补丁制作工具”制作补丁,因为有壳,所以要hook 一个时机,hook哪个dll和函数,大家自己测试,我的配置如下:

PYG补丁.png

由于测试时间不是很长,部分修改处也没有详细分析代码功能,故可能还有问题,敬请大家测试……
欢迎回帖交流,说得不当的,欢迎大家指正,谢谢!


最后说明,不提供补丁!不提供补丁!不提供补丁!敬请理解!

点评

收录到破敌经典战例中去!  发表于 2021-11-3 22:22

免费评分

参与人数 14威望 +1 吾爱币 +39 热心值 +14 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yuriki2009 + 1 + 1 谢谢@Thanks!
涂秋 + 1 热心回复!
liy00000 + 1 + 1 用心讨论,共获提升!
CrackMore + 1 + 1 用心讨论,共获提升!
sxssl + 1 + 1 谢谢@Thanks!已按照楼主分析,搞定了3.88版,谢谢!
笙若 + 1 + 1 谢谢@Thanks!
caleb110 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
冥界3大法王 + 4 + 1 这个素材好,值得练手。
jn1688 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
FleTime + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
17877087703 + 1 + 1 热心回复!
boyving + 3 + 1 我很赞同!
zxy453326 + 1 + 1 我很赞同!

查看全部评分

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

冥界3大法王 发表于 2021-1-23 12:08
@无闻无问
看了兄台的贴子
又想到了美剧霹雳游侠
又想到了自己贴子中想到的新内容
于是我编程开发了新式工具、再加上这位仁兄的加壳破解方式,我想到了进级修改的自动化工具。
 楼主| 无闻无问 发表于 2021-1-26 16:26
冥界3大法王 发表于 2021-1-26 13:43
@无闻无问
https://bbs.pediy.com/thread-264993.htm
Keygen 能否改改?

看雪版主开发的软件,居然破解版发到他门口了…这些兄弟是在挑衅啊
szs6008 发表于 2021-1-22 15:55
dtl521 发表于 2021-1-22 16:11
学习技术就得多交流
芯醉紅颜 发表于 2021-1-22 16:12
感觉很强大的样子
ListenTony 发表于 2021-1-22 16:13
大佬厉害!!!!收藏了
zxy453326 发表于 2021-1-22 16:20
大佬这个好学不
默沧桑 发表于 2021-1-22 16:37
感谢楼主分享
列明 发表于 2021-1-22 16:44
這個apk逆向軟件看起來很緑啊!
twoqing 发表于 2021-1-22 16:46
这才是真正的大佬级别
boyving 发表于 2021-1-22 16:55
这东西我都不知道普通版和pro版本有什么区别。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-16 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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