|
给版主的话
五哥领导的手动脱壳教程,ChinaDFCG上有. |
|
|
|
|
|
ASPack 2.12 -> Alexey Solodovnikov [Overlay]脱壳
最初由 lucktiger 发布 随便抓个独立编译的易程序 |
|
ASPack 2.12 -> Alexey Solodovnikov [Overlay]脱壳
最初由 fly 发布 fly又来害人了:D |
|
ASPack 2.12 -> Alexey Solodovnikov [Overlay]脱壳
最初由 xeno 发布 那就没有overlays了:D |
|
goodmorning's crackme #2
goodmorning是ipb地?:D |
|
|
|
如何脱pe-compact 1.84 加的壳的软件
标 题:PECompact的OEP的简易查找方法,以及实践,dumper本准备写的,但水平不够 (3千字) 发信人:DiKeN 时 间:2002-5-9 17:25:10 详细信息: ============================================== 该方法试用于PECompactV1.71,V1.76,V1.82 具体看下面的示例 ============================================== 这是98的Calc.exe使用PECompact1.82压缩过的结果 010153A0 >EB 06 JMP SHORT CALC.010153A8<==第一条指令 010153A2 68 E0190100 PUSH 119E0<======这就是程序的原始OEP的RVA地址 010153A7 C3 RETN 010153A8 9C PUSHFD 010153A9 60 PUSHAD 010153AA E8 02000000 CALL CALC.010153B1 ============================================== ============================================== 这是98的Notepad.exe使用PECompact1.82压缩过的结果 0040AB20 >EB 06 JMP SHORT NOTEPAD.0040AB28<==第一条指令 0040AB22 68 CC100000 PUSH 10CC<======这就是程序的原始OEP的RVA地址 0040AB27 C3 RETN 0040AB28 9C PUSHFD 0040AB29 60 PUSHAD 0040AB2A E8 02000000 CALL NOTEPAD.0040AB31 ============================================== ============================================== 这是使用PECompact1.82压缩过LordPE.exe [rts]的结果 004239A0 >EB 06 JMP SHORT X.004239A8<==第一条指令 004239A2 68 103E0000 PUSH 3E10<======这就是程序的原始OEP的RVA地址 004239A7 C3 RETN 004239A8 9C PUSHFD 004239A9 60 PUSHAD 004239AA E8 02000000 CALL X.004239B1 004239AF 33C0 XOR EAX,EAX ============================================== ============================================== 这是PECompact1.82自身的结果 0043E760 >EB 06 JMP SHORT PECOMPAC.0043E768<==第一条指令 0043E762 68 00E00300 PUSH 3E000<======这就是程序的原始OEP的RVA地址 0043E767 C3 RETN 0043E768 9C PUSHFD 0043E769 60 PUSHAD 0043E76A E8 02000000 CALL PECOMPAC.0043E771 0043E76F 33C0 XOR EAX,EAX ============================================== ============================================== 这是ODBG1.06的结果 004F8200 >EB 06 JMP SHORT X.004F8208<==第一条指令 004F8202 68 00100000 PUSH 1000<======这就是程序的原始OEP的RVA地址 004F8207 C3 RETN 004F8208 9C PUSHFD 004F8209 60 PUSHAD 004F820A E8 02000000 CALL X.004F8211 004F820F 33C0 XOR EAX,EAX 004F8211 8BC4 MOV EAX,ESP ============================================== 很明显,原始程序入口为 VA=ImageBase+RVA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 下面是使用TRW2000手动脱PECompact的壳 (标准TRW2000 V1.22,我想修改版也应该可以吧) Load PECompact V1.82 <F8> 看上面的指令,0043E762 68 00E00300 PUSH 3E000 由于ImageBas=400000,所以OEP=43E000 所以 bp if(EIP==43E000) g pedump c:\xx.exe g 好了,看看C:\xx.exe是不是正常了 ================================================================= = = inside Pandora's Box - iPB = Open Cracking Group - OCG = = = DiKeN/iPB ================================================================= -------------------------------------------------------------------------------- Copyright © 2000-2003 看雪学院(www.pediy.com) All Rights Reserved. 标 题:PECompact.v1.80.b2解密分析(SMC) - By A Lamer...:) (6千字) 发信人:FiNALSErAPH 时 间:2002-5-9 21:24:20 详细信息: ///////////////////////////////////////////////////////////////////// // // 目标软件:PECompact // // 软件版本:1.80 Build 2 // // 官方网站:http://www.CollakeSoftware.com/ // // 软件授权:共享软件 // // 操作系统:Win95/98/ME、WinNT/2000 // // 软件简介:知名的PE格式文件压缩工具... // // 软件保护:PECompact壳保护 // ///////////////////////////////////////////////////////////////////// // // 使用工具:TRW2000 v1.22 娃娃修改版 // (主要用于调试分析) // // LordPE Armageddon by y0da // (Dump & PE文件分析修改) // // WinHEX v10.4 SR-3 // (用于PE文件的16进制修改) // // Hiew v6.70 // (用于添加SMC代码) // // Our Brain...:-) // ///////////////////////////////////////////////////////////////////// // // 关于本文:本文主要目的在于教学,研究PECompact壳的分析及多重SMC解 // 密方法...请勿将此教程用于商业目的。 // // Always Your Best Friend: FiNALSErAPH // // 水平有限,难免疏漏... // // Any Question? // Mail To: [email]FiNALSErAPH@yahoo.com.cn[/email] // // 2002-05-10 // ///////////////////////////////////////////////////////////////////// // // 第1步:得到可正确执行的脱壳文件(其实只要DUMP就行,没必要可执行) // ///////////////////////////////////////////////////////////////////// 这一步比较简单,我就不详细叙述...详细过程可参看以前的文章。关于OEP可 参看DiKeN的“快速找到PECompact加壳文件的OEP” ///////////////////////////////////////////////////////////////////// // // 第2步:分析脱壳后的文件,找到我们要修改的地方 // // 这里比较有意思的是对于PE文件控件的屏蔽... // // 这是最近研究ViRiLiTY做的破解才注意到的。 // ///////////////////////////////////////////////////////////////////// 对于解决日期限制问题就不多说了,比较简单。 pec1:004011E9 call sub_40542F pec1:004011EE mov ds:dword_40D69D, eax //返回值是剩余的使用时间 //修改方法是将0040542F的指令变为ret pec1:0040542F enter 30h, 0 //MOV b,[0040542F],0C3 ///////////////////////////////////////////////////////////////////// 对于显示Unregister! 我找到以下关键点: pec1:004053A5 push offset aUnregistered ; lpString //->"Unregistered!" //这里的代码要改为我们想保存自己姓名信息 //的地址。(这个地址可稍后确定) //MOV d,[004053A6],???????? pec1:004053AA push 434h ; nIDDlgItem pec1:004053AF push [ebp+hDlg] ; hDlg pec1:004053B2 call SetDlgItemTextA ///////////////////////////////////////////////////////////////////// 找到控件的属性值,做相应修改...这里主要依靠Unicode的特殊性加快速度 1)P.L.E.A.S.E. .R.E.G.I.S.T.E.R.! 注意前面最近的P(0x50)(文件偏移0x13017),我想实际应该是0x50 02 00 00 是指这个控件的属性。根据查到的WINDOWS.INC知道WS_VISIBLE = 0x10 00 00 00。 所以将0x50 -> 0x40将会使这个控件不可见 经过对脱壳文件的修改(我实际是动态调试的),可以确定这个结论... 注意:这里为了做SMC补丁必须计算修改的地方位于内存的地址 使用LordPE查看SECTION: VOffset VSize ROffset RSize .src 00014000 00003000 00012400 00002128 Memory Address = Imagebase + 0x00014000 + (0x00013017 - 0x00012400) = 0x00414C17 得到:MOV b,[00414C17],40 2)S.T.A.T.I.C Memory Address = Imagebase + 0x00014000 + (0x000131EB - 0x00012400) = 0x00414DEB 得到:MOV b,[00414DEB],40 3)...这个特征不明显,我是根据R.e.s.t.r.a.t.i.o.n. .I.n.f.o.m.a.t.i.o.n 相对位置推的。准确定位我还不会...:) Memory Address = Imagebase + 0x00014000 + (0x000132D7 - 0x00012400) = 0x00414ED7 得到:MOV b,[00414ED7],40 ///////////////////////////////////////////////////////////////////// // // 第3步:在即将进入OEP前的地方加上自己的补丁代码 // ///////////////////////////////////////////////////////////////////// 即将转入OEP的代码,可是直接在PECOMPACT.EXE里找不到哦...:)(多重的...) 00441551 6800E04300 PUSH DWORD 0043E000 00441556 C204 RET 04 BPM 00441551...看看这里的代码是什么时候放进来的 0044119E F3A5 REP MOVSD 执行完后就...不用想了,追ESI->...查到004425FC是这段代码。接着下BPM 004425FC 这里具体怎么传数据我倒不用管(我可以在传输完整片数据后补),F12到了以下 片段: 004442AF 5D POP EBP 004442B0 2B7D0C SUB EDI, [EBP+0C] 004442B3 8BC7 MOV EAX, EDI 004442B5 C9 LEAVE 004442B6 C208 RET 08 注意:这里你会发现所处位置"PECOMPACT!.rsrc"...而且底下一片0000...000 呵呵,还不偷着乐? 00441551 6800E04300 PUSH DWORD 0043E000 //我要改这条指令,转向我要补的修改代码 //留些余地,暂时改为JMP 004442D0(E97A2D0000) //最后可修正为JMP 004442C3(E96D2D0000) 00441556 C204 RET 04 ///////////////////////////////////////////////////////////////////// 004442AF 5D POP EBP 004442B0 2B7D0C SUB EDI, [EBP+0C] 004442B3 8BC7 MOV EAX, EDI //MOV d,[00441551],002D7AE9 //MOV b,[00441555],00 -> 本无必要,但...我在修 //改1.68版时发现这里移的数据在后面会加上ImageBase //所以要进行修正(因为会是个负数,所以这里要留着) //呵呵,这个版本还方便些...不过知道思想就好 004442B5 C9 LEAVE 004442B6 C208 RET 08 ///////////////////////////////////////////////////////////////////// // // 小结一下修改的代码 // ///////////////////////////////////////////////////////////////////// 004442B5 MOV d,[00441551],002D6DE9 004442BF LEAVE 004442C0 RET 08 004442C3 MOV b,[00414C17],40 004442CA MOV b,[00414DEB],40 004442D1 MOV b,[00414ED7],40 004442D8 MOV b,[0040542F],C3 004442DF MOV d,[004053A6],00444300 //位于文件偏移12900处,写上大名啊 004442E9 PUSH 0043E000 004442EE RET 04 ///////////////////////////////////////////////////////////////////// 呵呵,拙文...是分析ViRiLiTY的解密文件整理而成的。One Lamer more...:) ///////////////////////////////////////////////////////////////////// // // 谨以此文献给茁壮成长的iPB(inside Pandora's Box - 原OCG)... // // Personal Greeting To: [AFO] [CCG] [BCG] Members & All My Friends // ///////////////////////////////////////////////////////////////////// -------------------------------------------------------------------------------- Copyright © 2000-2003 看雪学院(www.pediy.com) All Rights Reserved. |
|
|
|
|
|
ASPack 2.12 -> Alexey Solodovnikov [Overlay]脱壳
好! 不过如此处理overlays不太可靠 正确的做法应该是(也许也不正确:D ): k=文件大小-SizeOfImage 从原程序尾复制k字节到新程序 |
|
bjfnt v1.3,WWPack32这两种壳如何脱!
标 题:bjfnt v1.3脱壳手记 (3千字) 发信人:flyfancy 时 间:2002-7-14 20:26:30 详细信息: bjfnt v1.3脱壳手记 这几天好像都看见有人问bjfnt 1.2的壳怎么脱,所以写了这篇文章,因为最新的是1.3版,所以我在这里只讲1.3的脱壳,我想1.2应该比1.3简单吧.当然这里有高手无数,只是他们没有时间写点东西出来,我就只有代劳了. 真的是花指令无数,我的总的经验就是一直F8,直到看到某个循环过不去了,然后停下来分析,在后面还有个大循环,我在里面转了10分钟才转出来,汗...,再次提醒各位,在这里面千万不要用F10,因为都是花指令,转眼间就跳出去了,我晕~~~~~~~ 这里用的是已加壳的Notepad.exe 程序下载地址:http://flyfancy.my.west163.com/n.exe 下面开讲: 0187:0040D07D 75EA JNZ 0040D069 (JUMP) //g 0040D07F 0187:0040D07F EB02 JMP SHORT 0040D083 0187:0040D081 CD20 INT 20 0187:0040D083 D9E0 FCHS 0187:0040D085 6E OUTSB ......(代表漫长的F8) 0187:0040D15E 75E8 JNZ 0040D148 (JUMP) //g 0040D160 0187:0040D160 EB03 JMP SHORT 0040D165 0187:0040D162 CD20 INT 20 0187:0040D164 EBEB JMP SHORT 0040D151 0187:0040D166 01EB ADD EBX,EBP 0187:0040D168 53 PUSH EBX 0187:0040D169 8B6047 MOV ESP,[EAX+47] 0187:0040D16C 47 INC EDI 0187:0040D16D 674C DEC ESP ...... 0187:0040D1F1 E2D6 LOOP 0040D1C9 //g 0040D1F3 0187:0040D1F3 EB03 JMP SHORT 0040D1F8 ...... 0187:0040D2DE 75DC JNZ 0040D2BC (JUMP) //g 0040D2E0 0187:0040D2E0 EB02 JMP SHORT 0040D2E4 0187:0040D2E2 CD20 INT 20 ...... 0187:0040D41B 0F852D040000 JNZ NEAR 0040D84E (NO JUMP) //g 0040D84E 0187:0040D421 EB04 JMP SHORT 0040D427 0187:0040D423 CD20 INT 20 0187:0040D425 EB02 JMP SHORT 0040D429 0187:0040D427 EB02 JMP SHORT 0040D42B 0187:0040D429 CD20 INT 20 ...... 0187:0040D888 754F JNZ 0040D8D9 (NO JUMP) //哈哈,养成习惯了,我g 0040D8D9结果就跳出去了,千万不要被误导啊! 0187:0040D88A EB02 JMP SHORT 0040D88E ...... 0187:0040D8B8 E2FB LOOP 0040D8B5 //g 0040D8BA 0187:0040D8BA EB04 JMP SHORT 0040D8C0 0187:0040D8BC CD20 INT 20 ...... 0187:0040D99B E2F1 LOOP 0040D98E //g 0040D99D 0187:0040D99D EB02 JMP SHORT 0040D9A1 ...... 0187:0040D9FD 75EA JNZ 0040D9E9 (JUMP) //g 0040D9FF 0187:0040D9FF EB02 JMP SHORT 0040DA03 ...... 0187:0040DA30 75F0 JNZ 0040DA22 (JUMP) //0040DA32 0187:0040DA32 EB02 JMP SHORT 0040DA36 0187:0040DA34 C785E80300000072+MOV DWORD [EBP+03E8],04EB7200 0187:0040DA3E 58 POP EAX ...... 0187:0040DA47 EB03 JMP SHORT 0040DA4C 0187:0040DA49 CD20 INT 20 0187:0040DA4B C7 DB C7 0187:0040DA4C 9D POPF 0187:0040DA4D EB03 JMP SHORT 0040DA52 0187:0040DA4F CD20 INT 20 0187:0040DA51 C7 DB C7 0187:0040DA52 E800000000 CALL 0040DA57 0187:0040DA57 C3 RET //这里就返回OEP了 0187:0040DA58 EB03 JMP SHORT 0040DA5D 0187:0040DA5A CD20 INT 20 -------------------------------------------------------------------------------- Copyright © 2000-2003 看雪学院(www.pediy.com) All Rights Reserved. |
|
|
|
深圳比泰科技的软件防盗版战士怎么样?有人破吗?
hying干掉过:D |
|
|
|
|
|
New ARM Protector 0.2
最初由 fly 发布 这个不像ARM PROTECTOR啊 是个压缩壳 |
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值