脱壳软件Peid使用方法
新手入门学习——脱壳破解练习第一期
![新手入门学习——脱壳破解练习第一期](https://img.taocdn.com/s3/m/06c94bd988eb172ded630b1c59eef8c75ebf9553.png)
新手入门学习——脱壳破解练习第一期新手入门学习——脱壳破解练习第一期拿到一个软件,先看看是加的什么壳。
用PEiD查得【Upack V0.37-V0.39 -> Dwing *】接着拿出破解第一要物OD进行脱壳(注意选好点的版本,由于Upack壳做了变形,有些版本的OD打开时会出错,最好是用英文版的)OD载入……我使用简单一点的ESP定律。
00401018 > BE B0114000 MOV ESI,脱壳破解.004011B00040101D AD LODS DWORD PTR DS:[ESI]0040101E 50 PUSH EAX0040101F FF76 34 PUSH DWORD PTR DS:[ESI+34]00401022 EB 7C JMP SHORT 脱壳破解.004010A0F8前进到【0040101F】,在寄存器窗口ESP处点右键,在数据窗口跟随【0012FFC0】如下图://数据窗口点右键,下硬件断点。
shift+F9运行0012FFC0 004011B8 脱壳破解.004011B80012FFC4 7C82F23B 返回到 kernel32.7C82F23B0012FFC8 00000000//来到OEP,通过观察可以发现,这是一个典型的VB入口。
这里记得要删除硬件断点!004011B8 68 24184000 PUSH 脱壳破解.00401824 //OEP004011BD E8 EEFFFFFF CALL 脱壳破解.004011B0004011C2 0000 ADD BYTE PTR DS:[EAX],AL004011C4 0000 ADD BYTE PTR DS:[EAX],AL 004011C6 0000 ADD BYTE PTR DS:[EAX],AL 004011C8 3000 XOR BYTE PTR DS:[EAX],AL记录新入口地址【11B8】接着打开LoadPE进行脱壳然后使用Import Fix 1.6 进行修复修复完成后即得到脱壳后的文件,用PeiD查询,果然是VB。
Peid 0.95 下载及使用详解
![Peid 0.95 下载及使用详解](https://img.taocdn.com/s3/m/ed548c29915f804d2b16c19d.png)
Peid 0.95 下载及使用详解Peid 是一款专业的侦壳工具,可以侦测多种壳及程序所使用的编程语言,另外此工具还可以使用插件(如脱壳插件,可直接把侦测到的壳脱之),其外观如下:PEID 0.94PEID 0.95软件详解:一.以0.94版为例说明主要构成文件├─external.txt --- 扩展签名库├─PEiD 0.94.exe --- 原英文程序├─PEiD_ch.exe --- 汉化后的程序├─readme.txt --- 帮助说明文件├─userdb.txt --- 扩展签名库├─plugins ------------- 插件目录│AddSig.DLL│AddSig.HTML│advanced_scan.dll│CRC32.DLL│EPScan.dll│ExtOverlay.dll│FileInfo.dll│FixCRC.dll│GenOEP.dll│ImpREC.dll│kanal.dll│kanal.htm│pluzina1.dll│pluzina2.dll│pluzina3.dll│pluzina4.dll│RebuildPE.dll│SmartOVR.dll│StringViewer.dll│undef.dll│unfsg_v133.dll│UnUPolyX.dll│UNUPX.DLL│UnUPXShit.dll│VerA.dll│xInfo.DLL│ZDRx.dll│------------以上为插件├─pluginsdk ------------------- 插件的空工程示例目录│defs.h│null.c│NULL.dll│└─tools ------------------------工具目录├─PEiD Signature Organizer│PEIDSO.exe│userdb.BAK│userdb.txt│└─PEid_db_Manager_1.01PEid db Manager.exeuserdb.txtuserdb2.txtuserdbopt.txt二、软件相关功能讲解1.程序主界面功能如下图所示2.选择多文件扫描后出现如下界面3.选择查看进程后如下图所示4.选择选项菜单后出现如下图所示界面注:四种扫描模式的说明1.普通扫描:只扫描入口处,忽略扩展签名库中签名的ep_only = 选项2.深度扫描:比普通扫描更广,更深入,但如果扩展签名库中签名的ep_only = true 的话会忽略此条签名3.核心扫描:整个文件扫描,速度可能会慢,但同样会忽略扩展签名库中签名选项中ep_only = true 的签名4.外部扫描:使用外部签名库,但是使用以上三种扫描中的那一种取绝于选项中的选择,如果选择普通扫描,同样只有外部签名库扫描文件入口处,深度扫描则用普通扫描和深度扫描都扫一遍,如果是核心扫描,那么将先普通,再深度,后核心的扫描顺序进行扫描5.选择如右下角的扩展信息后如下图所示6.选对右下角的箭头标志后如下图所示7.最后对PEID 签名库中的签名所下解释(以下是两条独立的签名库,我们只对第一条作解释)注释如下:1.壳的名称可以随变写,不影响查壳,但也不能乱写,最起码自已要知道能看懂吧!!!2.红色圈出的签名部分“signature = ”之后的部分才是签名,答名的提取是有讲究的,其中"??" 是不确定的值,也就是说这种壳此处的值可以每次都会有变化,比如对两个文件同时加壳,此处的值可能会有两个,所以此处就用双问号表示(也就是一个字节),其化处当然是提取到是什么就添什么了。
脱壳笔记——精选推荐
![脱壳笔记——精选推荐](https://img.taocdn.com/s3/m/c4b2aa72571252d380eb6294dd88d0d233d43c22.png)
【脱壳一般流程】查壳(PEID、FI、PE-SCAN)--->寻找OEP(OD)--->脱壳/Dump(LordPE、PeDumper、OD自带的脱壳插件、PETools)--->修复(Import REConstructor)【工具介绍】1、查壳PEID--功能强大的侦壳工具,自带脱壳插件(但是,效果不怎么样)工作原理:核心是userdb.txt(大家看看就完全明白了)[通过壳的入口特征码进行辨认]使用方法:可以拖放、也可以把PEID添加到右键菜单里面去FI--功能强大的侦壳工具,DOS界面。
使用方法:可以拖放、可以使用DO S命令行2、寻找OEPollydbg的四个区域左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值.右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Ef lag的值,对于寄存器,指令执行后发生改变的寄存器会用红色突出显示.cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态.左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息.右下角的是当前堆栈情况,还有注释啊.几个经常使用的快捷键F2:在需要的地方下断点(INT3型断点)F3:选择打开程序F4:运行到所选择的那一行F7:单步进入F8:单步跟踪F9:执行程序(运行程序)其中要特别讲一下3个F9的区别和作用:根据Ollydbg.hlp的中文翻译Shif t+F9 -与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
Ctrl+F9 - 执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。
因为程序是一条一条命令执行的,所以速度可能会慢一些。
按Esc键,可以停止跟踪。
Alt+F9 - 执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU 数据。
破解之多种方法脱ASP壳
![破解之多种方法脱ASP壳](https://img.taocdn.com/s3/m/740b523aed630b1c59eeb5fd.png)
破解之多种方法脱ASP壳工具:PEID-经典查壳工具OD -动态调试工具理论知识:所谓壳即软件作者为防止软件被调试破解所用的一种的保护方法,分为压缩壳和加密壳,就安全性和破解 复杂性来说,加密壳要比压缩壳厉害的多。
OD界面:左上角为CPU窗口,分别为地址,机器码,汇编代码,注释右上角为寄存器窗口左下角为内存窗口右下角为当前堆栈情况和注释经常使用的快捷键:F2:在需要的地方下断点(INT3型断点) F3:选择打开程序F4:运行到所选择的那一行F7:单步进入F8:单步跟踪F9:执行程序(运行程序)USHAD (压栈) 代表程序的入口点,OPAD (出栈) 代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真 正的OEP,就可以立刻脱壳。
二。
开始破解1。
单步跟踪法破解(最基本)载入PEID,显示:ASPack 2.12 -> Alexey Solodovnikov显然是ASPpack2.12版本的壳,今天我们的目标就是它了OD载入程序停在0040D001 > 60 pushad0040D002 E8 03000000 call NotePad_.0040D00A0040D007 - E9 EB045D45 jmp 459DD4F70040D00C 55 push ebp0040D00D C3 retn0040D00E E8 01000000 call NotePad_.0040D0140040D013 EB 5D jmp short NotePad_.0040D072pushad:程序入口点call :为调用即调用NotePad_.0040D00A这里用先用F8步进,F7进入call,继续F8步进,会遇到向下的箭头0040D008 /EB 04 jmp short NotePad_.0040D00E 0040D00A |5D pop ebp0040D00B |45 inc ebp0040D00C |55 push ebp0040D00D |C3 retn0040D00E \E8 01000000 call NotePad_.0040D014不用管它,我们破解断点只断向上的跳转到这里注意一下0040D008 /EB 04 jmp short NotePad_.0040D00E 0040D00A |5D pop ebp0040D00B |45 inc ebp0040D00C |55 push ebp0040D00D |C3 retn0040D00E \E8 01000000 call NotePad_.0040D0140040D013 EB 5D jmp short NotePad_.0040D0720040D015 BB EDFFFFFF mov ebx,-13注意这个call,要用F7进入,不然就要跑飞(程序运行起来) 继续F8步进,直到0040D12F /74 2E je short NotePad_.0040D15F0040D131 |78 2C js short NotePad_.0040D15F0040D133 |AC lods byte ptr ds:[esi]0040D134 |3C E8 cmp al,0E80040D136 |74 0A je short NotePad_.0040D1420040D138 |EB 00 jmp short NotePad_.0040D13A 0040D13A |3C E9 cmp al,0E90040D13C |74 04 je short NotePad_.0040D1420040D13E |43 inc ebx0040D13F |49 dec ecx0040D140 ^|EB EB jmp short NotePad_.0040D12D0040D142 |8B06 mov eax,dword ptr ds:[esi]向上的跳转,在向上箭头的下一行下断点,具体这么做:0040D142 8B06 mov eax,dword ptr ds:[esi]在这一行上点右键——断点——运行到选定位置F8继续步进以下还会遇到几处向上的跳转,仿照上述设置断点即可一直调试到这里0040D3A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax 0040D3AF 61 popad0040D3B0 75 08 jnz short NotePad_.0040D3BA0040D3B2 B8 01000000 mov eax,10040D3B7 C2 0C00 retn 0C0040D3BA 68 CC104000 push NotePad_.004010CC0040D3BF C3 retn0040D3C0 8B85 26040000 mov eax,dword ptr ss:[ebp+426]注意:0040D3BA 68 CC104000 push NotePad_.004010CC程序的OEP原因:一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的一般很快就会到程序的OEP。
PEiD 查壳使用过程
![PEiD 查壳使用过程](https://img.taocdn.com/s3/m/308c9400763231126edb114f.png)
PEiD 查壳使用过程(教程)很多新手想要学汉化软件。
不知道从何学。
今天我就发个最基本的查壳教程。
当然咯。
此教程只对新手。
老鸟请飞过。
下面我就简单的介绍一下:新手想要学汉化。
第1步。
就是要查壳。
看看软件加的是什么壳。
什么是壳。
壳呢?就象我们人穿的外表的衣服。
穿了衣服。
我们也就看不到里面的。
下面我就用PEID 查壳软件来查壳:PEiD查壳软件介绍:PEiD 可以探测大多数的 PE 文件封包器、加密器和编译器。
当前可以探测 600 多个不同签名。
PEiD 是最强大的一个查壳工具。
汉化包中包含了绝大多数插件,并添加了某些插件必须的库文件(mfc70.dll、msvcr70.dll、rtl70.bpl、vcl70.bpl)。
查壳目标:SWF to MP3 Converter英文版查壳工具:PEiD首先:您要下载SWF to MP3 Converter英文版的软件和PEiD软件。
然后。
运行PEiD主程序。
如下图:看到了吗?这个就是PEiD主程序界面,(点击)那几个小数点的。
那几点小数点。
就是(浏览)的意思。
找到您要汉化的英文版软件的主程序。
如图:您找到英文版的主程序以后。
点(打开),如图:您找到英文版的主程序以后。
点(打开)后。
就会出现如下图4:上面的图,看到了没有。
说明这个软件是没有加壳的。
是用Microsoft Visual C++ 6.0软件编写的。
如果您查到了是aspack的。
那就说明是加了aspack的壳。
您可以用专门脱aspack脱壳机来脱壳。
不过。
用自动的脱壳机。
本人觉得不理想。
对于新版本。
根本就无法脱壳。
很多高手都是用OllyDBG V1.10 手工来脱壳的。
这里我就不多说了。
如果有出现未知的壳。
或别的。
可以用下面的方法来看看有没有加壳。
如图:看到上图了吗?可以点击红色线条处。
查看有没有加壳。
有些软件没有加壳。
但。
却无法显示出来。
所以呢?我们就要再看一下。
如图看到上面的图6吗?按图中的说法做。
peid 原理
![peid 原理](https://img.taocdn.com/s3/m/f4a8c844a7c30c22590102020740be1e650ecca8.png)
peid 原理PEID(Portable Executable Identifier)是一种用于识别可执行文件格式的工具,它可以帮助分析人员确定一个可执行文件的属性和特征。
本文将介绍PEID的原理及其在软件分析领域的应用。
PEID的原理基于对可执行文件的结构和特征进行分析和识别。
可执行文件是计算机程序或软件的载体,如Windows操作系统中的程序文件(.exe)或动态链接库(.dll)。
PEID通过解析文件的头部信息,查找特定的标志和标识符,来确定文件是否符合PE文件格式。
PE文件格式是Windows操作系统中常见的可执行文件格式,它具有一定的结构和规范。
PEID会检查文件的文件头、节表、导入导出表等部分,用于判断文件是否遵循PE文件格式,并提取文件的属性和特征。
PEID的应用范围广泛。
对于安全研究人员和反病毒工程师来说,PEID可以帮助他们识别和分析未知的恶意软件样本。
通过比对已知的PE文件特征库,他们可以判断一个文件是否是恶意文件,并深入分析其行为和特征,从而改进安全防护策略。
此外,PEID还可用于软件开发中的调试和逆向工程。
开发人员可以使用PEID 来验证生成的可执行文件是否遵循PE文件格式,并确保文件的正确性和兼容性。
逆向工程师可以利用PEID来识别和解析未知的可执行文件,了解其中的执行逻辑和功能实现,以便进行进一步的逆向分析。
总结而言,PEID作为一种可执行文件识别工具,在软件分析领域中发挥着重要作用。
通过解析文件的结构和特征,PEID可以帮助人们识别和分析各种类型的可执行文件,包括恶意软件和正常的应用程序。
无论是安全研究、反病毒工程还是软件开发和逆向工程,PEID都是一个不可或缺的工具。
怎样使用脱壳软件
![怎样使用脱壳软件](https://img.taocdn.com/s3/m/1e5e5c506d175f0e7cd184254b35eefdc9d31544.png)
怎样使用脱壳软件使用脱壳软件是指将一个已经加壳和加密的程序进行去壳操作,以便分析其内部机制和功能。
脱壳操作可以帮助安全研究人员和逆向工程师了解加壳程序的运行方式,分析其潜在的恶意行为和风险,并可能发现潜在的漏洞和安全问题。
下面将介绍一般的脱壳过程和常用的脱壳软件。
一、脱壳软件使用的一般过程:2. 选择适合的脱壳软件:根据目标程序的特征和加壳方式选择合适的脱壳工具。
常见的脱壳软件有OllyDbg、x64dbg、IDA Pro等。
3.加载加壳程序到脱壳软件中:将获取到的加壳程序文件加载到所选的脱壳软件中,通常通过点击软件的“打开”或“载入”按钮来实现。
4.设置断点:在脱壳软件中设置断点,断点可以是程序入口点、解密函数等位置,以便在程序执行过程中暂停执行,并进行相应的分析。
5.运行加壳程序:运行被加载的加壳程序,让其开始执行。
通常,加壳程序在运行时会进行解密、反调试等处理,因此需要在适当的时机暂停执行。
6.分析解密过程:当加壳程序暂停时,可以通过逆向工程和调试工具分析解密过程。
可以查看内存中解密后的内容以及解密算法的具体实现,并将其保存下来。
7.脱壳并验证:经过分析和调试,获取到解密后的内容后,可以将其保存并进行验证。
验证过程可以是检查解密后的内容和原程序的差异、运行解密后的程序以验证其功能等。
8.分析被脱壳程序:对脱壳的程序进行进一步分析,可能需要使用其他反汇编工具、动态分析工具和调试工具等进行代码阅读、数据流分析、函数调用跟踪等操作。
9.编写报告和总结:根据脱壳过程和分析结果,编写报告和总结,记录分析过程中发现的问题、风险和建议。
二、常用的脱壳软件:1. OllyDbg:这是一款非常流行的反汇编和调试工具,适用于Windows系统,可用于脱壳加壳的程序、病毒、逆向等操作。
2. x64dbg:这是一款免费的32位和64位反汇编和调试工具,提供了易于使用的界面和强大的功能,适用于Windows系统。
3. IDA Pro:这是一款高级的静态反汇编工具,可用于对加密代码进行分析和逆向工程,支持多种CPU架构和文件格式。
脱Armadillo壳(两种脱法)
![脱Armadillo壳(两种脱法)](https://img.taocdn.com/s3/m/0e76d33e2e60ddccda38376baf1ffc4ffe47e214.png)
脱Armadillo壳(两种脱法)标题:【原创】脱Armadillo壳(两种脱法)发帖人:Anwil时间: 2005-06-25 20:43原文链接:详细信息:【破解作者】 Anwil【作者邮箱】略【作者主页】略【使用工具】 Ollydbg、PEiD、LordPE、ImportREC 1.6、ResScope 1.94【破解平台】 WinXP【软件名称】图像格式转换专家 V2.3 Build 20050621【下载地址】【软件简介】批量图像格式转换的专门工具,对不同目录下的多个文件同时进行格式转换,支持所有网络常见图像格式间的相互转换,并专门对图像质量进行了优化,转换后的图像质量明显优于其他同类型软件,绝对保持您珍贵图像的质量。
【软件大小】 1999 KB【加壳方式】 Armadillo+X壳【保护方式】 NAG+时间限制【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)--------------------------------------------------------------------------------【脱壳过程】脱了Armadillo壳也有一段时间了,今天终于忍不住也来“班门弄斧”,希望各位不让扔我鸡蛋,就当是抛砖引玉吧,技术不高,多多海涵!设置Ollydbg忽略所有的异常选项,用IsDebug 1.4插件去掉Ollydbg的调试器标志。
0065E000 b> 60 pushad ; 载入程序后停在这里0065E001 E8 00000000 call batchfor.0065E006 0065E006 5D pop ebp一、由于是单进程的,所以不用使程序把自己当成子进程运行,因此第一步跳过了二、避开IAT加密下断:He GetModuleHandleA,F9运行77E5AD86 k> 837C24 04 00 cmp dword ptr ss:[e sp+4],0 ; 断在这,注意看堆栈77E5AD8B 0F84 37010000 je kernel32.77E5AEC 877E5AD91 FF7424 04 push dword ptr ss:[esp +4]77E5AD95 E8 F8050000 call kernel32.77E5B392在这里中断八次,然后Alt+F9返回程序,判断的时机很容易把握,很多高手都点明了^_^★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★0012D264 00DA519B /CALL 到 GetModuleHandleA 来自 00DA51950012D268 0012D3A0 \pModule = "kernel32.dll"0012D264 00DA519B /CALL 到 GetModuleHandleA 来自 00DA51950012D268 0012D3A0 \pModule = "user32.dll"0012D264 00DA519B /CALL 到 GetModuleHandleA 来自 00DA51950012D268 0012D3A0 \pModule = "MSVBVM60.DLL"0012CB68 66001BC5 /CALL 到 GetModuleHandleA 来自 66001BBF0012CB6C 6600F4D0 \pModule = "kernel32.dll"0012CB5C 6600281E /CALL 到 GetModuleHandleA 来自 660028180012CB60 6600F4FC \pModule = "KERNEL32"0012CB54 660031CE /CALL 到 GetModuleHandleA 来自 660031C80012CB58 00000000 \pModule = NULL0012D264 00DA519B /CALL 到 GetModuleHandleA 来自 00DA51950012D268 0012D3A0 \pModule = "advapi32.dll"0012D3D4 00DA5895 /CALL 到 GetModuleHandleA 来自 00DA588F ; 别犹豫了,返回的好时机,GO!0012D3D8 00000000 \pModule = NULL★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★00DA588B 8B5D 0C mov ebx,dword ptr ss:[ ebp+C]00DA588E 57 push edi00DA588F FF15 A450DC00 call dword ptr ds:[D C50A4] ; kernel32.GetModuleHandleA00DA5895 3945 08 cmp dword ptr ss:[ebp+ 8],eax ; //返回这里00DA5898 75 07 jnz short 00DA58A100DA589A BE C073DC00 mov esi,0DC73C000DA589F EB 60 jmp short 00DA590100DA58A1 393D A879DC00 cmp dword ptr ds:[ DC79A8],edi00DA58A7 B9 A879DC00 mov ecx,0DC79A8 00DA58AC 74 3C je short 00DA58EA ; Magic Jump00DA58AE 8B35 80D7DC00 mov esi,dword ptr ds:[DCD780]00DA58B4 A1 8016DD00 mov eax,dword ptr d s:[DD1680]1、找到Magic Jump ,只要将je改为jmp,就能得到正确的输入表00DA58AC 74 3C je short 00DA58EA ; 原来的代码改为00DA58AC EB 3C jmp short 00DA58EA ; 修改的Magic Jump2、Ctrl+F在当前位置查找命令:salc,当看到jmp、salc、salc 代码连在一起时,OK,这就是IAT解密已经完成的地方。
第2课用相应工具软件为软件自动脱壳(非手动脱壳)
![第2课用相应工具软件为软件自动脱壳(非手动脱壳)](https://img.taocdn.com/s3/m/d68d146658fafab069dc029e.png)
第二课用相应工具软件为软件自动脱壳(非手动脱壳)欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。
如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。
带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。
这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。
这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。
若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。
脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。
一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。
但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。
但只要这个人是健康的,就无所谓,合乎情理。
一、脱壳软件的两大类别(两个门派――少林、武当)脱壳软件主要分两大类:专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。
每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。
通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。
根据“以一当一”的原则,专用类此门派为“武当”派。
大家可能会有这样的疑问?既然有通用脱壳软件,为什么还要专用脱壳软件呢?所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。
因此,少林派和武当派缺一不可,相辅相成。
均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。
二、专用脱壳软件的四大类别根据壳的流行程度,常用的脱壳软件主要有三类:脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。
第16课 手动脱壳的常规方法
![第16课 手动脱壳的常规方法](https://img.taocdn.com/s3/m/4b16cbbfc77da26925c5b0d7.png)
第16课手动脱壳的常规方法手动脱壳主要分为三大步骤(你可以将其想像为程咬金的三板斧):①寻找入口点(OEP)、②转储(Dump)程序、③修复输入表(Import Table)。
对于复杂的加密壳,还需要在①②之间再加上一个步骤:寻找魔力跳(Magic Jump)。
直接跟踪法直接跟踪法的基本原则为:1.时刻把自己想像成中国象棋中的“兵”或“卒子”,只准前进,不准后退。
一旦往回跳,则在程序的下一行按F4,继续向下走(解释:F4——运行到指定行)。
2.一般情况下,一路按F8走。
一旦追踪的过程中,目标程序运行起来,宣告脱壳失败。
则需要重新来过,通常的术语被称为“程序跑飞”。
3.注意识别变形call(其实质是一种变形的jmp)。
不能直接F8带过,会跑飞。
这种情况下应该按F7。
判断的方法是它所call的地址和它自身所在的当前行地址极其接近,感觉离得不远,像近房亲戚、孪生兄弟或姐妹。
4.遇到在循环中跑来跑去时,要想办法跳出循环圈。
时刻留意其中一些跳的比较远的跳转,可以ctrl+G,直接到那个位置;或者按F2设断,F9或点按钮,断下后再F2取消断点。
〔例1〕目标程序:UnPackMe_EZIP1.0.exe。
壳为ezip1.0。
程序载入后,来到这里。
F8,来到这里F8走,直到这里,看到类似下图的跳转,由于是向下跳,注意看红线和V形向下小箭头,任由它跳即可。
来到下图的跳转时,当心,已经来到46861A,却要跳回到46855F。
注意看红线和^形向上小箭头,不让它跳,在下一行(即46861F)用鼠标点住,按F4。
继续F8向下走,直到468688这行:程序在46××××,却要跳到4271B0(42××××),如此大的跨段大跳跃,就是跳到入口点(传说中的OEP)的典型标志,看EAX的值也可知道=4271B0。
所以OEP=4271B0F8走一下,来到入口点。
软件加壳脱壳技术教程
![软件加壳脱壳技术教程](https://img.taocdn.com/s3/m/0edbafc408a1284ac850430a.png)
一.壳的概念
作者编好软件后,编译成exe可执行文件
1.有一些版权信息需要保护起来,不想让别人
随便改动,如作者的姓名等
2.需要把程序搞的小一点,从而方便使用
于是,需要用到一些软件,他们能将exe可执行文件压缩,
实现上述两个功能,这些软件称为加壳软件或压缩软件.
它不同于一般的winzip,winrar等压缩软件.
好,我们先从一个基本的Upx壳入手。
本地下载
首先必须的工具要准备好,
查壳工具
Peid0.91,Fileinfo,Language2000,File Scanner等。
查入口工具。
Peid0.91首推,冲击波(9X)系统专用,Asloader,自己的感觉,程序跨段跳跃点。
脱壳工具。
Ollydbg首选,LoadPe,PEditor,ProcDump等,够用了。
傻瓜式软件,运行后选取待侦测壳的软件即可(open)
脱壳教程2:手动脱壳入门第一篇
【使用工具】Ollydbg1.10b,ImportREC1.6F
【破解平台】Win2000/XP
前言,作者写这篇文章只是举个例子,希望读者能够举一反三,看清思路.
本论坛中破解高手很多,不会手动脱壳者人数仍然不少。有人会说,我有Unaspack,Caspr,ProcDump等众多脱壳工具,不会手动脱壳用工具脱就可以了。但有部分壳如Asprotect1.23Rc4,本论坛高手仙剑(将自己加密壳伪装成C++),有漏洞,用Peid查壳,Ep区段写有Xj,用Od载入提示有壳,更有甚一些软件如大嘴日语加了四层壳,这些都是工具无法脱壳的。随着加密壳的不断出现,基本壳都不会,高版本的加密壳以后脱壳盲根本无从入手。所以,手动脱壳Crack必修。
exe文件脱壳
![exe文件脱壳](https://img.taocdn.com/s3/m/e8b62acfaa00b52acfc7ca87.png)
步骤1 检测壳壳的概念:所谓“壳”就是专门压缩的工具。
这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、com、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地方,所以我们就形象地称之为程序的壳。
壳的作用:1.保护程序不被非法修改和反编译。
2.对程序专门进行压缩,以减小文件大小,方便传播和储存。
壳和压缩软件的压缩的区别是压缩软件只能够压缩程序而经过壳压缩后的exe、com和dll等程序文件可以跟正常的程序一样运行下面来介绍一个检测壳的软件PEID v0.92这个软件可以检测出450种壳新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。
另外还可识别出EXE文件是用什么语言编写的VC++、Delphi、VB或Delphi等。
支持文件夹批量扫描我们用PEID对easymail.exe进行扫描找到壳的类型了UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo说明是UPX的壳下面进行步骤2 脱壳对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。
这个过程就叫做脱壳。
脱壳成功的标志脱壳后的文件正常运行,功能没有损耗。
还有一般脱壳后的文件长度都会大于原文件的长度。
即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。
关于脱壳有手动脱壳和自动脱壳自动脱壳就是用专门的脱壳机脱很简单按几下就OK了手动脱壳相对自动脱壳需要的技术含量微高这里不多说了UPX是一种很老而且强大的壳不过它的脱壳机随处就能找到UPX本身程序就可以通过UPX 文件名-d来解压缩不过这些需要的命令符中输入优点方便快捷缺点DOS界面为了让大家省去麻烦的操作就产生了一种叫UPX SHELL的外壳软件UPX SHELL v3.09UPX 外壳程序!目的让UPX的脱壳加壳傻瓜化注:如果程序没有加壳那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
lordpe 使用
![lordpe 使用](https://img.taocdn.com/s3/m/c7a9afce690203d8ce2f0066f5335a8102d266c4.png)
lordpe 使用
LordPE是一款能够抓取内存映像的用来脱壳的软件,它能够把一个进程的内存数据给Dump下来,然后保存为文件。
使用LordPE的一般步骤如下:
1. 打开LordPE软件。
注意要用管理员权限打开,不然可能看不到正在被OD调试的进程。
2. 用LordPE查看了将要用到的一些PE信息,这些信息包括PE文件的入口RVA、映像地址和代码节的相关数据。
3. 用C32ASM对代码节进行加密。
具体操作是用C32ASM以十六进制的方式打开可执行文件,然后从代码节的文件偏移开始选择,一直选到相应位置。
之后单击右键,在弹出的快捷菜单上选择“修改数据”命令,在“修改数据”对话框中选择“异或”算法来对代码节进行加密。
4. 保存以后使用在前面章节编写的添加节表的软件对可执行文件添加一个新的节。
在新节中写入了还原代码节的解密指令。
5. 用LordPE修改该可执行文件的入口地址、代码节属性和新添加节的属性。
6. 最后运行修改过的可执行文件,检查是否能正常运行。
如需获取更多关于LordPE使用的信息,建议查阅计算机书籍或咨询专业技术人员。
新手必须知道的脱壳及修复工具解读
![新手必须知道的脱壳及修复工具解读](https://img.taocdn.com/s3/m/0508a6f419e8b8f67c1cb9a8.png)
新手必须知道的脱壳及修复工具很多软件都加了壳,除了易语言软件很少加壳。
对于我们这些新手也叫菜鸟级的,既然想学破解,脱壳是第一步,我也在学习啦,第一步就是个人电脑里面必须装的必备脱壳及修复工具,现在发一个工具介绍,我想对新手应该有用,大家可以复制工具名字,去网上下载:脱壳工具以及脱壳一般流程查壳(PEID、FI、PE-SCAN)--->寻找OEP(OD)--->脱壳/Dump(LordPE、PeDumper、OD自带的脱壳插件、PETools)--->修复(Import REConstructor)【工具介绍】1、查壳PEID--功能强大的侦壳工具,自带脱壳插件(但是,效果不怎么样)工作原理:核心是userdb.txt(大家看看就完全明白了)[通过壳的入口特征码进行辨认]使用方法:可以拖放、也可以把PEID添加到右键菜单里面去FI--功能强大的侦壳工具,DOS界面。
使用方法:可以拖放、可以使用DOS命令行2、寻找OEPollydbg的四个区域左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值.右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色突出显示.cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态.左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息.右下角的是当前堆栈情况,还有注释啊.几个经常使用的快捷键F2:在需要的地方下断点(INT3型断点)F3:选择打开程序F4:运行到所选择的那一行F7:单步进入F8:单步跟踪F9:执行程序(运行程序)其中要特别讲一下3个F9的区别和作用:根据Ollydbg.hlp的中文翻译Shift+F9 - 与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
脱壳教程
![脱壳教程](https://img.taocdn.com/s3/m/c5560614cc7931b765ce1531.png)
破解预备知识一、机械码,又称机器码.ultraedit打开,编辑exe文件时你会看到许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码就是机器码.修改程序时必须通过修改机器码来修改exe文件.二、需要熟练掌握的全部汇编知识(只有这么多)不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了cmp a,b 比较a与bmov a,b 把b的值送给aret 返回主程序nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)call 调用子程序je 或jz 若相等则跳(机器码74 或0F84)jne或jnz 若不相等则跳(机器码75或0F85)jmp 无条件跳(机器码EB)jb 若小于则跳ja 若大于则跳jg 若大于则跳jge 若大于等于则跳jl 若小于则跳jle 若小于等于则跳pop 出栈push 压栈三、常见修改(机器码)74=>75 74=>90 74=>EB75=>74 75=>90 75=>EBjnz->nop75->90(相应的机器码修改)jnz -> jmp75 -> EB(相应的机器码修改)jnz -> jz75->74 (正常) 0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)四、两种不同情况的不同修改方法1.修改为jmpje(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不能...,"Function Not A vaible in Demo" 或"Command Not A vaible" 或"Can't save in Shareware/Demo"等(我们希望把它跳过,不让它出现)xxxxxxxxxxxx 正确路线所在2.修改为nopje(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转)nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)五、爆破无敌口诀背会此口诀,天下无敌,以后慢慢琢磨,仔细体会,收益多多。
脱壳方法
![脱壳方法](https://img.taocdn.com/s3/m/d7876b164431b90d6c85c7a0.png)
手脱AHpack 0.1 -> FEUERRADER
建议不要单步跟踪 使用ESP定律能更快到达OEP SFX方法也可以 不过效率就 呵呵~
/*
Script written by VolX
Script : Aspr2.XX_unpacker
版本 : v1.0SC
日期 : 15-Jan-2007
调试环境 : OllyDbg 1.1, ODBGScript 1.47, WINXP, WIN2000
调试选项 : 设置 OllyDbg 忽略所有异常选项
看EP区段 显示 .!ep
突然发现peid 查壳很一般了 越来越不能相信它了
下面是我的脱壳手记:
用OD载入:
程序入口: 看壳的入口,好像是!EP(EXE Pack)1.4的,就暂且相信它吧
004B3000 > F8 clc
004B3001 57 push edi
004B301A 0BDB or ebx, ebx
004B301C 40 inc eax
004B301D 48 dec eax
004B301E 84D2 test dl, dl
软件名:锐速简历通
开始以为一次ESP定律就可以解决了,一看,OD断下来的时候和刚加载的一样,我马上想到是不是自己操作失误了?本来还想自嘲一下说老马失蹄,但是查看断点,这个软件唯一有点意思的地方是作者使用了两次一样的壳(不知道为什么,老觉得软件作者很会开玩笑),所以再使用一次ESP定律直接到达OEP dump 之后直接能使用 不用import修复
简单脱壳教程笔记(7)---手脱PECompact2.X壳
![简单脱壳教程笔记(7)---手脱PECompact2.X壳](https://img.taocdn.com/s3/m/9a6a545d2f3f5727a5e9856a561252d380eb203c.png)
简单脱壳教程笔记(7)---⼿脱PECompact2.X壳本笔记是针对ximo早期发的脱壳基础视频教程。
整理的笔记。
本笔记⽤到的⼯具下载地址:简单介绍:FSG壳是⼀款压缩壳。
我们这⾥使⽤9种⽅式来进⾏脱壳⼯具:ExeinfoPE或PEid、OD、LordPE、ImportREConstructor脱壳⽂件:05.⼿脱PECompact2.X壳.rar1 单步我们发现有两处call会跑飞。
那么我们须要在跑飞处进⼊,然后在跟就可以。
第⼀个跑飞的call,我们此时不应该单步⽽是进⼊第⼆个跑飞的call,我们此时不应该单步⽽是进⼊OEP2 ESP定律单步到在此处。
并在数据窗体中尾随,下断点,单步跟踪就可以。
可參考前⾯的笔记内容。
3 使⽤BP VirtualFree断点⾸先下 bp VirtualFree断点然后 SHIFT+F9执⾏,接着按F2取消断点接着ALT+F9运⾏到⽤户代码ctrl+f 进⾏查找 push 8000(特征码)F2设置断点, shift+f9执⾏到这,然后取消断点接着单步跟就可以。
就会到达OEP4 相同设置BP VirtualFree⾸先设置断点然后。
两次SHIFT+F9。
然后,取消断点。
Alt+F9 并运⾏到⽤户代码然后单步⾛。
就会到达OEP5.1、载⼊程序后,会发现⾸⾏有个地址0040A86D > B8 74DE4500 mov eax,qqspirit.0045DE742、在该地址处下断点 bp 0045de743、然后shift+f9执⾏,并取消断点4、我们在该处的retn 下⼀⾏设置断点,然后shift+f9执⾏,并取消断点045DE74 B8 F9CB45F0 mov eax,F045CBF90045DE79 8D88 9E120010 lea ecx,dword ptr ds:[eax+1000129E] 0045DE7F 8941 01 mov dword ptr ds:[ecx+1],eax0045DE82 8B5424 04 mov edx,dword ptr ss:[esp+4]0045DE86 8B52 0C mov edx,dword ptr ds:[edx+C]0045DE89 C602 E9 mov byte ptr ds:[edx],0E90045DE8C 83C2 05 add edx,50045DE8F 2BCA sub ecx,edx0045DE91 894A FC mov dword ptr ds:[edx-4],ecx0045DE94 33C0 xor eax,eax0045DE96 C3 retn0045DE97 B8 78563412 mov eax,12345678 //下断点5、接着单步跟就可以。
(完整版)常见几种脱壳方法(可编辑修改word版)
![(完整版)常见几种脱壳方法(可编辑修改word版)](https://img.taocdn.com/s3/m/2f83ef31cc22bcd127ff0c22.png)
----------------<小 A 分>----------------一、概论壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳(强壳)两种"UPX" "ASPCAK" "TELOCK" "PELITE" "NSPACK(北斗)" ... "ARMADILLO" "ASPROTECT" "ACPROTECT" "EPE(王)" "SVKP" ...顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。
当然加密壳的保护能力要强得多!-----------<小 A 分割线>-------------二、工具的认识OllyDBG ring3 shell 层级别的动态编译工具、PEid、ImportREC、LordPE、softIce ring0 级别调试工具-------------<小 A 分割>-------------------三、常见手动脱壳方法预备知识1.P USHAD (入栈/压栈)代表程序的入口点,2.P OPAD (弹栈/出栈)代表程序的出口点,与 PUSHAD 想对应,一般找到这个OEP 就在附近3.O EP:程序的入口点,软件加壳就是隐藏了 OEP(或者用了假的 OEP/FOEP),只要我们找到程序真正的 OEP,就可以立刻脱壳。
------------<小 A 分割线>--------------------方法一:单步跟踪法1.用OD 载入,点“不分析代码!”2.单步向下跟踪 F8,实现向下的跳。
也就是说向上的跳不让其实现!(通过F4)3.遇到程序往回跳的(包括循环),我们在下一句代码处按 F4(或者右健单击代码,选择断点——>运行到所选)4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!5.如果刚载入程序,在附近就有一个 CALL 的,我们就 F7 跟进去,不然程序很容易跑飞,这样很快就能到程序的 OEP6.在跟踪的时候,如果运行到某个 CALL 程序就运行的,就在这个 CALL 中F7 进入7.一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN 的一般很快就会到程序的 OEP。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
脱壳软件Peid使用方法(图)
Peid是一款强大的查壳软件,非常简单易用。
打开peid,界面如下:
直接把exe文件拖到里面即可。
例如:
这个是暗组2008 vstart软件的信息。
从上面我们可以看到软件加的UPX的壳,版本是0.89.6。
我们最常用到的功能有:
1、查看入口点。
即程序的入口地址。
查入口点的软件有很多,几乎所有的PE编辑软件都
可以查看入口点。
2、查看软件加的什么壳。
这个软件加的是UPX 0.89.6
插件应用。
最常用的插件就是脱壳。
Peid的插件里面有个通用脱壳器,能脱大部分的壳,如果脱壳后import表损害,还可以自动调用ImportREC修复improt表。
点击“=>”打开插件列表。
如图:
还可以专门针对一些壳进行脱壳,效果要比通用脱壳器好。
此例子中,我们使用unpacker for upx插件进行脱壳。
默认的脱壳后的文件放置位置在peid的根目录下。
文件名为原文件名前加un字样。
脱壳后我们再查看壳:
发现壳已经脱掉,程序为VB编写。
如果程序可以运行,则说明脱壳成功。
如果不能运行,可以修改import table等方式解决。
牧羊网软件频道热烈欢迎您投稿,投稿邮箱myr12@。
您的宣传,我们的动力!。