软件脱壳破解精典实例教程
新手入门学习——脱壳破解练习第一期
新手入门学习——脱壳破解练习第一期新手入门学习——脱壳破解练习第一期拿到一个软件,先看看是加的什么壳。
用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。
软件破解脱壳法
软件破解脱壳法什么是脱壳技术?在一些电脑软件里有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像电脑病毒和自然界的病毒一样,其实都是命名上的方法罢了。
从功能上抽象,软件的壳和自然界中的壳相差无几。
无非是保护、隐蔽壳内的东西。
而从技术的角度出发,壳是一段执行于原始程序前的代码。
原始程序的代码在加壳的过程中可能被压缩、加密……。
当加壳后的文件执行时,壳这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。
软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。
关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念:作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。
于是需要用到一些软件,它们能将exe可执行文件压缩。
3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。
实现上述功能,这些软件称为加壳软件。
(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK;PETITE NEOLITE(三)侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。
1.侦测壳的软件 fileinfo.exe 简称 fi.exe (侦测壳的能力极强)。
2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒)推荐。
language2000中文版(专门检测加壳类型)。
记一次APP去壳破解重新打包
记一次APP去壳破解重新打包1.拿到apk包时,第一步先判断是否加壳,加的是什么壳在手机上或者虚拟机上用MT管理器找到对应的apk包可以看的这个包虽然说是未加固,但还有个伪百度加固,其实也就是加了百度的壳的2.利用BlackDex32进行去壳在手机或虚拟机上安装BlackDex32,在软件中选择你要去壳的APP(ps:要先把apk安装上,不然找不到),在软件中可以指定去壳后的文件存储路径,到对应位置下找到apk的包名即可找到去壳后的dex文件3.回到MT管理器,打开脱壳的后dex与未脱壳的dex进行比较未脱壳的:脱壳后的:可以看到,第一个是一些测试用代码,第二个是百度的壳相关代码,第三个是真正隐藏起来的代码,第四个和暴露出来的代码一致。
那么就简单了,保留第三个和第四个,其他的都不要了。
4.还是用MT管理器修改你想破解的代码可以看的源码跟java类似,但还是很难解读,这就需要预先了解一些smali语法了。
5.修改原始apk包1.将之前修改好的dex文件重命名为classes.dex,用MT管理器查看原始apk包,将原始的dex文件重命名为classes1.dex,将新的dex文件拖进去2.打开assets文件夹,将里面带baidu字样的全都删掉,再打开lib下的armeabi文件夹,同样把带baidu字样的so文件全都删掉3.打开AndroidManifest.xml文件,找到application标签里的android:name属性,这里的启动类是假,根据内容找到对应的代码文件去寻找真正的启动类4.5.打开对应的AppInfo文件,找到真正启动类6.7.8.将真正的启动类替换掉假的启动类,保存退出6.长按apk包,对apk进行签名,签名完后将之前的安装的删掉,重新安装破解的即可以上只是浅显的针对我的那个apk进行的简单破解,很大概率可能还是解决不了你的问题,具体问题还是得具体分析,当然如果能对你有所帮助,那我也很开心能帮上忙。
一个简单的.NET程序的脱壳以及破解
一个简单的.NET程序的脱壳以及破解前几天有朋友问.NET程序的破解,又鉴于论坛里关于.NET脱壳和破解的文章也不多,于是抽空写一个。
由于本人也很少接触.NET的程序,因此文章没什么技术含量,用到的技术也是在网上很早就公开的东西。
有什么错误还请多多指教。
本文的目标文件是一个非常简单的CrackMe.本CrackMe的任务有4个:1.脱壳2.去NAG3.去灰色按钮4.破解OK,一个一个来完成任务吧。
一、脱壳查壳发现为:按照经验,此程序应该是用.NET Reactor加的壳下面来脱壳吧根据前人经验,此壳其实只是在简单的混淆,在运行的同时,在内存中会释放原程序的镜像根据这一特点,我们下断点:BP WriteProcessMemory,然后F9运行,中断下来中断下来看堆栈写入的地址为:17B1050在数据窗口查看,然后拉到最顶端可以发现,PE头在017B0000于是可以dump此地址的镜像。
当然,此时dump下来的程序不行,因为还有好多内容没写入。
于是,不断SHIFT+F9,直到程序运行。
这时候就可以dump了.用LordPE,区域转存017B0000这个区段,保存为dumped.exe就OK了.不过,此时dump后,程序是无法运行的。
我们还得再用CFF修正几个量(1).选Nt Headers,再File Header,然后选Characteristics,再点旁边的Click here,在出现的对话框中,去掉“File is a DLL”就OK了。
(2)修正MetaData RV A和MetaData Size的值MetaData RV A值的获得可以用2种方法第一种:原程序中,下完BP WriteProcessMemory,F9运行,第一次中断的时候就dump这个区段,此时的MetaData RV A是正确的。
在CFF中,选.NET Directory,看MetaData RV A的值,并记录:记录这个值为A400,然后在dumped.exe中同样修正这个值为A400第二种:参考老K的文章CFF中,选Address Converter,然后搜索字符“BSJB”接着就换算成RV A的值:换算结果同样为A400下面接着来计算MetaData Size的值选Optional Header,接着点Data Directories [x],然后看Import Directory RV A 的值记下值为BD4C所以,MetaData Size=BD4C-A400=194C故把MetaData Size的值修正为194C脱壳就到此结束了,再用PEiD查下,已经无壳了另外一种抓取镜像文件的方法如下(参考老K文章):首先运行下原程序,继续下标题为:Sample CrackmeOD载入程序,接着F9运行程序,然后ALT+M打开内存镜像,CTRL+B,在搜索UNICODE字符串“Sample Crackme”大约搜索2次后,就来到下面的地方:拉到最上端然后就选备份,保存数据文件,扩展名改为.exe就行后续的操作同上二、去NAG运行程序可以发现,此程序有个讨厌的NAG,并且作者也要求我们去掉分析.NET程序常用的工具为:ildasm2.0,Reflector,xenocode fox我这里就用xenocode fox这个了,因为这个工具可以查看地址当然,默认的选项可能没显示地址,我们可以自己手动改下设置在设置中,选DeCompiler这个选项卡,然后勾上“Show method body address”前面的勾就OK了在语言(Language)选项中,我们先为了分析方便,可以选C#语言,当然你也可以选其他的OK,下面就找关键地方吧,这个没什么好说的,靠自己去寻找。
如何将EXE安装文件脱壳和破解
如何将EXE安装文件脱壳和破解--之解决办法步骤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.09 UPX 外壳程序!目的让UPX的脱壳加壳傻瓜化注:如果程序没有加壳那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
VMP脱壳实例
0041E4EB E8 D8080000 call cm_vmp_c.0041EDC8
0041E4F0 FF7424 04 push dword ptr ss:[esp+4]
004014E5 8D4C24 08 lea ecx,dword ptr ss:[esp+8]
004014E9 51 push ecx
004014EA E8 91FFFFFF call crackme2.00401480
00401517 8BCE mov ecx,esi
00401519 E8 2A020000 call crackme2.00401748
0040151E 5F pop edi
0040151F 5E pop esi
效验3:patch上面的2处后,程序还是出错。继续来进行patch。
继续在0041E4E6下好断点,F9运行,发现运行89后,程序出错,于是写个脚本定位到出错的前1次,
sub al,1C
not al复制代码
下面我们来看下我们爆破的数据:
爆破点:4014FB 75---74
然后来计算下,74加密后的数据为多少。
写个解密函数的逆运算来进行解密吧:
mov al,74
not al
add al,1c
neg al
sub al,47
ror al,5复制代码
004014B0 81EC 00010000 sub esp,100
004014B6 56 push esi
004014B7 8BF1 mov esi,ecx
如何将EXE安装文件脱壳和破解
如何将EXE安装文件脱壳和破解
首先,我要强调,破解软件和脱壳软件违反了软件版权法,这是非法
行为。
那么,如何脱壳和破解EXE安装文件呢?
1.脱壳软件
脱壳是指将被打包、加密或保护的EXE文件还原为原始的可执行文件。
脱壳软件通常需要一些专业的技术知识,并且不同软件的脱壳方法也会有
所不同。
下面是一些常见的脱壳方法:
-调试器:将脱壳软件用调试器打开,断点在加载代码之前的位置上,使得在加载期间可以捕捉到呈现在内存中的文件。
- 静态分析:通过静态分析工具,如IDA Pro,分析文件的指令、数
据和控制流,找出加密和保护技术,并获取原始的可执行文件。
2.破解软件
破解软件是指破解免注册版或试用期软件的功能限制,以获得免费使
用所需功能的方法。
以下是一些常见的破解方法:
-序列号生成器:破解序列号的软件,通过生成有效的序列号来解锁
软件的功能限制。
-反向工程:通过逆向工程将软件中的保护措施绕过或关闭,以便在
未注册的情况下使用软件的全部功能。
- Patching:通过修改软件的二进制代码,删除或绕过软件的注册验证,以实现破解的目的。
无论您是否打算进行此类操作,我们鼓励您始终遵守版权法。
许多软
件公司对未经授权的破解行为采取法律行动,并对侵权者提起诉讼。
同时,使用未经授权的破解软件可能会导致您的计算机感染恶意软件或病毒。
因此,我们建议您遵守软件许可协议,并根据开发商提供的合法方式
获得软件的完整功能。
如果您希望获得一款软件的全部功能,可以考虑购
买正版软件或使用免费的替代品。
脱壳教程1
脱壳教程1:认识脱壳一切从“壳”开始首先大家应该先明白“壳”的概念。
在自然界中,大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。
同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
最早提出“壳”这个概念的,据我所知,应该是当年推出脱壳软件 RCOPY 3 的作者熊焰先生。
在几年前的 DOS 时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。
有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。
但毕竟在当时,甚至现在这样的人也不是很多,所以当 RCOPY3 这个可以很容易就找出“分界线”,并可以方便的去掉“壳”的软件推出以后,立即就受到了很多人的注意。
老实说,这个我当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的构思,单内存生成 EXE 可执行文件这项,就应该是世界首创了。
但它的思路在程序的表现上我认为还有很多可以改进的地方(虽然后来出现了可以加强其功力的 RO97),这个想法也在后来和作者的面谈中得到了证实。
在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有: UNKEY、MSCOPY、UNALL .... 等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的“密界克星”“解密机器”等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看过当时的广告了。
Xposed反射大师脱壳教程
Xposed反 射 大 师 脱 壳 教 程
以此来记录我第一次脱壳成功. 准备工具: Xposed框架;
说明:本次app使用的是乐固的壳,其它壳暂未使用过,不知道能不能脱成功. 1.打开反射大师,选择需要hook的软件,然后选择打开. 2.点击当前activity,点击函数,再点击undeclare,找到getclass点运行.
3.再点击函数,再点击undec.再点击函数,再点击undeclare,找到getBytes,点运行,点写入.完成脱壳. 5.最终脱出来的是一个data文件,其实就是dex文件的合集,使用MT管理器,或者其它能打开dex文件的编辑器即可.
19.11.4_18点13分 :
用一个软件教你如何破解的多种方法
只用一个软件,说明破解的层次!前言网上流传的卡巴斯基30天循环使用补丁,是怎么制作出来的?如何把共享软件的注册码变成形同虚设?遇到软件要注册,不用到处跪求注册码,如何自己寻找到真正的注册码?如何制作一个属于自己的注册机?我将对一个软件《拓维美容美发行业管理系统 6.19》进行多层次破解,借助最基本的方法来说明这些原理。
软件下载地址:/soft/47271.htm一、修改注册表文件,清除软件使用次数限制。
打开软件,首先跳出来一个注册的框,其中用户名可以随便填写。
左下角红色的字显示还可以试用的次数。
点击试用以后,可以进入软件。
但是试用总共有100次。
我们要做的是消除次数限制,无限试用。
原理分析:一般来说,试用次数被记录在注册表中,不管使用了多少次,我们如果能找到这个注册表文件,把已经使用的次数改为0,又可以重头计算,那样不就是无限循环使用了吗?工具:Regshot,一款体积小巧的注册表比较软件能在操作前后对注册表进行两次快照,自动比较。
步骤:1、安装好软件以后,先不要启动软件。
打开regshot,选择第一快照。
这记录的是试用次数还有100次的注册表状态。
2、扫描完成后,不要关闭regshot,这时打开软件,点击试用,进入软件,然后可以退出了。
3、启动regshot,选择第二快照。
扫描结束后,自动比较两个扫描结果,并弹出如图的报告。
报告显示有3处发生改变,找到显示改变注册表的路径。
其中的[HKEY_LOCAL_MACHINE\SOFTWARE\tw\twzc]引起了我们的注意。
因为这个路径tw是软件名称拓维的缩写,而且键的名称是day,肯定和时间有关。
4、点击开始—运行—输入regedit,回车,进入注册表编辑器。
按照路径找到这个键,选中它,依次点击文件—导出。
可以将这个注册表文件任意命名保存。
这个文件记录的是还能试用99次的状态。
当试用次数快结束时,双击导入这个文件,又恢复到可以试用99次的状态了。
软件脱壳破解精典实例教程
软件脱壳破解精典实例教程软件脱壳、破解精典实例教程我要破解的软件:网络填表终结者破解需要的软件(点击下载):侦壳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 的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。
脱壳教程_精品文档
脱壳教程标题:脱壳教程引言:脱壳是指将软件或应用程序的包装层(也称为保护壳或加密层)移除,以便对其进行更深入的分析、修改或逆向工程。
脱壳过程可以帮助软件开发人员或安全研究人员理解程序的内部运行机制,发现其中的漏洞或者进行优化改进。
本文将介绍脱壳过程的基本原理和几种常见的脱壳工具以及其使用方法。
一、脱壳的基本原理脱壳的基本原理是通过破解或绕过软件的保护机制来移除保护壳。
保护机制通常包括各种检测和防御技术,如代码混淆、加壳、逆向工程等。
常见的保护壳有UPX、ASProtect、Enigma等。
脱壳的过程涉及对程序进行调试、分析和修改。
二、脱壳工具介绍及使用方法1. OllyDbgOllyDbg是一款著名的逆向工程和调试工具,也是脱壳过程中经常使用的工具之一。
它具有强大的调试和反汇编功能,可以帮助分析程序的执行流程、内存变化等。
使用OllyDbg进行脱壳时,首先需要加载待脱壳的程序,然后设置断点,跟踪程序执行,找到关键的保护机制的位置,最终移除保护壳。
2. IDA ProIDA Pro是一款功能强大的反汇编和逆向工程工具。
它可以将程序转换为易读的汇编代码,并提供强大的导航和分析功能。
脱壳时可以使用IDA Pro来分析和修改程序的内存和代码。
它可以帮助找到程序的入口点、解密过程等,从而移除保护壳。
3. x64dbgx64dbg是一款开源的调试器工具,适用于32位和64位的Windows系统。
它具有用户友好的界面和丰富的调试功能,并支持脱壳过程中的动态调试和反调试技术。
使用x64dbg进行脱壳时,可以跟踪程序的执行流程、查看内存变化,找到关键代码并进行修改。
三、脱壳过程示例以某款加壳的软件为例,介绍基本的脱壳过程。
1. 加载待脱壳的程序到脱壳工具中,并设置断点。
2. 运行程序,在断点处停下来,观察程序的状态和执行流程。
3. 跟踪程序的执行,查找关键的保护机制位置,例如解密函数、保护壳的入口等。
4. 分析并修改程序的内存和代码,移除保护壳。
关于ASPack2.12加壳软件的脱壳方法[图文]
关于ASPack2.12加壳软件的脱壳方法[图文]其实ASPack 2.12是比较简单的东西,可以说,很大程度上,它可以对程序的大小进行压缩,方便发布其实ASPack 2.12是比较简单的东西,可以说,很大程度上,它可以对程序的大小进行压缩,方便发布。
今天从实际的例子来说说如何进行手脱ASPack 2.12 壳。
当然,所谓的手脱,不是说完全靠手工,我们还需要一定的工具,首先是PEiD,大家可以在脚本之家上下载到,主要用于查壳的一种小工具。
第二个就是动态调试工具OD(ollydbg),这个工具同样可以自己再网络上找到下载。
我们以一个ascii转换的小工具为例子。
因为刚刚好是用aspack 加的壳。
所以我们就拿它开刀。
阴纯长痘痘视频教程棋牌游戏赚钱上图是软件的界面,这个时候的软件大小是846 KB (866,816 字节)是不是感觉很小呢?我们用peid进行查看壳。
可以清晰的看到是aspack的壳吧。
而且还有版本,我们使用OD 打开它。
对于是否继续分析,我们点否就可以。
然后我们就可以看到下面类似的代码。
我们可以看到入口是停止了pushad,也就是寄存器压统一入栈操作。
那么我们就可以轻松的使用所谓的ESP定律来搞定了。
按一下F7,到下一行,看寄存器窗口。
里面的ESP的值。
视频教程教程看到ESP寄存器是红色的了。
我们copy对应的0012FFA4,到我们的命令行窗口下硬件断点。
硬件断点就是hr ,然后加上我们刚刚copy的地址,然后回车,这个时候我们可以再菜单的。
调试》硬件断点中看到我们设置的硬件断点了。
设置好断点后,我们直接按F9运行程序,它会在断点处停下来。
大致的位置看截图好,我们可以高兴的看到,发生了jnz,就是不等于0就跳转,而且是红色的方向向下跳转。
红色代表跳转已经实现,方向是向下,就是到了地址为006AF3BA的地方,然后这个地方push压入一个地址,通过retn方式返回。
我们这个时候删除硬件断点。
破解之多种方法脱ASP壳
破解之多种方法脱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。
软件破解初级实例教程(附工具附图)
软件破解初级实例教程(附工具附图)最近在群里总是看到很多新朋友在问:1、“新手怎么学破解啊?”(这是标准的伸手党,baidu google 其实很好用)2、“哎呀XX大牛,我什么基础都没有啊我不会汇编,不会C更不会C 还不会…………总之高手会的我都不会,我能学么?”(明确的告诉你,你能!你不和唐僧一样罗嗦的话你一定能。
)3、某白发帖问曰:“XX大牛,这软件你能帮我看看吗?我尝试了N天还是没有搞定,这是软件地址/XXX/XXX.rar 搞定了发到我邮箱里吧,我邮箱是XXXXX@。
”其实嘛,所有的技术都是从基础开始的,不要去妄想那空中的楼阁,也不要想速成。
在这明确的告诉大家,其实大牛们最讨厌的就是问这些本不该问的问题的人。
因为这些人根本就没有认清现实,没有看到成功背后的一些东西。
他们只看到了10% 40%,认为自己也可以凭借这些做到。
偷偷暴下料。
其实在去年的时候,小生同鞋,逆流师傅等现在的大牛还都是些小菜哦,现在呢?嘿嘿~~好了,上面叽咕了这么多。
也算是考验下大家的耐心吧。
嘿嘿。
其实学习的首要条件是兴趣!!兴趣越大你的投入就更多。
本文旨在分享,非本人原创,虽然我会简单的破解但没有这篇文章写的详细,我只是添枝加叶而已。
大家可以忽略图片上的logo水印,不然又有人质疑说什么软广告,本人有点懒,懒得用软件去掉,望大家谅解。
本文就是解决新手的疑问,让你走出迷茫,让你知道如何学破解。
0基础一样能学的很好。
大牛=10%天分40%耐心(这是帖子写完成后加的一句,其实你能认真看完这帖子你就够有耐心了)50%的长期努力。
我相信下面这个教程足够调起你的兴趣了,看完后你会发现,原来破解软件其实并没有那么难。
一、准备好常用破解工具:1、查壳工具:PEiD 0.95汉化版2、脱壳调试:OllyICE (俗称OD,可下载一些OD插件保存在程序文件目录下的plugin文件夹中,启动OD时会自动链接插件)3、Win32反汇编:WinHex (本文暂用不着)4、修复工具:ImportREC (本文暂用不着)5、注册机编写:keymake够了,初学不宜太多。
简单的逆向手动脱壳例题
简单的逆向手动脱壳例题
逆向工程是指对已经编译或加密的程序进行分析和破解的过程。
手动脱壳是指通过手动分析程序的代码和结构来去除程序的保护措施。
以下是一个简单的逆向手动脱壳的例题:
假设有一个使用了简单壳保护的可执行文件,你想要脱去这个
壳以便分析其内部结构和代码。
首先,你需要使用逆向工程工具
(如IDA Pro、OllyDbg等)打开这个可执行文件,然后分析其代码
段和数据段。
你需要寻找壳代码的入口点和保护措施,比如加密算
法或反调试技术。
接下来,你需要理解壳是如何工作的,包括它是如何加密或隐
藏原始代码的。
你可以通过动态调试来观察程序在运行时的行为,
或者静态分析来查看程序的代码逻辑。
一旦你理解了壳的工作原理,你可以开始编写代码来解密或者绕过这些保护措施。
在解密或绕过壳的过程中,你需要小心处理程序的内存和寄存
器状态,确保不会对程序造成不可逆的损坏。
一旦成功去除了壳,
你就可以分析原始的程序代码,包括其功能、逻辑和数据结构。
需要注意的是,逆向工程和脱壳是复杂且需要丰富经验的技术领域,需要深入的计算机系统知识和编程技能。
在实际操作时,务必遵守当地的法律法规,不要进行未经授权的逆向工程行为。
第2课用相应工具软件为软件自动脱壳(非手动脱壳)解析
第二课用相应工具软件为软件自动脱壳(非手动脱壳)欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。
如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。
带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。
这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。
这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。
若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。
脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。
一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。
但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。
但只要这个人是健康的,就无所谓,合乎情理。
一、脱壳软件的两大类别(两个门派――少林、武当)脱壳软件主要分两大类:专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。
每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。
通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。
根据“以一当一”的原则,专用类此门派为“武当”派。
大家可能会有这样的疑问?既然有通用脱壳软件,为什么还要专用脱壳软件呢?所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。
因此,少林派和武当派缺一不可,相辅相成。
均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。
二、专用脱壳软件的四大类别根据壳的流行程度,常用的脱壳软件主要有三类:脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。
通达信主程序脱壳全记录(图文)第一集完整版
通达信主程序脱壳全记录〔图文〕UPX加壳入口第一句是PUSHAD;出口关键字POPAD;手动脱壳时,用Olldbg载入程序,脱壳程序里面会有好多循环。
对付循环时,只能让程序往前运行,根本不能让它往回跳,要想法跳出循环圈。
第一步,先侦壳,侦壳工具为peid0.92,侦测结果如下:〔图000〕〔图000〕原来是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo加的壳,UPX是一种压缩壳,强度很低。
第二步,我们请出调试利器:Ollydbg1.09,载入程序,出现提示:用F8进行单步跟踪,对付循环时,只能让程序往前运行,根本不能让它往回跳,要想法跳出循环圈那就是设置“断点〞。
见上图〔图004 005 006 007〕下走。
〔后面碰到类似的情况,处理方法一样。
〕一直往下找,直到发现“POPAD〞时,在其地址处设置“断点〞―――“运行到选定位置F4”,然后继续F8往下走。
〔图008 009〕往下走。
在走几行,就会出现上图画面,“00622838A〞55 DB55 CHAR‘U’―――这是通达信主程序代码的真点击右键调出菜单,选择“用OllyDump脱壳调试进程〞。
〔图012〕出现上图画面,记住“修正为:22838A〞,点击“脱壳〞进行存盘。
〔图013 014〕=========下列图为重新载入已脱壳的新文件〔图015〕==========用“PEID〞检测,提示已无壳。
〔图016〕,但该文件还不能正常启动,因为“输入表〞尚未修复。
第三步,就是修复程序的输入表。
使用importREC,这是最好用的输入表修复工具。
1、运行加壳的原版TDX主程序,启动importREC程序,〔图018〕在“附加一个活动进程〞中选择“D:\通达信分析家l论坛版本〞。
2、在“所需的IAT信息〞中的“OEP〞填入“0022838A〞,点击“自动搜索〞按钮,出现下列图提示:〔图019〕3、点击“获取输入表〞按钮:〔图020〕4、点击“修复转存文件〞按钮,选择前面已完成脱壳的新文件,程序会自动生成一个新的“******_。
如何将EXE安装文件脱壳和破解
如何将EXE安装文件脱壳和破解
对于EXE安装文件的脱壳和破解,首先需要明确一点:这种行为是非法的,违反了软件版权法,如果未经授权擅自进行脱壳和破解,将会面临法律风险。
因此,我们鼓励用户遵守法律法规,正当使用软件。
下面的内容仅供学习和了解用途,请勿用于非法活动。
脱壳和破解是逆向工程的一种技术手段,通常用于破解软件的限制或加密保护,使其可以在未经授权的情况下运行或修改。
下面的步骤介绍了脱壳和破解流程的一般步骤:
1.分析静态和动态行为:使用反编译工具或调试器分析EXE文件的静态和动态行为。
这包括查看程序的逻辑、代码结构和数据流。
2.寻找加密和保护机制:在静态和动态分析的基础上,尝试找到程序使用的加密和保护机制。
这可能包括对文件的加密、检测反调试措施、或者对特定代码进行混淆等。
3.去除加密和保护:通过修改程序的二进制代码,解开加密和保护措施,使得程序可以正常运行。
这可能需要修改关键函数、解密算法或者绕过反调试措施。
4.修改程序的逻辑:如果需要修改程序的逻辑,使其满足特定需求,可以通过修改代码或者增加额外功能来实现。
这可能需要对程序进行重写或者插入自定义代码。
5.重新打包和分发:脱壳和破解完成后,重新打包成可执行文件,并进行分发。
注意,这一步骤可能也涉及到版权问题,请谨慎操作。
如果您对软件有需求,可以考虑购买正版软件或者寻找合法的替代方案。
他乡脱壳系列教程之狗世界加密狗破解
他乡脱壳系列教程之狗世界加密狗破解
课程目录:
第1课加密狗破解介绍 第2课破解域天狗并脱壳 第3课无狗打狗软件狗 第4课无狗打狗usb狗 第5课加密狗复制与模拟实战 第6课无狗打狗深思2(ROCKEY2) 第7课无狗打狗软件狗 第8课无狗打狗网络狗 第9课无狗打狗硬件狗 第10课无狗打狗深思4(ROCKEY4) 第11课无狗打狗深思6(ROCKEY6 SMART) 第12课无狗打狗思维尔狗 第13课无狗打狗---杀微狗 第14课无狗打狗---广联达狗(宏狗) 第15课无狗打狗---未知狗(宏狗+网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件脱壳、破解精典实例教程
我要破解的软件:网络填表终结者破解需要的软件(点击下载):
侦壳language.exe 脱壳AspackDie.exe
反编译W32Dasm黄金中文版
16进制编辑器UltraEdit.rar
在破解之前先复习一下基础知识:
一.破解的等级
初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破
中级,追出软件的注册码
高级,写出注册机
二.用w32dasm破解的一般步骤:
1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册
2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来
3.侦测有无加壳(第一课).若加壳,脱壳(第二课)
4.pw32dasmgold反汇编
5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键
6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call
7.绿色光条停在关键跳转,在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.修改为jmp
je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp 的作用是绝对跳,无条件跳,从而跳过下面的出错信息
2.修改为nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转)nop 的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。
好了,下面开始我们的破解之旅。
1,侦壳:先打开侦壳language.exe,选择打开----找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。
language.exe便显示出软件的壳是:Aspack,如图2。
2,脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择网络填表终结者:FormGhost.exe,打开。
如图3。
出现图4框,点确定脱壳完成。
在网络填表终结者:FormGhost.exe同目录下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。
3,运行脱壳后的unpacked.exe,点帮助----注册,图9。
注册名称,注册码随便添。
图10。
点注册,提示:“注册码错误”图11,好了记住这5个字。
关了它。
4,开始反汇编:打开反编译W32Dasm黄金中文版,选择反汇编----打开脱壳后的unpacked.exe,变开始加载。
如图5。
图6。
返汇编之后如图7。
点击上面的参考----串式参考如图8,
出现这个对话框图12。
找到“注册码错误”,双击它,汇编主程序便来到这里:图13。
(注意:正确注册信息在错误信息之上)关闭串式参考框。
看主程序:图14。
从注册码错误向上找到第一个跳转(关键跳,除了jmp的其它跳:je,jne,jz,jnz),来到这里图15。
(它上面的call叫关键call。
),双击关键跳,看软件最下面有一行字:Line:379267 Pg 7586 of 7626 Code Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.
其中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制,不用管他),图16。
5,开始修改软件:打开16进制编辑器UltraEdit.rar,(有点慢)图17。
打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。
点确定,来到图19
前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。
图20。
(如果正确注册信息在错误信息之下,这里改为eb)。
将光标移到5上直接输入数字4即可,其他地方不要动。
好了,改好只后左上角的文件---另存为unpacked222.exe
6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。
图21。
回到软件界面看看,帮助,注册一项已经变为灰色了,图22
7,破解全部完成
注:本文系转载。