吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 7812|回复: 113

[悬赏杀手视频] 穿山甲Armadillo 9.x高版本手动过注册并手动脱壳

  [复制链接]
boot 发表于 2022-7-17 09:18 | 显示全部楼层 |阅读模式

运行环境:
Win2003、Win7 x64;Win10 x64;
涉及工具:
OllyDbg 1.10、Scylla 0.98、Lord PE、ImpREC 1.7;
教程类型:
破解限制;
视频是否带有论坛水印:
是;视频前五秒及记事本课件带有论坛水印;
是否讲解思路和原理:
是;
是否为悬赏杀手:
是;https://www.52hb.com/thread-56501-1-1.html

以下为图文内容:

                                                                                         穿山甲Armadillo 9.x高版本手动过注册并手动脱壳
                                                                                                            boot     吾爱汇编论坛
                                                                                                         Always your best friend !

2022.07.16
============
这份教程分为两大部分:
        1、过注册并解码;
        2、在1、的基础上,直接脱壳;
============
关于Armadillo穿山甲壳:
        Armadillo 授权特征,硬件特征码xxxx-xxxx(比如200C-A9BD)密钥为xx xxxx-xxxx-xxxx-xxxx(比如34 BEEA-ED90-F536-DC77);
        Armadillo 9.x版本特征,PEID 0.9x查壳显示Microsoft Visual C++ 8 *,区段是.text1,载入OD的第一句是CALL xxxxxxxx,相邻几句为JMP xxxxxxxx;
        输入正确的密钥后,注册框消失,正常载入软件;
============

================================================
第一部分        1、过注册并解码;
================================================
1、过注册并解码;
通过查壳并载入OD,观察基址004开头,初步判断:这是个伪装成dll的exe文件,把后缀改成exe,果然是。
一般dll基址或者地址是1xx开头或者2xx,甚至更大...

准备,
非常推荐在XP或者Win 2003脱壳;

正版硬件特征码:200C-A9BD        <=>        简写成200CA9BD
正版密钥:34 BEEA-ED90-F536-DC77

我的硬件特征码:DFF0-ADF0        <=>        简写成DFF0ADF0

步骤:
        (1)VirtualProtect下断一次,观察堆栈,获取到关键地址:00E51000
注意:
xp或者win 2003 系统只用断1次即可取得关键地址,我的Win7 x64虚拟机断到第11次才能取到关键地址,Win10 x64虚拟机是断1次就能取到了;
但是,xp或者win 2003系统下的关键地址是固定的;Win7 x64、Win10 x64的关键地址是动态变化的,即使关闭ASLR也无法解决,这给我们脱壳或者打补丁的定位造成干扰;
所以推荐XP 或者Win 2003系统进行操作;

        (2)跟随这个关键地址:00E51000  ;跟进段首,右键->查看->参考文本字符串,搜索FINGERPRINT
        (3)这个00E66F01 是生成机器码的地方,我们找这个关键call   00E66EDF 断下,断下之后跟进,直到单步到段尾,段尾下断。
          此时段尾的地址,我们标记成“拦截机器码”地址:00E5B53F
        (4)观察此时的寄存器EAX==,寄存器的值就是我们硬件特征码的值;我们修改成正版的硬件特征码,连续改8次,按8次F9;直到弹出注册成功,此时注册信息已写入。
一般情况下注册核对通过后,会直接载入软件界面,此时却直接报错;
        (5)处理报错,以及报错原因分析?

报错原因分析?
============
DLL的优先加载原则:
dll加载机制:就近加载原则:如果exe目录下有同名dll则加载这个dll,如果找不到,则加载系统的dll。

即:这个软件运行必须具备mfc100.dll组件;这个组件必须位于和软件xieru.exe同一目录,软件运行后会优先加载目录下的mfc100.dll;
如果软件目录找不到mfc100.dll,则加载系统system32文件夹下的默认mfc100.dll。

被这个软件坑过,网上下载的mfc100.dll无法兼容软件,即使正确过注册后,软件仍然缺少组件,无法运行;自然无法进行下一步脱壳;
所以用软件包自带的mfc100.dll。

另外,再举个例子,常用的劫持补丁,通常劫持一个特殊的dll:winspool.drv ,这是个打印机驱动文件。软件启动后优先加载exe目录下的winspool.drv;
一般补丁喜欢劫持这个从而破解......

============
        (6)处理报错后,再次尝试过注册。
        可以看到,这次是需要补10次机器码(前面是8次,这次再补2次);软件成功运行,搜索401000可以看到已经解码,字符串也可以被搜索到了。
=================第一部分(完)======================

================================================
第二部分        2、在1、的基础上,直接脱壳;
================================================
2、在1、的基础上,直接脱壳;
        (1)VirtualProtect中断一次,之后在“拦截机器码”地址:00E5B53F   直接下断;修改八次机器码,留意,改完第八次后不要按F9;
        (2)GetModuleHandleA中断一次,之后执行到用户代码;
                2.1)Bypass Magic_JMP 并过解码校验:
                修改三处:
                Magic_JMP 00E9006C
00E9006C   /EB 5F           jmp     short 00E900CD                   ; Magic_JMP


                JNZ_1  00E900D9
00E900D9    90              nop                                      ; JNZ_1
00E900DA    90              nop


                JNZ_2 00E9011A
00E9011A    90              nop                                      ; JNZ_2
00E9011B    90              nop



在两个salc之前的JMP断下后撤销三处修改;并在“拦截机器码”地址: 00E5B53F  继续下断;继续补两次机器码,改完第2次后不要按F9,
        (3)CreateThread中断一次,之后执行到用户代码;
        (4)单步到CALL EDX,F7单步,进入到OEP;此时到达OEP;

脱壳、修复与跨平台(跨系统):
1.推荐:用Scylla_x86 CN.exe修复,遇到无效指针直接删除掉即可,经过Scylla 0.98修复的,是可以实现跨平台(跨系统)的;
2.不推荐用:ImpREC FINAL 1.7汉化版修复,只能本机运行,不能跨平台,应该指针修复问题,具体我没单步跟......;

测试跨平台:
Win XP、Win 2003:OK
Win 7 x64:部分OK
Win 10 x64:部分OK

=================第二部分(完)======================


现象,XP或者Win 2003最适合脱壳/Patch。Win7、win10,Patch之后如果文件不全,有概率无法正常载入/报错。
============
为什么是八次?因为之后kernel32.dll是合适的返回时机。
为什么补两次?因为软件需要总共修改10次才能正常解码并运行;
总思路:八次,留意,改完第八次后不要按F9,GetModuleHandleA;Bypass Magic_JMP 并过解码校验 ,在两个salc之前的JMP断下后恢复。继续补两次机器码,改完第2次后不要按F9,CreateThread 单步到OEP。

还有其他问题?
============
Q:破解Armadillo授权必须需要一个正版硬件码和正版密钥吗?
A:是的,一个正版硬件码匹配一个正版密钥,如果密钥不对,则无法解码,00401000段首为空,解码失败,程序无法运行;
我尝试过,低版本或许可以通过暂停+单步定位到关键跳,并且在修改关键跳后能够跳过注册框,但是只是提示正确注册,但仍然无法载入软件。

Q:关于补丁?
A:我尝试过baymax补丁或者是其他补丁,无法劫持/无法中断,所以放弃了打补丁的想法。
早期版本是可以通过制作Security.dll补丁进行过注册,由于我没有补丁及源码,所以没有尝试过。

Q:此类程序最好的解决措施?
A:直接脱壳,其步骤是:Patch机器码->过注册->Bypass校验->脱壳。

============
Q:附带一提?脱壳时机,为什么是到了OEP且程序处于(Pause)暂停的状态下,进行Dump并修复?为什么不是(Run)的状态完成?
A:程序运行后,全局变量改变,此时脱壳,Dump时机不对,会导致脱壳后报错。
============

OK!


截图预览:

62d362402c113.jpg

62d3629ad69b3.jpg

62d362da77e5a.jpg


文件预览:
视频:28min、78.5MB;课件9.0MB;

下载链接:
游客,如果您要查看本帖隐藏内容请回复


@寒宇 问题不大,决定上传教程;

评分

参与人数 43威望 +1 HB +74 THX +24 荣耀 +1 收起 理由
再来壹瓶 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
白丁老师 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
lies + 1
沙鹰 + 1
无哩头 + 1 + 1
longge188 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
Hcs_Win + 2
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
24567 + 1
attackmyth + 2 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
创客者V2.0 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
Cerolluo + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
飞天马 + 1
后学真 + 1
银河星光 + 1
xunweikj + 1 + 1 下载链接失败了麻烦从新上一下谢谢
三斤回锅肉 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
爱汇编爱汇编 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
蚁上火 + 1 取消下载了,无效文件
金少 + 1
君杰 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
吃个大西瓜 + 1
中国码农 + 1
飞刀梦想 + 1
ST手怎么白了 + 5 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
车太震 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
往生三川 + 1
啊啊啊了 + 1
app9583 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
52bug + 6 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
iiuu122 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
莣孒嬡沵芣蓜 + 6 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
temp + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zyyujq + 1 + 1
pygicx + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
寒宇 + 3 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
尛航 + 1
192939 + 1 + 1
LZW1768857595 + 6 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
Shark恒 + 1 + 20 + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2022-7-17 10:03 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ffirefoxABC 发表于 2022-7-17 10:03 | 显示全部楼层

谢谢分享!!!!!!!!!!!!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LZW1768857595 发表于 2022-7-17 10:32 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jzh 发表于 2022-7-17 10:43 | 显示全部楼层

很好的事例教程,学习方法了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
xiaolei147 发表于 2022-7-17 10:53 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
192939 发表于 2022-7-17 11:02 | 显示全部楼层

感谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
666888tzq 发表于 2022-7-17 11:14 | 显示全部楼层

厉害了,膜拜大佬。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yzjiaren 发表于 2022-7-17 11:27 | 显示全部楼层

看看这个教程如何呢
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
BEYOND3892 发表于 2022-7-17 13:12 | 显示全部楼层

感谢分享,下载学习一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

1层
赞帖
2层
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

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