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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9588|回复: 10
收起左侧

[分享] 吉祥天的壳“手脱Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks

[复制链接]
ciik 发表于 2009-3-28 21:29
本帖最后由 wgz001 于 2009-3-29 08:13 编辑

【破文标题】手脱Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks
【破文作者】一杯凉茶
【作者邮箱】lxk836@126.com
【作者主页】A/N
破解工具】peid0.94+OD+ArmInline0.96+LordPE+ImportREC+Enjoy
【破解平台】盗版XPsp2
【软件名称】..........
【软件大小】..........
【原版下载】...........
【保护方式】壳
【软件简介】
【破解声明】本文仅供研究学习,本人对因这篇文章而导致的一切后果,不承担任何法律责任。本文中的不足之处请各位多多

【破解过程】1. OD 载入 忽略所有异常,插件隐藏OD.
00946000 >   60               PUSHAD
00946001     E8 00000000      CALL FlyWoool.00946006
00946006     5D               POP EBP
00946007     50               PUSH EAX
00946008     51               PUSH ECX
00946009     0FCA             BSWAP EDX
0094600B     F7D2             NOT EDX
0094600D     9C               PUSHFD
0094600E     F7D2             NOT EDX
00946010     0FCA             BSWAP EDX
00946012     EB 0F            JMP SHORT FlyWoool.00946023
00946014     B9 EB0FB8EB      MOV ECX,EBB80FEB
00946019     07               POP ES                                    ; 段寄存器修饰
0094601A     B9 EB0F90EB      MOV ECX,EB900FEB
0094601F     08FD             OR CH,BH
++++++++++++++++++++++++++++++++++++++++
下bp OpenMutexA    SHIFT+F9到这里
0094F5C3     F0:              PREFIX LOCK:                              ; 多余前缀
0094F5C4     F0:C7            ???                                       ; 未知命令
0094F5C6     C8 64678F        ENTER 6764,8F
0094F5CA     06               PUSH ES
0094F5CB     0000             ADD BYTE PTR DS:[EAX],AL
0094F5CD     83C4 04          ADD ESP,4
0094F5D0     C3               RETN
0094F5D1     03C5             ADD EAX,EBP
0094F5D3     C3               RETN
0094F5D4     B9 EA7A0000      MOV ECX,7AEA
0094F5D9     C3               RETN
0094F5DA     B8 661A0000      MOV EAX,1A66
0094F5DF     C3               RETN
出现异常,手动添加最近的异常,SHIFT+F9到这里
7C80EA1B >   8BFF             MOV EDI,EDI
7C80EA1D     55               PUSH EBP
7C80EA1E     8BEC             MOV EBP,ESP
7C80EA20     51               PUSH ECX
7C80EA21     51               PUSH ECX
7C80EA22     837D 10 00       CMP DWORD PTR SS:[EBP+10],0
7C80EA26     56               PUSH ESI
++++++++++++++++++++++++++++++++++++++++++++++++
ALT+F9 返回到这里
0091E735     85C0             TEST EAX,EAX
0091E737     74 04            JE SHORT FlyWoool.0091E73D
0091E739     C645 DC 00       MOV BYTE PTR SS:[EBP-24],0
0091E73D     8B45 DC          MOV EAX,DWORD PTR SS:[EBP-24]
0091E740     25 FF000000      AND EAX,0FF
0091E745     85C0             TEST EAX,EAX
把0091E735    74 04            JE SHORT FlyWoool.0091E73D   改为JNZ
SHIFT+F9 到这里
7C80EA1B >   8BFF             MOV EDI,EDI
7C80EA1D     55               PUSH EBP
7C80EA1E     8BEC             MOV EBP,ESP
7C80EA20     51               PUSH ECX
7C80EA21     51               PUSH ECX
7C80EA22     837D 10 00       CMP DWORD PTR SS:[EBP+10],0
7C80EA26     56               PUSH ESI
ALT+F9到这里
0091EB37     85C0             TEST EAX,EAX
0091EB39     0F85 7A020000    JNZ FlyWoool.0091EDB9
0091EB3F     6A 01            PUSH 1
0091EB41     FF15 88609500    CALL DWORD PTR DS:[<&KERNEL32.GetCurrent>; kernel32.GetCurrentThread
0091EB47     50               PUSH EAX
把0091EB39     0F85 7A020000    JNZ FlyWoool.0091EDB9 改为JE
SHIFT+F9到这里   取消断点
7C80EA1B >   8BFF             MOV EDI,EDI
7C80EA1D     55               PUSH EBP
7C80EA1E     8BEC             MOV EBP,ESP
7C80EA20     51               PUSH ECX
7C80EA21     51               PUSH ECX
7C80EA22     837D 10 00       CMP DWORD PTR SS:[EBP+10],0
7C80EA26     56               PUSH ESI
到这一步是双线程改单线程和方法
++++++++++++++++++++++++++++++++++++++
下he GetModuleHandleA+5 后SHIFT+F9,每次都要注意堆栈
一次
001394A4   /0013EBEC
001394A8   |01078091   返回到 01078091 来自 kernel32.GetModuleHandleA
001394AC   |0108CD04   ASCII "kernel32.dll"
001394B0   |0108E084   ASCII "VirtualAlloc"
二次
001394A4   /0013EBEC
001394A8   |010780AE   返回到 010780AE 来自 kernel32.GetModuleHandleA
001394AC   |0108CD04   ASCII "kernel32.dll"
001394B0   |0108E078   ASCII "VirtualFree"
三次
00139208   /001394A8
0013920C   |010665FF   返回到 010665FF 来自 kernel32.GetModuleHandleA
00139210   |0013935C   ASCII "kernel32.dll"
到这里就是返回的时机了
++++++++++++++++++++++++++++++++++++++++++==
取消断点,ALT+F9 到这里
010665FF     8B0D 9C550901    MOV ECX,DWORD PTR DS:[109559C]
01066605     89040E           MOV DWORD PTR DS:[ESI+ECX],EAX
01066608     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
0106660D     391C06           CMP DWORD PTR DS:[ESI+EAX],EBX
01066610     75 2E            JNZ SHORT 01066640
01066612     F647 04 02       TEST BYTE PTR DS:[EDI+4],2
01066616     74 12            JE SHORT 0106662A
01066618     B9 880F0901      MOV ECX,1090F88
0106661D     E8 B86CFFFF      CALL 0105D2DA
01066622     84C0             TEST AL,AL
01066624     0F84 53010000    JE 0106677D
0106662A     8D85 B4FEFFFF    LEA EAX,DWORD PTR SS:[EBP-14C]
01066630     50               PUSH EAX
01066631     FF15 E0710801    CALL DWORD PTR DS:[10871E0]               ; kernel32.LoadLibraryA
01066637     8B0D 9C550901    MOV ECX,DWORD PTR DS:[109559C]
0106663D     89040E           MOV DWORD PTR DS:[ESI+ECX],EAX
01066640     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
01066645     391C06           CMP DWORD PTR DS:[ESI+EAX],EBX
01066648     0F84 2F010000    JE 0106677D                      这个跳就是Magic Jump   改为JMP
0106664E     33C9             XOR ECX,ECX
01066650     8B07             MOV EAX,DWORD PTR DS:[EDI]
01066652     3918             CMP DWORD PTR DS:[EAX],EBX
01066654     74 06            JE SHORT 0106665C
01066656     41               INC ECX
01066657     83C0 0C          ADD EAX,0C
0106665A   ^ EB F6            JMP SHORT 01066652
0106665C     8BD9             MOV EBX,ECX
0106665E     C1E3 02          SHL EBX,2
01066661     53               PUSH EBX
01066662     E8 D3020200      CALL 0108693A                             ; JMP 到 msvcrt.operator new
01066667     8B0D 94550901    MOV ECX,DWORD PTR DS:[1095594]
0106666D     89040E           MOV DWORD PTR DS:[ESI+ECX],EAX
01066670     53               PUSH EBX
01066671     E8 C4020200      CALL 0108693A                             ; JMP 到 msvcrt.operator new
01066676     59               POP ECX
01066677     59               POP ECX
01066678     8B0D 98550901    MOV ECX,DWORD PTR DS:[1095598]
0106667E     89040E           MOV DWORD PTR DS:[ESI+ECX],EAX
01066681     8B07             MOV EAX,DWORD PTR DS:[EDI]
01066683     8985 ACFEFFFF    MOV DWORD PTR SS:[EBP-154],EAX
01066689     8B00             MOV EAX,DWORD PTR DS:[EAX]
0106668B     85C0             TEST EAX,EAX
0106668D     0F84 D4000000    JE 01066767
01066693     33FF             XOR EDI,EDI
01066695     68 00010000      PUSH 100
0106669A     8D8D A8FDFFFF    LEA ECX,DWORD PTR SS:[EBP-258]
010666A0     51               PUSH ECX
010666A1     50               PUSH EAX
010666A2     E8 0CC0FEFF      CALL 010526B3
010666A7     83C4 0C          ADD ESP,0C
010666AA     8D85 A8FDFFFF    LEA EAX,DWORD PTR SS:[EBP-258]
010666B0     50               PUSH EAX
010666B1     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
010666B6     FF3406           PUSH DWORD PTR DS:[ESI+EAX]
010666B9     FF15 C4720801    CALL DWORD PTR DS:[10872C4]               ; kernel32.GetProcAddress
010666BF     8BD8             MOV EBX,EAX
010666C1     B9 880F0901      MOV ECX,1090F88
010666C6     E8 BF3A0000      CALL 0106A18A
010666CB     33D8             XOR EBX,EAX
010666CD     A1 94550901      MOV EAX,DWORD PTR DS:[1095594]
010666D2     8B0406           MOV EAX,DWORD PTR DS:[ESI+EAX]
010666D5     891C38           MOV DWORD PTR DS:[EAX+EDI],EBX
010666D8     6A 01            PUSH 1
010666DA     8D85 A8FDFFFF    LEA EAX,DWORD PTR SS:[EBP-258]
010666E0     50               PUSH EAX
010666E1     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
010666E6     FF3406           PUSH DWORD PTR DS:[ESI+EAX]
010666E9     E8 83050000      CALL 01066C71
010666EE     83C4 0C          ADD ESP,0C
010666F1     8B0D 98550901    MOV ECX,DWORD PTR DS:[1095598]
010666F7     8B0C0E           MOV ECX,DWORD PTR DS:[ESI+ECX]
010666FA     890439           MOV DWORD PTR DS:[ECX+EDI],EAX
010666FD     A1 98550901      MOV EAX,DWORD PTR DS:[1095598]
01066702     8B0406           MOV EAX,DWORD PTR DS:[ESI+EAX]
01066705     833C38 00        CMP DWORD PTR DS:[EAX+EDI],0
01066709     75 25            JNZ SHORT 01066730
0106670B     6A 00            PUSH 0
0106670D     8D85 A8FDFFFF    LEA EAX,DWORD PTR SS:[EBP-258]
01066713     50               PUSH EAX
01066714     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
01066719     FF3406           PUSH DWORD PTR DS:[ESI+EAX]
0106671C     E8 50050000      CALL 01066C71
01066721     83C4 0C          ADD ESP,0C
01066724     8B0D 98550901    MOV ECX,DWORD PTR DS:[1095598]
0106672A     8B0C0E           MOV ECX,DWORD PTR DS:[ESI+ECX]
0106672D     890439           MOV DWORD PTR DS:[ECX+EDI],EAX
01066730     A1 98550901      MOV EAX,DWORD PTR DS:[1095598]
01066735     8B0406           MOV EAX,DWORD PTR DS:[ESI+EAX]
01066738     8D1C38           LEA EBX,DWORD PTR DS:[EAX+EDI]
0106673B     B9 880F0901      MOV ECX,1090F88
01066740     E8 453A0000      CALL 0106A18A
01066745     3103             XOR DWORD PTR DS:[EBX],EAX
01066747     8385 ACFEFFFF 0>ADD DWORD PTR SS:[EBP-154],0C
0106674E     83C7 04          ADD EDI,4
01066751     8B85 ACFEFFFF    MOV EAX,DWORD PTR SS:[EBP-154]
01066757     8B00             MOV EAX,DWORD PTR DS:[EAX]
01066759     85C0             TEST EAX,EAX
0106675B   ^ 0F85 34FFFFFF    JNZ 01066695
01066761     8BBD 78FDFFFF    MOV EDI,DWORD PTR SS:[EBP-288]
01066767     A1 9C550901      MOV EAX,DWORD PTR DS:[109559C]
0106676C     8D1C06           LEA EBX,DWORD PTR DS:[ESI+EAX]
0106676F     B9 880F0901      MOV ECX,1090F88
01066774     E8 FB390000      CALL 0106A174
01066779     3103             XOR DWORD PTR DS:[EBX],EAX
0106677B     33DB             XOR EBX,EBX
0106677D     83C7 0C          ADD EDI,0C
01066780     89BD 78FDFFFF    MOV DWORD PTR SS:[EBP-288],EDI
01066786     83C6 04          ADD ESI,4
01066789     395F FC          CMP DWORD PTR DS:[EDI-4],EBX
0106678C   ^ 0F85 31FEFFFF    JNZ 010665C3
01066792     EB 03            JMP SHORT 01066797                  
01066794     D6               SALC                        
01066795     D6               SALC
01066796     8F               ???                                       ; 未知命令
在01066792     EB 03            JMP SHORT 01066797 下硬件执行.然后F9 到这里断下,取消硬件断点,撤消Magic Jump处的修改
++++++++++++++++++++++++++++++++++++++++++++++++
下BP GetCurrentThreadId   SHIFT+F9 到这里
7C809728 >   64:A1 18000000   MOV EAX,DWORD PTR FS:[18]
7C80972E     8B40 24          MOV EAX,DWORD PTR DS:[EAX+24]
7C809731     C3               RETN
取消断点
一路F8   到这里
01080A88     8B65 E8          MOV ESP,DWORD PTR SS:[EBP-18]
01080A8B     834D FC FF       OR DWORD PTR SS:[EBP-4],FFFFFFFF
01080A8F     8B7D 08          MOV EDI,DWORD PTR SS:[EBP+8]
01080A92     8B55 DC          MOV EDX,DWORD PTR SS:[EBP-24]
01080A95     A1 D4150901      MOV EAX,DWORD PTR DS:[10915D4]
01080A9A     3150 74          XOR DWORD PTR DS:[EAX+74],EDX
01080A9D     A1 D4150901      MOV EAX,DWORD PTR DS:[10915D4]
01080AA2     3150 74          XOR DWORD PTR DS:[EAX+74],EDX
01080AA5     A1 D4150901      MOV EAX,DWORD PTR DS:[10915D4]
01080AAA     8B88 88000000    MOV ECX,DWORD PTR DS:[EAX+88]
01080AB0     3348 70          XOR ECX,DWORD PTR DS:[EAX+70]
01080AB3     3308             XOR ECX,DWORD PTR DS:[EAX]
01080AB5     030D EC150901    ADD ECX,DWORD PTR DS:[10915EC]            ; FlyWoool.00400000
01080ABB     8B17             MOV EDX,DWORD PTR DS:[EDI]
01080ABD     85D2             TEST EDX,EDX
01080ABF     75 1B            JNZ SHORT 01080ADC
01080AC1     FF77 18          PUSH DWORD PTR DS:[EDI+18]
01080AC4     FF77 14          PUSH DWORD PTR DS:[EDI+14]
01080AC7     FF77 10          PUSH DWORD PTR DS:[EDI+10]
01080ACA     8B90 88000000    MOV EDX,DWORD PTR DS:[EAX+88]
01080AD0     3350 24          XOR EDX,DWORD PTR DS:[EAX+24]
01080AD3     3350 04          XOR EDX,DWORD PTR DS:[EAX+4]
01080AD6     2BCA             SUB ECX,EDX
01080AD8     FFD1             CALL ECX
01080ADA     EB 20            JMP SHORT 01080AFC
01080ADC     83FA 01          CMP EDX,1
01080ADF     75 1E            JNZ SHORT 01080AFF
01080AE1     FF77 04          PUSH DWORD PTR DS:[EDI+4]
01080AE4     FF77 08          PUSH DWORD PTR DS:[EDI+8]
01080AE7     6A 00            PUSH 0
01080AE9     FF77 0C          PUSH DWORD PTR DS:[EDI+C]
01080AEC     8B90 88000000    MOV EDX,DWORD PTR DS:[EAX+88]
01080AF2     3350 24          XOR EDX,DWORD PTR DS:[EAX+24]
01080AF5     3350 04          XOR EDX,DWORD PTR DS:[EAX+4]
01080AF8     2BCA             SUB ECX,EDX
01080AFA     FFD1             CALL ECX            F7步入 到达OEP
++++++++++++++++++++++++++++++++++++++++++++++++++
下面用ArmInline0.96   拼接代码 整理乱序后就可以用LordPE,DMUP下来了,用ImportREC修复.再用Enjoy修复CC
运行软件,一切正常   终于完成了   呵呵
------------------------------------------------------------------------
【破解总结】寻找到Magic Jump 的返回时机很重要
------------------------------------------------------------------------
【版权声明】转载请注明作者并保持文章的完整, 谢谢!

免费评分

参与人数 1热心值 +1 收起 理由
liaoyl + 1 我在论坛的等级太低,只能给你1吾爱币,并且.

查看全部评分

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

saning 发表于 2009-3-28 21:57
真搞笑,我在动画区都把这个转载了,要你的这个干嘛?哈哈。。
wgz001 发表于 2009-3-29 08:14
win10 发表于 2009-3-29 10:09
看来还得努力学习,现在看这个还是如同看天书一般
saning 发表于 2009-3-29 23:15
敢问楼主这个事哪个版本的?貌似你的这个吉祥天版本很低,呵呵。。
hhwsljb 发表于 2009-4-4 20:15
学习一下!
kxmp 发表于 2011-6-7 21:57
学习了
liaoyl 发表于 2011-7-24 17:27
顶一下!谢谢分享!学习啦!
明天会更好 发表于 2013-5-26 21:22
有没有附视频的教程呀?
q349806278 发表于 2013-5-26 21:26
最好录制个视频给我们这些新手学习
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-5-6 05:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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