【转】黑鹰破解大师破解经验总结
来源:互联网 发布:简易软件开发成本 编辑:程序博客网 时间:2024/04/28 21:46
今天总结的内容是关于脱壳 先来了解5 种常见语言特征 Borland C++ 0040163C B> /EB 10 jmp short Borland_.0040164E 0040163E |66:623A bound di,dword ptr ds:[edx] 00401641 |43 inc ebx 00401642 |2B2B sub ebp,dword ptr ds:[ebx] 00401644 |48 dec eax 00401645 |4F dec edi 00401646 |4F dec edi 00401647 |4B dec ebx 00401648 |90 nop 00401649 -|E9 98E04E00 jmp SHELL32.008EF6E6 0040164E \A1 8BE04E00 mov eax,dword ptr ds:[4EE08B] 00401653 C1E0 02 shl eax,2 00401656 A3 8FE04E00 mov dword ptr ds:[4EE08F],eax 0040165B 52 push edx 0040165C 6A 00 push 0 0040165E E8 DFBC0E00 call <jmp.&KERNEL32.GetModuleHandleA> ********************************************************************************** Delphi 00458650 D> 55 push ebp 00458651 8BEC mov ebp,esp 00458653 83C4 F0 add esp,-10 00458656 B8 70844500 mov eax,Delphi.00458470 0045865B E8 00D6FAFF call Delphi.00405C60 00458660 A1 58A14500 mov eax,dword ptr ds:[45A158] 00458665 8B00 mov eax,dword ptr ds:[eax] 00458667 E8 E0E1FFFF call Delphi.0045684C 0045866C A1 58A14500 mov eax,dword ptr ds:[45A158] 00458671 8B00 mov eax,dword ptr ds:[eax] 00458673 BA B0864500 mov edx,Delphi.004586B0 00458678 E8 DFDDFFFF call Delphi.0045645C 0045867D 8B0D 48A24500 mov ecx,dword ptr ds:[45A248] ; Delphi.0045BC00 00458683 A1 58A14500 mov eax,dword ptr ds:[45A158] 00458688 8B00 mov eax,dword ptr ds:[eax] 0045868A 8B15 EC7D4500 mov edx,dword ptr ds:[457DEC] ; Delphi.00457E38 00458690 E8 CFE1FFFF call Delphi.00456864 00458695 A1 58A14500 mov eax,dword ptr ds:[45A158] 0045869A 8B00 mov eax,dword ptr ds:[eax] 0045869C E8 43E2FFFF call Delphi.004568E4 ********************************************************************************** Visual C++ 0046C07B U> 55 push ebp 0046C07C 8BEC mov ebp,esp 0046C07E 6A FF push -1 0046C080 68 18064C00 push UltraSna.004C0618 0046C085 68 F8364700 push UltraSna.004736F8 0046C08A 64:A1 00000000 mov eax,dword ptr fs:[0] 0046C090 50 push eax 0046C091 64:8925 00000000 mov dword ptr fs:[0],esp 0046C098 83EC 58 sub esp,58 0046C09B 53 push ebx 0046C09C 56 push esi 0046C09D 57 push edi 0046C09E 8965 E8 mov dword ptr ss:[ebp-18],esp 0046C0A1 FF15 74824A00 call dword ptr ds:[<&KERNEL32.GetVersion>] ; kernel32.GetVersion 0046C0A7 33D2 xor edx,edx 0046C0A9 8AD4 mov dl,ah 0046C0AB 8915 403F4F00 mov dword ptr ds:[4F3F40],edx 0046C0B1 8BC8 mov ecx,eax 0046C0B3 81E1 FF000000 and ecx,0FF 0046C0B9 890D 3C3F4F00 mov dword ptr ds:[4F3F3C],ecx ********************************************************************************** 汇编 00401000 汇> 6A 00 push 0 00401002 E8 C50A0000 call <jmp.&KERNEL32.GetModuleHandleA> 00401007 A3 0C354000 mov dword ptr ds:[40350C],eax 0040100C E8 B50A0000 call <jmp.&KERNEL32.GetCommandLineA> 00401011 A3 10354000 mov dword ptr ds:[403510],eax 00401016 6A 0A push 0A 00401018 FF35 10354000 push dword ptr ds:[403510] 0040101E 6A 00 push 0 00401020 FF35 0C354000 push dword ptr ds:[40350C] 00401026 E8 06000000 call 汇编.00401031 0040102B 50 push eax 0040102C E8 8F0A0000 call <jmp.&KERNEL32.ExitProcess> 00401031 55 push ebp 00401032 8BEC mov ebp,esp 00401034 83C4 B0 add esp,-50 00401037 C745 D0 30000000 mov dword ptr ss:[ebp-30],30 0040103E C745 D4 0B000000 mov dword ptr ss:[ebp-2C],0B 00401045 C745 D8 37114000 mov dword ptr ss:[ebp-28],汇编.00401137 ********************************************************************************** VB 0040116C V>/$ 68 147C4000 push VB.00407C14 00401171 |. E8 F0FFFFFF call <jmp.&MSVBVM60.#100> 00401176 |. 0000 add byte ptr ds:[eax],al 00401178 |. 0000 add byte ptr ds:[eax],al 0040117A |. 0000 add byte ptr ds:[eax],al 0040117C |. 3000 xor byte ptr ds:[eax],al ********************************************************************************** 大家除了可以通过我以前说过的,看是否是大跨段来判断是否到达OEP 之外 还可以利用上面5 种常见的语言特征来判断是否达到了OEP! 脱壳后程序出现无法运行的情况的话 你就要想到是否是你的修复有误、自校验、附加数据。。。 处理的方法我也讲过了,希望大家好好的吸收! 脱壳除了多吸取别人的经验之外必要要自己多练习 大家可以把这5 个程序拿来加壳自己脱,这样才有进步 我个人就看了不少的资料 关于方法除了我介绍的那7 种方法之外,似乎已经没有捷径可以走了 当然最基础的方法是单步法,在很多时候我们拿到一个壳不知道怎么下手好时 我们都应该用单步走的方法跟踪调试下,这样或许就可以找到眉目! 我的一个感受是脱壳到深处就是破解了 因为现今很多壳都是可以不用脱直接就可以破解的 像UPX、ASPack 都可以用直接打SMC 补丁的办法破解 甚至像ASProtect Armadillo 之类的猛壳都可以直接做内存补丁! 当然这要求我们有很深的汇编、编程功底了。。所以说大家还需努力 由于课时有限有很多内容没有讲到,像刚才说的SMC、给ASProtect 直接做内存补丁等等 还望请大家见谅! 因为这节课是总结课。。呵呵我倒不知道有什么总结的 方法也已经告诉大家了,大家下去之后呢还是需要自己努力练习了 再强调一次:每一种壳都有脱他的思路,大家现在也只有记下这些思路,等到后面再慢慢的去吸收! 再重申一次:汇编不行的人永远只能是菜鸟! 大家看了这两句有什么感想呢?有没有觉得改做点什么? 另外说明一下破解又名逆向工程,本来就是计算机技术的一个不可或却的分支!大家要把他和编程区分清 楚 当然我也在这里建议大家:学好一门编程才是实质! 因为破解和编程是两个不可能分开是技术! |
- 【转】黑鹰破解大师破解经验总结
- 破解笔记 -- 黑鹰 1、破解工具介绍
- 黑鹰VB,黑基破解,黑鹰 ASP,华夏脚本,华夏破解黑鹰VB编程教程
- 天草及黑鹰破解教程
- 节奏大师乐谱破解
- 节奏大师乐谱破解 续
- 黑鹰VIP破解教程和天草破解教程的内容整体整理
- 黑鹰VIP破解教程和天草破解教程的内容整体整理
- 黑鹰VIP破解教程和天草破解教程的内容整体整理
- rvds 2.2 破解失败 经验总结
- 破解-高强度文件夹加密大师8000
- 高强度加密大师的破解
- 高强度文件夹加密大师破解版
- 软件分享 数码大师破解版
- 软件分享 数码大师破解版
- 电脑硬件信息修改大师破解修改版
- 天通微信营销大师破解版下载
- 周易起名大师快速破解教程
- C++ 图形用户界面库 QT
- 【转】福昕幻影(Foxit Phantom)
- 【转】无线路由密码破解
- 【转】解密360黑幕:离职奇虎360老员工的告白
- 【转】软件狗[Dongles]的加密与解密技术
- 【转】黑鹰破解大师破解经验总结
- 【转】DLL劫持技术(内存补丁技术)
- 如何利用Activity的Dialog风格完成弹出框设计 “第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇 ”
- 【转】Yonsm的AheadLib 2.2.150
- 【转】CALL是如何炼成的[更新于11.12]
- 中国破解组织大全【2009版】
- 《俪影2046》v2.09 完美破解
- 逆向家族共享文件夹
- openvz