新手入门学习——脱壳破解练习第一期

合集下载

新手入门学习——脱壳破解练习第一期

新手入门学习——脱壳破解练习第一期

新手入门学习——脱壳破解练习第一期新手入门学习——脱壳破解练习第一期拿到一个软件,先看看是加的什么壳。

用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。

使用OllyDbg快速脱壳

使用OllyDbg快速脱壳

破解教程★★使用OllyDbg快速脱壳★★使用OllyDbg快速脱壳dOSKEY lEE目标:采用ASPACK、UPX加壳的NOTEPAD.EXE工具:OllyDbg 1.09英文版、DUMP插件、PEditor系统:Win98SE关键词:脱壳、OllyDbg、OD、DUMP、PUSHAD、POPAD预备知识大多数壳都有一个共同的特点。

在壳准备开始解压时都要执行PUSHAD,当壳解压完时都要调用POPAD。

到底PUSHAD和POPAD是什么干什么用的呢?其实PUSHAD是用来将所有普通寄存器顺序进栈的指令,POPAD是所有普通寄存器顺序出栈指令。

POPAD的出栈顺序和PUSHAD相反。

壳为了保护寄存器,便在解压前将所有寄存器进栈保护起来,当解压完成后又将寄存器出栈,恢复其原貌,并将IP设置为原程序的OEP。

这样我们就可以通过这个特点快速脱掉多种软件的壳。

ASPACK篇先用ASPACK将NOTEPAD.EXE加壳。

用OllyDbg(以下简称OD)载入。

看见光标停在壳的入口处。

0040D001 > 60 PUSHAD ;壳的入口。

准备开始解压,保护寄存器0040D002 E8 03000000 CALL NOTEPAD.0040D00A……我们不管它,直接向下翻页找POPAD指令。

在40D3AF处找到POPAD……0040D3AF 61 POPAD ;解压完成,恢复寄存器0040D3B0 75 08 JNZ SHORT NOTEPAD.0040D3BA0040D3B2 B8 01000000 MOV EAX, 10040D3B7 C2 0C00 RETN 0C0040D3BA 68 CC104000 PUSH NOTEPAD.004010CC ;返回到原程序OEP处0040D3BF C3 RETN……选定40D3AF这一行,F4运行到此处。

在这里说明壳已经完成解压工作。

并且返回到原程序的入口处。

个人总结的一个VMP脱壳步骤

个人总结的一个VMP脱壳步骤

个人总结的一个VMP脱壳步骤第一篇:个人总结的一个VMP脱壳步骤个人总结的一个VMP脱壳步骤个人在学习脱VMP加壳的过程中总结的一个步骤。

按照这个步骤,包括VMP1.6—2.0在内应该有70%-80%能脱壳。

脱不了的也别问我,我也刚开始学习。

我还想找人问呢。

想要脱VMP的壳,首要工作当然是要找一个强OD啦!至于是什么版本的OD自己多试验几个,网上大把大把的,一般来说只要加载了你想脱的VMP加壳程序不关闭都可以。

其次就是StrongOD.dll这个插件了,现在用的比较多的就是海风月影,同样网上也是大把大把的。

下载回来后复制到你的OD程序所在的文件夹里面的plugin里。

StrongOD的设置选项搞不懂就全部打钩。

接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。

例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。

这些都是程序运行所需要的windows链接文件。

做完这些预备工作接下来当然是用OD载入文件啦。

文件载入后在反汇编窗口CTRL+G搜索VirtualProtect(注意V跟P要大写,至于为什么要搜索这个别问我)。

一般来说搜索的结果会出现以下的类似:7C801AE3 E8 75FFFFFF call kernel32.VirtualProtectEx 我们在这里下F2断点。

然后F9运行到我们下的这个断点。

接下来我们就要注意观察堆栈窗口了。

一般来说当我们F9运行到我们上面下的断点的时候在堆栈窗口会出现以下类似: 0012F66C 00401000 |Address = TradeCen.00401000 0012F670 000280D1 |Size = 280D1(164049.)0012F674 00000004 |NewProtect = PAGE_READWRITE 0012F678 0012FF98 pOldProtect = 0012FF98 我们要注意观察的就是在接下来我们F9运行的时候,ADDRESS和NEWPROTECT这两行的变化。

软件脱壳破解培训班第一课程_教材课件

软件脱壳破解培训班第一课程_教材课件

软件反编译破解学习班第一课1、介绍:内容;安全中国本节介绍了软件破解的通用方法和步骤,我们用通俗的语言介绍了软件破解的入门知识,希望大家能够由此步入破解的殿堂,进入奇妙无比的破解天地。

希望没有任何基础的人也能学会,则深感欣慰,不亦乐乎。

2、说明:内容.;熟悉软件的结构,了解软件破解的流程、达到辨伪存真的目的。

欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。

如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。

带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。

这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。

这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。

若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。

脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。

一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。

但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。

但只要这个人是健康的,就无所谓,合乎情理。

★使用方法:傻瓜式软件,运行后选取欲脱壳的软件即可完成脱壳工作。

AspackDie软件运行界面如图1所示。

图1 AspackDie运行界面脱壳时注意:目标程序的属性不能为“只读”,否则会失败。

下面举个例子(ex1701)。

运行AspackDie软件,选定ex1701,如图2。

图2 选定目标文件ex1701选定后,鼠标单击“打开”按钮,即完成脱壳工作,如图3。

在ex1701所在目录生成脱壳后的文件,其名称为Unpacked.exe。

图3 脱壳成功时的画面2.AsprStripperAsprstripper(作者网站:/syd/)功能非常强大,能对付ASPack 2.xx 版本的各种标准壳和变种壳,它只能运行在windows 2000/xp平台上。

脱壳基础知识入门

脱壳基础知识入门

脱壳基础知识入门现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。

越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。

除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。

壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹。

另外,论坛现在两极分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但看到壳这么难,只好放弃了,造成新手与高手间一个断档,为了鼓励更多新人加入脱壳的行列,很有必要将壳有关知识总结一下。

主页提供的教学确实有点过时了,己到非更新不可了。

相对于密码学算法,脱壳并不难,只要肯花时间,短期内还是比较容易取得成绩的。

第一课 PE格式要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。

Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。

推荐文档:ah007翻译的“PE文件格式”1.9版qduwg翻译的PE文件格式Iczelion's 的PE文件格式PE结构各字段偏移参考学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。

强烈推荐你用Stud_PE v.2.2.0.5这款工具辅助学习PE格式。

PE格式学习的重点是在输入表(Import Table)这块。

Stud_PE工具界面:PE结构图:第二课 SEH技术结构化异常处理(Structured Exception Handling,SEH)是Windows操作系统处理程序错误或异常的技术。

SEH是Windows操作系统的一种系统机制,与特定的程序设计语言无关。

软件脱壳破解精典实例教程

软件脱壳破解精典实例教程

软件脱壳破解精典实例教程软件脱壳、破解精典实例教程我要破解的软件:网络填表终结者破解需要的软件(点击下载):侦壳language.exe 脱壳AspackDie.exe反编译W32Dasm黄金中文版16进制编辑器UltraEdit.rar在破解之前先复习一下基础知识:一.破解的等级初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破中级,追出软件的注册码高级,写出注册机二.用w32dasm破解的一般步骤:1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来3.侦测有无加壳(第一课).若加壳,脱壳(第二课)4.pw32dasmgold反汇编5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转的偏移地址(实际修改地址)8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件unaspack,caspr,upx,unpecompact,procdump 实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成第一列行地址(虚拟地址)第二列机器码(最终修改时用ultraedit修改)第三列汇编指令第一列第二列第三列:0041BE38 2B45F0 sub eax, dword ptr [ebp-10]:0041BE3B 6A42 push 00000042:0041BE3D 50 push eax:0041BE3E FF75F4 push [ebp-0C]:0041BE41 FF75F0 push [ebp-10]:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]两种不同情况的不同修改方法1.修改为jmpje(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp 的作用是绝对跳,无条件跳,从而跳过下面的出错信息 2.修改为nopje(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转)nop 的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。

手动脱壳基础知识-电脑资料

手动脱壳基础知识-电脑资料

手动脱壳基础知识-电脑资料单步跟踪法:1.OD载入,不分析代码,。

2.近CALL—F7,远CALL—F8,实现向下的跳转。

3.有回跳处,下一句代码处—F4 (右键—代码断点运行到所选)4.大的跳转(大跨段,JMP***或JE***或RETN),很快就会到OEP内存镜像法:1.OD载入软件2.点选项—调试选项—忽略全部—CTRL+F2重载3.ALT+N打开内存镜像,找程序第一个.rsrc—F2下断—SHIFT+F9运行到断点,再打开找到程序第一个.rsrc上面的.code处(就是00401000处),F2下断—SHIFT+F9或无异常按F9,到OEP 模拟跟踪法:无暗桩情况下使用1.F9试运行,跑起来就无SEH暗桩之类的,否则就有.2.ALT+N打开内存镜像,找到包含“=sfx,imports reloco tions”字符3.地址=*** 命令行输入:tceip<***,回车.ESP定律法:1.F8,观察OD右上角寄存器中ESP有没有实现(红色)2.命令行下 DD ******(当前代码ESP值),回车3.DD就选中下端地址,断点—硬件访问—DWORD断点,F9运行,到跳转处按F8 到DEP最后一次异常法:1.OD打开—点选项—调试选项—去掉所有异常—CTRL+F2重载.2.SHIFT+F9.只到程序运行,记下次数M3.CTRL+F2重载—按SHIFT+F9(次数为M-1次)4.按CTRL+G—输入OE右下角的SE句柄前的地址.5.F2下断—SHIFT+F9到断点处.6.去断按F8,到OEP.一步到位OEP法:只适合少数壳,如UPX,ASPACK1.CTRL+F—输入:POPAD.回车查找—F2下断—F9运行到此处.2.来到大跳转处,点F8到OEP.SFX法:1.设置OD,忽略所有异常.2.切换到SFX选项卡,选择“字节模式跟踪实际入口”,确定.3.重载—“否”压缩代码,到OEP.。

脱壳基础知识入门

脱壳基础知识入门

脱壳基础知识入门现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。

越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。

除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。

壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹。

另外,论坛现在两极分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但看到壳这么难,只好放弃了,造成新手与高手间一个断档,为了鼓励更多新人加入脱壳的行列,很有必要将壳有关知识总结一下。

主页提供的教学确实有点过时了,己到非更新不可了。

相对于密码学算法,脱壳并不难,只要肯花时间,短期内还是比较容易取得成绩的。

第一课PE格式要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。

Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。

推荐文档:ah007翻译的“PE文件格式”1.9版qduwg翻译的PE文件格式Iczelion's的PE文件格式PE结构各字段偏移参考学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。

强烈推荐你用Stud_PE v.2.2.0.5这款工具辅助学习PE格式。

PE格式学习的重点是在输入表(Import Table)这块。

Stud_PE工具界面:PE结构图:第二课SEH技术结构化异常处理(Structured Exception Handling,SEH)是Windows操作系统处理程序错误或异常的技术。

SEH是Windows操作系统的一种系统机制,与特定的程序设计语言无关。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

新手入门学习——脱壳破解练习第一期拿到一个软件,先看看是加的什么壳。

用PEiD查得【Upack V0.37-V0.39 -> Dwing *】
接着拿出破解第一要物OD进行脱壳(注意选好点的版本,由于Upack壳做了变形,有些版本的OD打开时会出错,最好是用英文版的)
OD载入……
我使用简单一点的ESP定律。

00401018 > BE B0114000 MOV ESI,脱壳破解.004011B0
0040101D AD LODS DWORD PTR DS:[ESI]
0040101E 50 PUSH EAX
0040101F FF76 34 PUSH DWORD PTR DS:[ESI+34]
00401022 EB 7C JMP SHORT 脱壳破解.004010A0
F8前进到【0040101F】,在寄存器窗口ESP处点右键,在数据窗口跟随【0012FFC0】
如下图:
//数据窗口点右键,下硬件断点。

shift+F9运行
0012FFC0 004011B8 脱壳破解.004011B8
0012FFC4 7C82F23B 返回到 kernel32.7C82F23B
0012FFC8 00000000
//来到OEP,通过观察可以发现,这是一个典型的VB入口。

这里记得要删除硬件断点!004011B8 68 24184000 PUSH 脱壳破解.00401824 //OEP
004011BD E8 EEFFFFFF CALL 脱壳破解.004011B0
004011C2 0000 ADD BYTE PTR DS:[EAX],AL
004011C4 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。

因为UPack对做了变形处理,此时无法用VBExplorer打开,需要先用Upack PE修复工具修复。

修复完成后即可使用VBExplorer顺利的打开文件,修改俺就的Enable属性为True。

保存文件,破解完成!!!
欢迎大家跟我讨论问题(以前玩过一段时间脚本,在局域网放过一两次鸽子,现在条件限制,转行破解了,呵呵)
QQ:61902540(不过最近上网困难,只能靠手机上网,相当痛苦,如果没即使回复,可论坛PM)
Hackhaa
2008年12月31日。

相关文档
最新文档