怎样使用脱壳软件

怎样使用脱壳软件
怎样使用脱壳软件

第二节脱壳

一切从“壳”开始

吴朝相1999.2.23 (搜新网https://www.360docs.net/doc/0416051678.html,)

我写这篇东西的主要目的是让初到本站的新手们能对“壳”有个大概的认识,知道我每天说了些什么。限于本人的知识,如果有ERROR 之处,还请多原谅。如果你觉得还可以,也欢迎转贴,但请保留文章的完整性和作者的资料。当然如果你想把它发表,硬塞些稿费给俺花花,我也不会拒绝的。;)

作为一个以“壳”为主的站台,如果连访者连什么是“壳”都不清楚的话,那我也太失败了。很早以前就想写编完全关于“壳”的文章,但苦于时间和文字水平的关系,都没提笔。本着对站台负责的态度,现在经过一天的努力,“打”出这编尝试由壳的历史一直谈到最新发展的本章来。

首先我想大家应该先明白“壳”的概念。在自然界中,我想大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。

最早提出“壳”这个概念的,据我所知,应该是当年推出脱壳软件RCOPY 3 的作者熊焰先生。在几年前的DOS 时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。但毕竟在当时,甚至现在这样的人也不是很多,所以当RCOPY3 这个可以很容易就找出“分界线”,并可以方便的去掉“壳”的软件推出以后,立即就受到了很多人的注意。老实说,这个我当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的构思,单内存生成EXE 可执行文件这项,就应该是世界首创了。但它的思路在程序的表现上我认为还有很多可以改进的地方(虽然后来出现了可以加强其功力的RO97),这个想法也在后来和作者的面谈中得到了证实。在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有:UNKEY、MSCOPY、UNALL .... 等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的“密界克星”“解密机器”等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看过当时的广告了。

解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。LOCK95和BITLOK 等所谓的“壳中带籽”加密程序纷纷出笼,真是各出奇谋,把小小的软盘也折腾的够辛苦的了。正在国内的加壳软件和脱壳软件较量得正火红的时候,国外的“壳”类软件早已经发展到像LZEXE 之类的压缩壳了。这类软件说穿了其实就是一个标准的加壳软件,它把EXE 文件压缩了以后,再在文件上加上一层在软件被执行的时候自动把文件解压缩的“壳”来达到压缩EXE 文件的目的。接着,这类软件也越来越多,PKEXE、AINEXE、UCEXE 和后来被很多人认识的WWPACK 都属于这类软件,但奇怪的是,当时我看不到一个国产的同类软件。

过了一段时间,可能是国外淘汰了磁盘加密转向使用软件序列号的加密方法吧,保护EXE 文件不被动态跟踪和静态反编译就显得非常重要了。所以专门实现这样功能的加壳程序便诞生了。MESS 、

CRACKSTOP、HACKSTOP、TRAP、UPS 等等都是比较有名气的本类软件代表,当然,还有到现在还是数一数二的,由台湾同胞所写的FSE 。其实以我的观点来看,这样的软件才能算是正宗的加壳软件。

在以上这些加壳软件的不断升级较劲中,很多软件都把比较“极端”技术用了上去,因为在这个时候DOS 已经可以说是给众高手们玩弄在股掌之间了,什么保护模式、反SICE 、逆指令等等。相对来说,在那段时间里发表的很多国外脱壳程序,根本就不能对付这么多的加壳大军,什么UPC、TEU 等等都纷纷成为必防的对象,成绩比较理想的就只有CUP386 了,反观国内,这段时间里也没了这方面的“矛盾斗争”。加壳软件门挥军直捣各处要岗重地,直到在我国遇到了TR 这个铜墙铁壁以后,才纷纷败下阵来各谋对策,但这已经是一年多以后的事情了。我常想,如果TR 能早两年“出生”的话,成就肯定比现在大得多,甚至盖过SICE 也有可能。TR 发表的时候WIN95 的流行已经成为事实,DOS 还有多少的空间,大家心里都清楚。但话又说回来,TR 的确是个好软件,比起当年的RCOPY3 有过之而无不及,同时也证明了我们中国的CRACK 实力(虽然有点过时)。这个时候,前面提到过的FSE 凭着强劲的实力也渐渐的浮出了水面,独领风骚。其时已经是1997 年年底了,我也走完了学生“旅程”。工作后在CFIDO 的CRACK 区认识了Ding-Boy ,不久CRACK 区关了,我从此迷上了INTERNET,并于98年6月建起了一个专门介绍“壳”的站台:https://www.360docs.net/doc/0416051678.html,,放上了我所收集的所有“壳”类软件。在这段时间里,各种“壳”类软件也在不段的升级换代,但都没什么太大的进展,差不多就是TR 和众加壳软件的版本数字之争而已。

1998年8月,一个名为UNSEC (揭秘)的脱壳软件发表了,它号称可以脱掉98年8月以前发表的所有壳。我测试之后,觉得并没传闻中的那么厉害,特别是兼容性更是令我不想再碰它。Ding-Boy 给这个软件的作者提了很多建议,但寄去的EMIAL 有如泥牛入海,可能是一怒之下吧,不久Ding-Boy 的BW (冲击波)就诞生了。这个使用内存一次定位生成EXE 文件(后来放弃了)的脱壳软件,在我的站台公开后,得到了很多朋友们的肯定。要知道,从RCOPY 3 开始,绝大部分的脱壳软件都是要两次运行目标程序来确定EXE 的重定位数据的。BW 的这一特点虽然有兼容性的问题,但也树立了自己的风格、特色。经过几个月的改善,BW 升级到了 2.0 版本,这个版本的推出可以说是BW 的转折点,因为它已经是一个成熟、稳定脱壳软件了,它可以对付当时(现在)大多数的壳,包括当时最新的FSE 0.6 等。更重要的是这个版本把选择壳的和软件“分界线”这个最令新手头疼的步骤简化到不能再简化的地步,使更多的朋友接受了它。另外,能加强BW 功力的CI 模式也是其它脱壳软件没有的东西。最近,BW 发表了最新的 2.5 BETA2 版本,增强了一些方面的功能,因它竟然可以脱掉号称最厉害的磁盘加密工具LOCKKING 2.0 的加密壳,因而进一步奠定了它在“脱壳界”的地位。说到最新,就不能不提GTR、LTR、EDUMP、ADUMP、UPS、UPX、APACK 这几个国外的好软件了,它们每个都有自己的特色,可以说都是当今各类“壳”中的最新代表了。(这些软件和详细介绍请到我的主页查阅)

由于WINDOWS 3.1 只是基于DOS 下的一个图形外壳,所以在这个平台下的“壳”类软件很少,见过的就只有像PACKWIN 等几个有限的压缩工具,终难成气候。

可能是MICROSOFT 保留了WIN95 的很多技术上的秘密吧,所以即便是WIN95 已经推出了 3

年多的时间,也没见过在其上面运行的“壳”类软件。直到98 年的中期,这样的软件才迟迟的出现,而这个时候WIN98 也发表了有一段日子了。应该是有DOS 下的经验吧,这类的软件不发表由自可,一发表就一大批地的冲了出来。先是加壳类的软件如:BJFNT、PELOCKNT 等,它们的出现,使暴露了 3 年多的WIN95 下的PE 格式EXE 文件得到了很好的保护。大家都应该知道现在很多WIN95 下的软件都是用注册码的方法来区分、确定合法与非法用户的吧,有了这类加壳软件,这种注册方法的安全性提高了不少,如果大家也有自己编的WIN95 程序,就一定要多留意一下本类软件了。接着出现的就是压缩软件了,因为WIN95 下运行的EXE 文件“体积”一般都比较大,所以它的实用价值比起DOS 下的压缩软件要大很多,这类的软件也很多,早些时候的VBOX、PEPACK、PETITE 和最近才发表的ASPACK、UPX 都是其中的佼佼者。在DOS 下很流行的压缩软件WWPACK 的作者也推出了对应WIN95 版本的

WWPACK32,由于性能并不是十分的突出,所以用的人也不太多。由于压缩软件其实也是间接给软件加了壳,所以用它们来处理EXE 也是很多软件作者喜欢做的事情,最近新发表的很多软件里都可以看到这些加壳、加压缩软件的名字了。有加壳就一定会有脱壳的,在WIN95 下当然也不例外,但由于编这类软件比编加壳软件要难得多,所以到目前为止,我认为就只有PROCDUMP 这个软件能称为通用脱壳软件了,它可以对付现在大多数的加壳、压缩软件所加的壳,的确是一个难得的精品。其它的脱壳软件多是专门针对某某加壳软件而编,虽然针对性强、效果好,但收集麻烦,而且这样的脱壳软件也不多。前些时候TR 作者也顺应潮流发表了TR 的WIN95 版本:TRW ,由现在的版本来看可以对付的壳还不多,有待改进。

BW 的作者Ding-Boy 最新发表了一个WIN95 的EXE 加壳软件DBPE 。虽然它还不太成熟,但它可以为软件加上使用日期限制这个功能是其它加壳软件所没有的,或者以后的加壳软件真的会是像他说的那样可以:加壳和压缩并重、并施;随意加使用日期;加上注册码;加软件狗(磁盘)保护;加硬件序列号判别;加... 。

后记:

很久没写过怎么长的东西了,写着写着,就发觉这是一个很难用一篇文章就可以说得完的题目,所以就决定这次先写“壳”的历史、发展、种类等。如果大家反映还可以的话,以后有时间的话再补上它的姐妹篇来介绍如何加壳、脱壳、脱壳软件的使用、技巧等等。欢迎大家给我提意见,我的EMAIL 是:WCX98@https://www.360docs.net/doc/0416051678.html,,再次感谢你的阅读。

1、工具介绍

通过上一节,我想大家己认识了什么是壳的概念了,也是说运行加壳程序时,用户执行的实际上是这个外壳的程序,而这个外壳程序负责把用户原来的程序在内存中解压缩,并把控制权交还给解开后的真正的程序,由于一切工作都是在内存中运行,用户根本不知道也不需要知道其运行过程,只要执行起来没有变化就好。当时有些人担心这些解压缩的工作会给程序带来额外的运行时间,但实际上所有的可执行文件都要读到内存中去执行,文件小了,从计算机硬盘上读到内存的时间自然也少了,两下相抵,实际上用户并不会感觉程序慢了多少。脱壳的就是把在内存中真正还原的程序抓取下来,修正后变成可执行的文件。

在Windows 95/NT/2000 上的文件格式是Portable Executable File Format(即PE格式),该格式应用于所有基于Win32的系统。由于现在windows的普及,下面谈到的壳都是基于这种文件格式。

压缩工具介绍(PACKERS)

我们这里谈的压缩工具不是Winzip,WINRAR等工具(它们是可压缩任何文件),而是谈专门压缩windows下的PE 格式EXE或DLL文件的工具,压缩的EXE文件是自解压可执行文件。

常用压缩工具(Windows Packers )列表:

脱壳工具介绍(UNPACKERS)

一般某种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具,一般的壳都可轻易脱去。

常用脱壳工具(Windows Unpackers)列表:

侦测文件类型工具

要了解更多的压缩工具或脱壳工具可去下面站点:

站点1:playtools工具站点(请通过代理访问)

站点2:protools工具站点(请通过代理访问)

站点3:阿伦主页

2、ProcDump应用文章一

标题:软体名称中文哇!档案阅览器 2000 (Version 4.1)

保护方法壳

需要工具TYP( 侦测工具) & ProcDump 1.50( 剥壳机)

文章作者Peter S. (彼得的家)

侦测与剥 CWView 2000 (Version 4.1) 的壳

一、前言

何谓壳? 相信这是很多人的疑问。

其实壳,顾名思义,就像鸡蛋的壳一样,主要是保护鸡的「卵」。从外观上看来,鸡蛋是白色的,但是把壳剥掉以后呢? 是黄色的卵+ 透明的蛋白( 未熟蛋) 。这应用到我们的破解与保护上呢,也是同样的意思,假若我今天要修改一个执行档( 就像我要把黄色的卵,涂成绿色) ,但是因为有壳,所以根本找不到你要修改的地方( 就像光从鸡蛋的外观上看来,根本找不到有黄色的地方一样) ,一定要把壳「剥掉」,才能达成你的目的。我这样说,应该比较容易了解什么是壳了吧?

当然,正确的说,「壳」与「加密」是一体的,这类似你有一个纯文字档,如果你用zip 压缩它以后,能够再更改它吗? 不可能,因为资料已经被重新排列、且压缩运算过,成为一堆乱码,所以根本不能直接改。

这个教学文件所需要的软体如下:

1. TYP 这是一个能侦测你的软体是被哪一种「壳」给加密了

( 就好像侦测你的文件档是被zip 、rar 、arj 哪一个给压缩了一样,如果连被哪种软体加了壳都不晓得,那要剥壳就难很多) 。

2. Procdump 1.5 这是剥壳机器,可剥许多已知壳、未知的for win32 的壳。

二. 用TYP 测试CWView2000 是被哪种壳给加密了:

废话不多说,直接来:

1. 首先,你要把你下载来的TYP 先解压缩到某个目录( 我假设c:\try)

2. 再来,把CWView2000 的主程式cwview32.exe ,由c:\cwv2000 下拷贝到上面讲的目录(c:\try) ,接下来,从win95 开一个dos 视窗,并且切换到c:\try 目录下,然后键入typ3 cwview32.exe

3. 过几秒以后,直接跳到最后一行,有没有看到ASPACK / Solodovnikov Alexy [1.07b]这行?

哦~~~ 原来CWView2000 是用ASPACK 1.07b 来加密的啊。那要脱壳不就简单了,去找一个专门脱ASPACK 1.07 的软体不就得了??

没错,不过我在来要教的,是使用目前全世界最强的拨壳机Procdump 来剥壳。

三. 用Procdump 1.50 来剥ASPACK 1.07b 的壳:

1. 首先,当然也是把Procdump 解压缩到刚刚的目录(C:\TRY)

2. 执行Procdump ,你会看到如下的视窗:

3. 因为我们要剥壳,所以按下Unpack( 其他的按钮是干什么的,我也不清楚,大概是跟WIN 的PE 执行档有关的吧):

4. 由刚刚TYP 侦测得知,CWView2000 是用Aspack 1.07b 加的壳,所以理所当然的我们要选

择 [Aspack<108] ,选好后,按下OK( 要选对喔,选错会剥不出来):

5. 此时,ProcDump 会要求你开启你要剥壳的执行档,当然,我们要把路径指到c:\try\cwview32.exe

6. 紧接著马上会出现如下的视窗,此时,千万不要按下[ 确定] 。稍微等一下,有耐心一点,你马上就会看到CWView2000 被呼叫执行了,此时,将视窗切换至CWView ,随便使用一二个功能,然后在不要关掉CWView2000 之下,按下[ 确定] 钮。( 这个按钮是当程式[ 完全] 被载入以后,才要按的)

上面这个步骤很重要,如果心急乱按或乱关,你就得重来了。

7. 按下[ 确定] 后没多久,会出现下面的视窗,并且此时cwview 会自动被关掉,然后开始剥壳运算,当出现Step by step analyzis activated ... 时,过不久,Prucdump 就会要求你键入要输出的档名( 也就壳剥掉以后,原始的卵要存成什么档名) ,我这里举例成unshell.exe ,此时,也代表剥壳成功!!:

剥壳还蛮简单的嘛,对不对?

三. 试试看剥壳了以后的CWView32.exe 可不可用:

你可以自己执行看看,应该可以用吧? 或许你也可以比较一下剥壳与未剥之间的差别,你将惊觉: 没有剥壳的CWView32 只有602kb ,但是剥壳后,竟然高达1634kb 。很惊人的压缩率吧!( 所以加密或加壳的确有存在的必要,就好像压缩一样,可以帮助人们节省很多硬碟空间)

四. 试试看剥壳了以后的CWView32.exe 可不可以修改成注册版?:

你可以用16 位元编辑器,打开刚刚剥壳后的档案(unshell.exe) ,然后

寻找 C60520864F0001

改成 ------------00

嘿嘿,找的到对不对? 也可以改了吧... 这样就不用使用外挂的「动态破解」软体PPATCHER 了!

五. 我知道你在想什么...

你是不是在想,可不可以把刚刚修改完成的unshell.exe 再把它加壳,让它变的小一点啊?

当然可以,只要你有加壳软体... 还等什么,赶快去做啊!

从这次的破解教学我们学到:

1. 如何使用TYP 来侦测壳,与如何使用史上最强的procdump 来剥壳。

2. 要剥壳,其实并不难,只要TYP 侦测得出来、procdump 有列表的,都很简单。

要注意的是:

1. 当你发现TYP 的回报是Unknow 时候,别慌,procdump 也可以针对未知的壳作剥壳的运算,只要选择 **unknow** 就可以啦,不过成功率当然降低许多。

2. 为什么要介绍procdump? 因为它可以外挂script.ini 来增加剥壳的能力。也就是你可以自己用sice 追某个被不知名加密软体给加壳的软体,然后纪录起相关的资料,再交由Procdump 来把记忆体的内容「dump 」( 存) 起来,只是这篇教学没有教( 我也不太会啦...) 。

3.TYP 是目前世界上侦测壳、压缩资料,能力最强的软体,要善用,你可以在下面的网站抓到:

阿伦的家(GB 码): https://www.360docs.net/doc/0416051678.html,/

作者网页: http://www-user.TU-Cottbus.DE/~kannegv

注意: 要抓dos32 的版本,才能在windows 下正常使用

4.Procdump 是目前世界上最强的拨壳软体,除可以剥已知道的壳外,还可以剥许多未知的壳。更可以以手动的方法,增强其剥壳能力( 可惜的是,它只支援win32 的软体,win16 与dos 的他都不支援) 。,你可以在下面的网站抓到:

阿伦的家(GB 码): https://www.360docs.net/doc/0416051678.html,/

吴朝相的家(GB 码):https://www.360docs.net/doc/0416051678.html,/~topage

5. 别看我的网站都是介绍中国的网站,我可是道道地地的台湾人,只是因为破解与保护在中国比较盛行,不得已... 否则我也想介绍一些台湾的破解站啊!( 不然只有孤零零的我一个)

3、ProcDump应用文章二

今天,在吴朝相的网页上看到一篇由台湾的Peter's 写的关于脱壳的文章,里面提及到的了Procdump1.50 的使用,但由于所写的内容比较地肤浅,并没有交待到Procdump1.50 的强大之处,同时由于最近在网上

的软件,加壳之风日盛,如果作为一个Cracker ,不跟着时代走,可能在不久的将来,你就没有什么软件可以修改了,所以一定要在加脱方法下点苦功才行,为此,小弟想把一月来学习到的脱壳技术Post 出来,让大家了解一下在Windows 上是如何进行软件脱壳的,同时也想向大家介绍强大的Procdump1.50 是如何使用的,如何用它来进行手动脱壳的,如何扩展自已的Procdump1.50 的脱壳种类。但由于小弟在脱壳方面还是新手,如果文章中有错误之处,请来信指教。

读者要求:

你可以阅读和传播本文章,但不能对文章的内容作任何的修改,请尊重作者的劳动。

首先我们要先准备我们的工具:

1.Procdump1.50

2.Ultraedit6.10 (这个你也可以用别的编辑器)

3.Winsoftice

4.0

4.Trw0.75

5.MakePE1.27

6.Wdasm8.93

好了!工具都准备齐全了,我们就去下载一个实验品吧!今次我们选的是UPX ,在Procdump1.50 的脱壳文件列表中,你可以清楚地看到有UPX 的选项,所以我们今次就选它了,目前它的最新版本是0.82 ,好了下载完毕了,我们先用它来为软件加一个脱吧!

操作:

1. 在windows 上打开一个Dos 窗口, 进入UPX0.82 所在的目录;

2. 输入upx [ 要加壳的文件路径和文件名]

3.OK! 加壳成功了!

好了!现在可以试一试脱壳了!

操作:

1. 运行Procdump1.50 ;

2. 按Unpack 按钮,这时就出现了Choose Unpacker 窗口;

3. 在窗口中选择UPX ,这时就会跳出一个选择你要脱壳文件的选择窗口;

4. 按下打开,哦天啊!好痛苦啊!程序没有脱壳竟然运行了,Procdump1.50 提示一个错

误发生在script 的第一行。

以上的所有操作,是对自动脱壳来说的,基本上的自动脱壳的操作都是这样的。好了,难道就这样没有戏唱了吗?作者写文章那会就写这几十行废话呢?请接着看下面的吧!好了,看一看它没有没防住winsoftice 呢?重新启动机器,换一个有安装winsoftice 的windows 平台吧!再次运行被加脱了的程序,还好!没有当掉winsoftice ,这样心中暗喜,你有难了啊!看来外国人写的东西还是比较有善,不象Ding Boy 的幻影系列,比小燕子还凶(^o^ ,又说Ding Boy 的坏话了,其实有时我觉得他比较象Crack 界的小燕子,令人又爱又恨)。好了关闭程序,用winsoftice 载入去,唉刚刚还说好呢!原来它还是对winsoftice 作了一点小动作,winsoftice 不能中断于程序的入口的第一句处。没有关系,现在有三种方法,第一种方法是通过对程序的exe 文件作一点修改,使其符合标准的PE 文件格式,因为winsoftice 毕竟不是专为Crack 设计的,所以它的中断程序入口是针对标准的PE 文件格式来写的,对于那些不符合的,它就没有能力了,具体的PE 文件格式,大家可以看一看VC 中的MSDN 中的帮助和WINNT.H 中的解释;第二种方法就是不用winsoftice ,而用TRW ,因为刘涛涛先生的TRW 是专为Crack 设计的,所以几乎所有可以在Windows 上运行的程序,它都可以中断得了;第三种方法,就是在原exe 文件中加插int 3 语句,令winsoftice 强行中断。好了,方法说了一大罗,我们就用最简单的方法吧!没人会有简单的不用,去用最繁的,如果有吧!大家就。。。。。。。。

运行TRW0.75 ,选择菜单中的TRNEWTCB 命令,然后运行加脱的程序,程序马上中断于第一句了。

具体如下:

0137:0043D100 PUSHAD 程序会中断于这里

0137:0043D101 MOV ESI,0042B0D9

0137:0043D106 LEA EDI,[ESI+FFFD5F27]

0137:0043D10C PUSH EDI

0137:0043D10D OR EBP,-01

0137:0043D110 JMP 0043D122 跳到解压程序

0137:0043D112 NOP

0137:0043D113 NOP

解压程序的入口:

0137:0043D122 8B1E MOV EBX,[ESI]

0137:0043D124 83EEFC SUB ESI,-04

0137:0043D127 11DB ADC EBX,EBX

0137:0043D129 72ED JB 0043D118

0137:0043D12B B801000000 MOV EAX,00000001

0137:0043D130 01DB ADD EBX,EBX

0137:0043D132 7507 JNZ 0043D13B

0137:0043D134 8B1E MOV EBX,[ESI]

好了在解压程序里面,程序会做无数次的循环,我没有必要了解它是如何进行加压的,所以就把光标一直向下走,一直走到这里:

0137:0043D250 EBD6 JMP 0043D228

0137:0043D252 61 POPAD

0137:0043D253 C3 RET

0137:0043D254 61 POPAD

0137:0043D255 E9D6A1FDFF JMP 00417430 这就是程序的真正入口了

0137:0043D25A 0000 ADD [EAX],AL

0137:0043D25C 0000 ADD [EAX],AL

0137:0043D25E 0000 ADD [EAX],AL

好开心啊!终于找到了入口地址,如果你只是针对某一个特定的程序而脱壳的,那么现在就可以用TRW 的pedump 命令直接脱壳了,但这不是我们所要的,我们现在是要研究UPX0.82 的壳,要写一个通用的脱壳ini 加入到Procdump1.50 里面,那么,这样你以后就可以很方便脱掉UPX0.82 所的脱了,同时也很方便网上传播了,让别人也能分享你的成果,这才是真正的Cracker 精神。

操作:

1. 用Ultraedit6.10 打开Procdump1.50 目录下的Script.ini 文件;

它的格式如下:

[INDEX]

P1=Hasiuk/NeoLite

P2=PESHiELD

P3=Standard

P5=Wwpack32 I

P6=Manolo

P7=Petite<1.3

P8=Wwpack32 II

P9=Vbox Dialog

PA=Vbox Std

PB=Petite 1.x

PC=Shrinker 3.2

PD=PEPack

PE=UPX 修改为PE=UPX<0.7X PF=Aspack<108

P10=SoftSentry

P11=CodeSafe 3.X

P12=Aspack108

P13=Neolite2

P14=Aspack108.2

P15=Petite 2.0

P16=Sentinel

P17=PKLiTE

P18=Petite 2.1

P19=PCShrink

P1A=PCGUARD v2.10

P1B=Aspack108.3

P1D=UPX0.7X-0.8X 加入这句

然后找到:

[UPX] 修改为[UPX<0.7X]

然后在文件最下面加入:

[UPX0.7X-0.8X]

好了,准备功夫我们都做好了,现在可以写UPX0.82 的脱壳扩展了,首先我们可以见到程序有两个跳动的地方,第一个是:

0137:0043D110 JMP 0043D122 跳到解压程序

所以我们马上把机器代码抄下来:

EB,10

第二个是:

0137:0043D255 E9D6A1FDFF JMP 00417430 这就是程序的真正入口了

机器代码就是:

E9,D6,A1,FD,FF

好了,所有的要找到东西我们都已经找到了,我们就开始编写UPX0.82 的脱壳扩展了。

我编写的具体如下:

[UPX0.7X-0.8X]

L1=OBJR ; 在扫描开始处设置初始的内存地址

L2=LOOK EB,10 ; 查找第一个EB,10 程序代码

L3=BP ; 在当前内存位置设置断点

L4=WALK ; 交还控制权到Procdump 并且执行下一个指令

L5=OBJR ; 在扫描开始处设置初始的内存地址

L6=LOOK 61,E9 ; 查找第一个EB,10 程序代码

L7=BP ; 在当前内存位置设置断点

L8=STEP ; 一步一步地跟踪分析程式

好了,以上的解释都很清楚了,没有什么不明白了,我们把文件保存后,再次运行Procdump1.50 ,在Choose Unpacker 中可以见到多了一个UPX0.7X-0.8X 项了,选择它,进行脱我们加了脱的程序,哈哈,叫我们保存了,你可以不要高兴得太早了,你试一试运行dump 程序,哦不能运行,非法操作。不要心急,我们好象还有点东西要加上呢!那就是dump 的可选参数了,Procdump1.50 一共给我们提供了五组可选参数,如果你没有特别指出,就用默认值。好我们加上去试一试吧!

OPTL1=00000000

OPTL2=01010001

OPTL3=01010001

OPTL4=00030000

OPTL5=00000000

以上这五参数是最常用的,你加参数时可要先试试,或者加了之后就可以用了,好我们加上,试一试。

以下文章所述,可能在有的机器上有不同的结果,请自行修正:

作者的机器是:

赛扬300A (超450 )

PC100-64M 内存

当我再次运行Procdump1.50 来脱壳程序时,竟然程序一下子就运行了,根本不象上次那样提示要我保存脱壳后的文件,所以我想,可能这些参数有些不合适我的机器,于是我认真分析了每一个参数的真正含义之后,就把参数作了如下的修改:

OPTL1=00000001 这是延迟时间,我设为1ms

OPTL2=01010101 采用了快速dump 的工作方式

OPTL3=01010001

OPTL4=00030000

OPTL5=00000000

今次再运行Procdump1.50 进行脱壳,哈哈!!!可以脱了,然后再双击脱壳后的文件,咦,可以执行了,再用Wdasm8.93 反汇编分析一下文件,发现基本和原文件相同,只是文件大小有点不同,大了一点,再用

了一下软件的各种功能,一切正常,所以应该说脱壳是成功的,到此,文章也该在此结束了,不过好象还漏了点事,就是用MakePe1.27 帮助脱壳后的文件作进一步的优化,这就不一一描述了,自己看帮助进行吧!好了,最后总结一下吧!

完整地加入:

[UPX0.7X-0.8X]

L1=OBJR

L2=LOOK EB,10

L3=BP

L4=WALK

L5=OBJR

L6=LOOK 61,E9

L7=BP

L8=STEP

OPTL1=00000001

OPTL2=01010101

OPTL3=01010001

OPTL4=00030000

OPTL5=00000000

By The Way !

我发现对于使用UPX0.7x 到UPX0.8x 加壳的软件,用我的方法都可以成功脱壳。

作者:Ru Feng

信箱:ocq@https://www.360docs.net/doc/0416051678.html, (未得作者允许,严禁Email 任何软件到此信箱)

主页(一):https://www.360docs.net/doc/0416051678.html, (枫林居)

主页(二):https://www.360docs.net/doc/0416051678.html, (最Cool 的VB 控件天堂)

主页(三):https://www.360docs.net/doc/0416051678.html, (我的作品,主要介绍“电子资料库”软件

4、Procdump中文说明书

大家好!早两天放上了提高篇(10 )后,大家的反应还不错,不过对于一些朋友来说,要想用好Procdump1.50 ,可能还有点问题,因为它的Script 的说明书是英文的,对于英文不是太好的朋友,这就成为一个很大的问题了。昨晚,在白菜的聊天室内,我和Ding Boy 等高手一起聊天,Ding Boy 就建议我把Procdump1.50 的说明书翻译成中文,方便广大的朋友学习和使用Procdump1.50 ,本着我不入地狱,谁入地狱的决心,我就着手了翻译工作,由于本人的英文也不是太好!所以在Procdump1.50 的Script 说明书的翻译过程中,难免会有一些错误的地方,同时我的语文水平也不见得好到那里去,有时英文了解什么意思,中文也不知如何表达,所以也难免有一些词不达意,还有一些地方,我只能根据意译的方法来完成了,因为如果一字一字的合并起来,句子的意思可能不知它说什么。花了三个小时的时间,终于完成了,但为了有点记念意义,就把译文放进了提高篇(11 )当中了,希望大家喜欢!

读者要求:

你可以阅读和传播本文章,但不能对文章的内容作任何的修改,请尊重作者(译)的劳动。

*********************************

ProcDump32 的Script 扩展:

*********************************

A) 功能定义:

*************************

1) Look 功能:

这个Look 功能是在被载入的程序中查找指定的HEX 字串。它会把找到了的内存地址保存下来以便你可以方便在此内存地址设置断点。

例:

Look OF,85 将用于搜索一个JNE 或一个长jump 。你可以通过BP 命令来设置断点。

2) ADD 功能:

允许你在当前内存地址上加一个变址值(例:出现于look 命令或POS 命令之后)。

3) DEC 功能:

猜测;)

4) REPL 功能

这个功能用于在当前内存中修改内码(连续的HEX )(注:它出现在look 命令之后)。例:

REPL 90,90 将会在你当前的内存位置开始连接放入两个NOP 指令。

5) BP 功能

在当前内存位置设置一个断点。

6) BPX 功能

在指定的位置设置断点。这个位置与程序开始位置有关。

例:

如果程序的开始位置在RVA 66000h,BPX 2672 就会在RVA 68672 设置断点。

7) BPF 功能(用标志位设断)

这个功能会检查每一次断点发生时的标志位的值是否为你所设定的值。断点的位置为

当前内存地址。

Unset/Set 的内容

*******************

C * C * 进位标志。

P * P * 奇偶标志。

A * A * 辅助进位标志。

Z * Z * 零标志。

S * S * 正负号标志。

D * D * 方向标志。

O * O * 溢出标志。

你可以单独测试ONE 旗标。

8) BPC 功能

当经过当前位置的次数达到设定值时发生中断。

例:

BPC 15 ( 在第21(15h) 次经过当前位置时中断)

9) BPV 功能

当如果寄存器的值到达了你设定的值时中断。

例:

BPV EAX=5 ( 当特定位置的EAX=5 时中断) 。

10) MOVE 功能

设置当前EIP 。加一个参数值给当前EIP 。但请小心使用它。其实它对于程序没有做到什么,只是当你要跳过一些CRC 检查时,就要用到它了,它相当于代替一连串的NOP 指令。

例:

MOVE 14 就会把当前EIP 变为EIP+14h 。

11) POS 功能

为所有的功能设置当前内存地址,这个位置与程序开始位置有关。

12) STEP 功能

这个功能是设置一步一步的进行分析。它通常是用于完成跟踪dump 过程的。

注意:单步模式就意味着每一行代码它都进行测试-> 慢!!所以设置单步模式一般

都放在最后。

13) OBJR 功能

这个功能是设置以基始内存地址为开始进行扫描。对于LOOK 命令有影响。

14) BPREG 功能

以通过寄存器的值来设置断点。

15) WALK 功能

执行下一条指令后把控件权交还ProcDump32 。

设置下一个EIP 为原来程序的最初进入点。

注意:

在断点之后,下一个EIP 就是断点地址本身。

17) 建立外部帮助文件

通过特殊的参数创建外部文件。这个你指定的ini 文件是由一些特殊的参数组成和建立的。它包括:

. 进程的Pid 。

. 所有寄存器的值包括EIP 。

. 当前EIP 的值

例子:

在script 中:

...

L5=HELP PDHelp.Exe Helper.ini

...

你的helper 的命令行会包含\"helper.ini" 。

在helper.ini 中:

[REG]

Dr0=00000000

Dr1=00000000

Dr2=00000000

Dr3=00000000

Dr7=00000000

SegGs=00000000

SegFs=00000FDF

SegEs=00000167

SegDs=00000167

Edi=00000000

Esi=8161D244

Ebx=00000000

Edx=8161D2A4

Ecx=8161D264

Eax=0043E9B4

Ebp=00456000

Eip=00456264

SegCs=0000015F

Flags=00000216

Esp=0068FE34

SegSs=00000167

Pid=FFC1E943

Local=00456264

我想这样做可以比较灵活;)。

注意:

命令行每行不能使用超过512 个字每来描述helper 的EXE 和INI 文件的路径,这个只是ProcDump 的内部限制,而对于WINDOWS API 来说来说就不能超过256 个字母。

B) 在script 中Options 的格式:

*************************************

Options 是通过OPTL 开始的,并以DWORD 形式保存的。OPTL1=

DWORD : 设定AutoDump 中的延迟时间,以ms 为单位。OPTL2=

BYTE : 自动执行EIP

BYTE : 忽略错误

BYTE : 快速模式Dump

BYTE : 外部Predump

OPTL3=

BYTE : 优化PE

BYTE : 自动计算程式

BYTE : 跟踪API

BYTE : 自动分层

OPTL4=

BYTE : 未知模式

BYTE :Import 表类型重建

BYTE : 修复Header

BYTE : 修复Relocs

OPTL5=

BYTE : 保留

BYTE : 保留

BYTE : 检查Header

(完整版)常见几种脱壳方法

----------------<小A分>---------------- 一、概论 壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳(强壳)两种 "UPX" "ASPCAK" "TELOCK" "PELITE" "NSPACK(北斗)" ... "ARMADILLO" "ASPROTECT" "ACPROTECT" "EPE(王)" "SVKP" ... 顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。 当然加密壳的保护能力要强得多! -----------<小A分割线>------------- 二、工具的认识 OllyDBG ring3 shell层级别的动态编译工具、 PEid、 ImportREC、 LordPE、 softIce ring0级别调试工具 -------------<小A分割>------------------- 三、常见手动脱壳方法 预备知识 1.PUSHAD (入栈/压栈)代表程序的入口点, 2.POPAD (弹栈/出栈)代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近 3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。 ------------<小A分割线>-------------------- 方法一:单步跟踪法 1.用OD载入,点“不分析代码!” 2.单步向下跟踪F8,实现向下的跳。也就是说向上的跳不让其实现!(通过F4) 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选) 4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现! 5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP 6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入 7.一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN 的一般很快就会到程序的OEP。 近CALL F7 远CALL F8 Btw:在有些壳无法向下跟踪的时候,我们可以在附近找到没有实现的大跳转,右键-->“跟随”,然后F2下断,Shift+F9运行停在“跟随”的位置,再取消断点,

软件破解入门教程

先教大家一些基础知识,学习破解其实是要和程序打交道的,汇编是破解程序的必备知识,但有可能部分朋友都没有学习过汇编语言,所以我就在这里叫大家一些简单实用的破解语句吧! ---------------------------------------------------------------------------------------------------------------- 语句:cmp a,b //cmp是比较的意思!在这里假如a=1,b=2 那么就是a与b比较大小. mov a,b //mov是赋值语句,把b的值赋给a. je/jz //就是相等就到指定位置(也叫跳转). jne/jnz //不相等就到指定位置. jmp //无条件跳转. jl/jb //若小于就跳. ja/jg //若大于就跳. jge //若大于等于就跳. 这里以一款LRC傻瓜编辑器为例,讲解一下软件的初步破解过程。大家只要认真看我的操作一定会!假如还是不明白的话提出难点帮你解决,还不行的话直接找我!有时间给你补节课!呵呵! 目标:LRC傻瓜编辑器杀杀杀~~~~~~~~~ 简介:本软件可以让你听完一首MP3歌曲,便可编辑完成一首LRC歌词。并且本软件自身还带有MP3音乐播放和LRC歌词播放功能,没注册的软件只能使用15天。 工具/原料 我们破解或给软件脱壳最常用的软件就是OD全名叫Ollydbg,界面如图: 它是一个功能很强大的工具,左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值. 右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色突出显示. cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态. 左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息. 右下角的是当前堆栈情况,还有注释啊. 步骤/方法 1. 我们要想破解一个软件就是修改它的代码,我们要想在这代码的海洋里找到我们破解关键的代码确实很棘 手,所以我们必须找到一定的线索,一便我们顺藤摸瓜的找到我们想要的东东,现在的关键问题就是什么

群联Phsion最详细的U盘量产教程

群联Phsion最新,最详细的U盘量产教程 注意:请耐心阅读! 【量产的好处】 1. 安全:处理后,U盘上的光盘所在区域完全不可写,分区、病毒无法破坏!(要是你处理U盘的过程中不慎将病毒引入,那也是超级顽固的!) 2. 兼容性好:由于各厂家主板在USB-HDD和USB-ZIP处理方式上的不同,常规方法制作的U盘启动盘,常常在这台电脑上可用,在另外一台电脑上又引导失败。而USB-CDROM模式不存在这个问题。 3. 彻底解决了常规U盘启动后硬盘盘符混乱的问题。 4. 和光盘相比,启动速度快。现在的电脑都支持USB 2.0模式启动,启动WINPE 到桌面不超过一分钟。 5. 可以满足某些人近似变态的DIY情结,当然……只能暂时缓解,不能根治,绝症! 6. 量产后,U盘只有在读取时才会亮灯,平时不亮。这算不上“好处”,但是我喜欢。 【量产的缺点】 1、不是所有U盘都可以,取决于U盘主控芯片厂家是否提供该功能的量产工具;相信以后会越来越多。 2、本文象征意义大于实际意义,主要是提供一种思路。 3、目前网上下载的启动光盘没有考虑到这种启动方式,启动后可能出现一些错误,虽然几率很小。 4、处理以后checkudisk就不能查看U盘信息(ID)了,而且很多启动盘制作软件不能识别U盘。 5、DOS下的USB驱动程序可能不支持处理后的U盘(但是你可以从U盘引导后使用),WIN PE没问题。

【工具下载】 1、ChipGenius v2.7 USB设备芯片型号检测工具: https://www.360docs.net/doc/0416051678.html,/viewthread.php?tid=55326 2、群联量产工具:https://www.360docs.net/doc/0416051678.html,/viewthread.php?tid=55483 3、量产专用ISO镜像:https://www.360docs.net/doc/0416051678.html,/viewthread.php?tid=55598 【量产图文教程】 一、用ChipGenius V2.7(目前最新版本)检测USB设备芯片型号:

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

新手入门学习——脱壳破解练习第一期拿到一个软件,先看看是加的什么壳。用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】

怎样使用脱壳软件

第二节脱壳 一切从“壳”开始 吴朝相1999.2.23 (搜新网https://www.360docs.net/doc/0416051678.html,) 我写这篇东西的主要目的是让初到本站的新手们能对“壳”有个大概的认识,知道我每天说了些什么。限于本人的知识,如果有ERROR 之处,还请多原谅。如果你觉得还可以,也欢迎转贴,但请保留文章的完整性和作者的资料。当然如果你想把它发表,硬塞些稿费给俺花花,我也不会拒绝的。;) 作为一个以“壳”为主的站台,如果连访者连什么是“壳”都不清楚的话,那我也太失败了。很早以前就想写编完全关于“壳”的文章,但苦于时间和文字水平的关系,都没提笔。本着对站台负责的态度,现在经过一天的努力,“打”出这编尝试由壳的历史一直谈到最新发展的本章来。 首先我想大家应该先明白“壳”的概念。在自然界中,我想大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 最早提出“壳”这个概念的,据我所知,应该是当年推出脱壳软件RCOPY 3 的作者熊焰先生。在几年前的DOS 时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。但毕竟在当时,甚至现在这样的人也不是很多,所以当RCOPY3 这个可以很容易就找出“分界线”,并可以方便的去掉“壳”的软件推出以后,立即就受到了很多人的注意。老实说,这个我当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的构思,单内存生成EXE 可执行文件这项,就应该是世界首创了。但它的思路在程序的表现上我认为还有很多可以改进的地方(虽然后来出现了可以加强其功力的RO97),这个想法也在后来和作者的面谈中得到了证实。在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有:UNKEY、MSCOPY、UNALL .... 等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的“密界克星”“解密机器”等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看过当时的广告了。 解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。LOCK95和BITLOK 等所谓的“壳中带籽”加密程序纷纷出笼,真是各出奇谋,把小小的软盘也折腾的够辛苦的了。正在国内的加壳软件和脱壳软件较量得正火红的时候,国外的“壳”类软件早已经发展到像LZEXE 之类的压缩壳了。这类软件说穿了其实就是一个标准的加壳软件,它把EXE 文件压缩了以后,再在文件上加上一层在软件被执行的时候自动把文件解压缩的“壳”来达到压缩EXE 文件的目的。接着,这类软件也越来越多,PKEXE、AINEXE、UCEXE 和后来被很多人认识的WWPACK 都属于这类软件,但奇怪的是,当时我看不到一个国产的同类软件。 过了一段时间,可能是国外淘汰了磁盘加密转向使用软件序列号的加密方法吧,保护EXE 文件不被动态跟踪和静态反编译就显得非常重要了。所以专门实现这样功能的加壳程序便诞生了。MESS 、

加壳与脱壳应用及实现

加壳与脱壳的应用与实现

一、加壳 (2) 1.什么是壳 (2) 2.加壳原因 (2) 3.壳的加载过程 (3) 4.压缩引擎 (5) 5.常见的加壳工具 (6) a.常用压缩壳介绍 (6) b.加密保护壳介绍 (7) 二、脱壳 (10) 1.侦壳 (10) 2.脱壳 (13) a.查找程序的真正入口点(OEP) (13) b.抓取内存映像文件 (15) c.输入表重建 (15) 附:视频“加壳与脱壳(软件)”和“手动脱壳” (17)

加壳与脱壳 一、加壳 1.什么是壳 在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。 图1.1 2.加壳原因 就把这样的程序称为“壳”了。 作者编好软件后,编译成exe可执行文件。 1)有一些版权信息需要保护起来,不想让别人随便改动,如作者

的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。 2)需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩。 3)在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。 3.壳的加载过程 1)获取壳自己所需要使用的API地址 如果用PE编辑工具查看加壳后的文件,会发现未加壳的文件和加壳后的文件的输入表不一样,加壳后的输入表一般所引入的DLL和API函数很少,甚至只有Kernel32.dll以及GetProcAddress这个API 函数。 壳实际上还需要其他的API函数来完成它的工作,为了隐藏这些API,它一般只在壳的代码中用显式链接方式动态加载这些API函数2)解密原程序的各个区块(Section)的数据 壳出于保护原程序代码和数据的目的,一般都会加密原程序文件的各个区块。在程序执行时外壳将会对这些区块数据解密,以让程序能正常运行。壳一般按区块加密的,那么在解密时也按区块解密,并且把解密的区块数据按照区块的定义放在合适的内存位置。 如果加壳时用到了压缩技术,那么在解密之前还有一道工序,当然是解压缩。这也是一些壳的特色之一,比如说原来的程序文件未加壳时1~2M大小,加壳后反而只有几百K。

U盘量产详细图文教程

U 盘量产详细图文教程(附工具下载)
文章导读:“U 盘量产”我想大家都有可能听说过,最近有很多网友在寻修问吧提出这个问题,笔 者最近也做了个量产的尝试,结果非常顺利地做好了量产,接下来我就把我做量产的经验分享给 大家。
“U 盘量产”我想大家都有可能听说过,最近有很多网友在寻修问吧提出这个问题,笔者最 近也做了个量产的尝试,结果非常顺利地做好了量产,接下来我就把我做量产的经验分享给大 家。 首先来了解一下量产软件的定义,量产软件英文 USB DISK PRODUCTION TOOL,简称是 PDT,意思是 U 盘生产工具。U 盘生产厂家不像我们玩家,一次就搞一两个 U 盘,他们生产都是 按批计算的,是用电脑连上 USB HUB,同时连上8-16个(甚至更多)U 盘,然后用 PDT 向众 多 U 盘写入相同数据,完成 U 盘生产的最后工序。所以 PDT 因此得名量产软件—即工厂大批 量生产 U 盘的专用软件。 实战: 需要用到的软件:ChipGenius,用于检测 U 盘芯片型号。 U 盘量产软件:基本上每一种芯片都有专门的量产工具软件,大家先用 ChipGenius 检测芯 片型号后作出选择。 ChipGenius v3.01下载地址:https://www.360docs.net/doc/0416051678.html,/software.aspx?id=1347 50种 U 盘量产工具大全 下载地址:https://www.360docs.net/doc/0416051678.html,/software.aspx?id=1369 首先启动 ChipGenius,然后把 U 盘插上,ChipGenius 就开始检测 U 盘芯片组。 可以得知芯片型号是联盛的 UT165。

VB加壳脱壳程序源码

VB加壳脱壳程序源码 1、窗体代码 Private Sub Check1_Click() Text2.SetFocus End Sub Private Sub Image2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Image10.Visible = False End Sub Private Sub Image3_Click() If Text1.Text = "" Then MsgBox "Please Select A File First!", vbInformation Else List1.Visible = True List2.Visible = False Frame3.Visible = False List1.Text = " UPX 1.24 " Text2.SetFocus End If End Sub Private Sub Command2_Click() Dim path As String, back_path As String, file_t As String 'Dim's strings Text2.SetFocus CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName path = Text1.Text back_path = "Backupfile.exe" If Check1.Value = 1 Then i = FreeFile Open path For Binary As #i file_t = Space(LOF(i)) Get #i, , file_t Close #i Open back_path For Binary As #i Put #i, , file_t Close #i MsgBox " A Backup of the file has been created in the same location as the original file", vbInformation End If End Sub Private Sub Image3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Image8.Visible = True End Sub Private Sub Image3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Image8.Visible = False

一个简单的.NET程序的脱壳以及破解

一个简单的.NET程序的脱壳以及破解 前几天有朋友问.NET程序的破解,又鉴于论坛里关于.NET脱壳和破解的文章也不多,于是抽空写一个。由于本人也很少接触.NET的程序,因此文章没什么技术含量,用到的技术也是在网上很早就公开的东西。有什么错误还请多多指教。 本文的目标文件是一个非常简单的CrackMe. 本CrackMe的任务有4个: 1.脱壳 2.去NAG 3.去灰色按钮 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的值

量产教程(U盘相关)

重要说明:在操作前一定要详细阅读本文,否则可能导致制作失败,同时U盘报废(吓唬你的,本文有解决办法,但是仍然具有危险性,你需要为自己的操作及后果负责) 好处: 1. 安全:处理后,U盘上的光盘所在区域完全不可写,分区、病毒无法破坏!(要是你处理U盘的过程中不慎将病毒引入,那也是超级顽固的!) 2. 兼容性好:由于各厂家主板在USB-HDD和USB-ZIP处理方式上的不同,常规方法制作的U盘启动盘,常常在这台电脑上可用,在另外一台电脑上又引导失败。而USB-CDROM模式不存在这个问题。当然,新鲜事物还需要验证和完善。 3. 彻底解决了常规U盘启动后硬盘盘符混乱的问题。 4. 和光盘相比,启动速度快。现在的电脑都支持USB 2.0模式启动,启动WINPE到桌面不超过一分钟。 5. 可以满足某些人近似变态的DIY情结,当然……只能暂时缓解,不能根治,绝症! 6. 量产后,U盘只有在读取时才会亮灯,平时不亮。这算不上“好处”,但是我喜欢。 缺点: 1. 不是所有U盘都可以,取决于U盘主控芯片厂家是否提供该功能的量产工具。相信以后会越来越多。Kingston U盘保有量不是很多,所以本文象征意义大于实际意义,主要是提供一种思路, 2. 目前网上下载的启动光盘没有考虑到这种启动方式,启动后可能出现一些错误,虽然几率很小。 3. 处理以后checkudisk就不能查看U盘信息(ID)了,而且很多启动盘制作软件不能识别U盘。 4. DOS下的USB驱动程序可能不支持处理后的U盘(但是你可以从U盘引导后使用),WIN PE没问题。 预备知识 我买的U盘是金士顿DTI 2G(绿色,Vid_13fe&Pid_1d00),以下方法只能保证在这种型号U盘上适用,其他型号的U盘需要下载专用软件。Kinston U盘使用的主控芯片相当混乱,主要有擎泰SK6201,SK6281,还有用Toshiba,群联Phison,假货就更乱了。我的U盘用的是群联的主控芯片。 量产工具:U盘生产出来以后,还需要使用U盘控制芯片厂家提供的批量生产工具,(简称量产工具。为什么不叫批产工具#!@%…#!~)刷入底层资料(固件Firmware),格式化,关闭坏的区块,才得到可以使用的U盘。所以量产工具是维修U盘的终极武器,只要不是硬件故障,用量产工具几乎可以100%修复。把U盘模拟成USB-CDROM,用常规方法是不可能做到的,因为要修改底层资料(固件),量产工具必不可少。实际上,如果量产工具不提供这项功能,我们就不可能做到。 如果你的U盘是其他型号,请下载专用量产工具。先用checkudisk查看U盘ID,类似于Vid_13fe&Pid_1d00,再到网址https://www.360docs.net/doc/0416051678.html,/usb.ids查找对应的主控芯片厂家、型号(假货可能不准),然后下载专用量产工具。如果该量产工具不支持USB-CDROM,你只能期待新版本。 除了量产工具,你还需要准备一个可启动的光盘ISO或BIN文件。大小不可超过U盘总容量(废话)。还有,量产成功后,你可以使用的有效容量是扣除光盘以

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

软件脱壳、破解精典实例教程 我要破解的软件:网络填表终结者破解需要的软件(点击下载): 侦壳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修改)

万能量产工具教程.

系统安装重装维护再也不麻烦。感觉简直是超爽。 有了PE直播平台以后在网吧,企事业单位,破机,盗取资料简直不敢想像。 默认密码见附件 量产必读 何为“量产”:顾名思义即大批量生产。因为现在的电脑USB接口较多,而各种U盘的参数均可以通过软件更改,加之一些共用的数据有时也要统一写入到U盘,于是各闪盘芯片厂家均自主开发了设置写入软件,能够利用电脑上的USB口对多个U盘进行写入操作,因此称为“量产”。这无疑给一些单位小批量生产特殊格式的U盘提供了方便,而广大的爱好者也用来定制自己的U盘,当然爱好者的“产量”是很低的。究其过程,有点象写主板Bios,称为“烧录”更适当一些,主板Bios写坏了不能开机,U盘写坏了不要紧,机子不会“死”,可以再写,因此大家都想“量产”一把。 笔者分析,U盘量产变得热门还有几个原因。一者就是操作系统软件并没有提供对U盘进行分区的功能,随着U盘容量的增加,分区也应该是理所当然的,我想未来的操作系统可能会加这个功能;二者就是硬件支持上了台阶,首先是新的主板对USB设备提供了Bios级的支持,使主板对U盘的识别更好,速度更快。再一个就是U盘越做越小巧,容量却越做越大,速度越做越快;三者就是U盘启动技术变得成熟,象Windows嵌入式技术(即WindowsPE),新的一些DOS维护工具,如Grub引导技术等。U 盘如此小巧、又能自启动机器,在电脑维护上具有无可比拟的优势,特别是WindowsPE技术,使得从U盘启动的系统可以进行日常的应用,这是一个多么大的变革,再仔细想一下这种影响有多大? 笔者要在这里作个大胆预测,以后笔记本本可能会慢慢消亡,不远的将来,台式机到处都有,每个人怀揣几个大容量U盘,插入-->开机-->按F11-->选从俺的U盘启动-->进俺自己的U盘PE系统?看电影玩游戏上网破解盗资料……真不敢想像,系统安全性可能要重新评估……听说现在有的人在网吧上网从来就不用花钱的了,他根本不从你的系统启动,你能够计费吗?(我建议老板用泥巴将USB接口塞了,这是终极解决方案!!)这里不妨再作一个预测,如果U盘速度能够更快、容量能够更大的话,台式电脑硬盘都会消失,谁会把自己的资料放到人人都能用U盘启动的电脑上?因此干脆不装了,让用户将所有东西都用U盘随身携带吧! 当然,前景是很诱人的,不过因为生产标准未统一,导致U盘内部格式不一,因此各个厂家的量产工具都不一样,就是同一个厂家不同型号的也不一样,所以此文在量产工具的具体设置上是无通用性的,希望读者注意。这也是操作系统中没有对U盘进行分区的功能的原因。 针对回帖某些人:不知道的不要乱说,量产是看主控芯片,不是说我有某牌子的量产工具就可以量产某牌子的U盘,不然说出去叫人笑话。 这个工具,现在包括了市面上U盘主控芯片的量产软件在90%以上,能不能量产就看你的造化了。

脱壳基础知识入门

脱壳基础知识入门 现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹。另外,论坛现在两极分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但看到壳这么难,只好放弃了,造成新手与高手间一个断档,为了鼓励更多新人加入脱壳的行列,很有必要将壳有关知识总结一下。https://www.360docs.net/doc/0416051678.html,主页提供的教学确实有点过时了,己到非更新不可了。相对于密码学算法,脱壳并不难,只要肯花时间,短期内还是比较容易取得成绩的。 第一课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操作系统的一种系统机制,与特定的程序设计语言无关。 外壳程序里大量地使用了SEH,如果不了解SEH,将会使你跟踪十分困难。 SEH in ASM研究(一)by hume SEH in ASM研究(二)by hume Structured Exception Handling 加密与解密二版菜鸟学习笔记(2)-SEH结构化异常处理by ytcswb 由于Ollydbg对SEH处理异常灵活,因此脱壳用Ollydbg会大大提高效率。 附CONTEXT结构环境: 代码: typedef struct_CONTEXT{ /*000*/DWORD ContextFlags; /*004*/DWORD Dr0; /*008*/DWORD Dr1; /*00C*/DWORD Dr2; /*010*/DWORD Dr3; /*014*/DWORD Dr6; /*018*/DWORD Dr7; /*01C*/FLOATING_SAVE_AREA FloatSave; /*08C*/DWORD SegGs; /*090*/DWORD SegFs; /*094*/DWORD SegEs;

慧荣量产工具使用方法

DYNA-SM32X USB2.0 flash media controller Version:3.0

Introduce: The program is for SMI SM32X’s Mass Production. This tool can test up to 16 devices at once. Platform: There are two drivers for different platform: ●win98_factory_driver: ?Windows98 ●winXP_factory_driver: ?Windows 2000 ?Windows XP 环境设置: ●设置功能::(see the Fig. 1)

Fig. 1 Setting Function of SM32X Production Tool It will allow the user to change CID information. ?Password Entering:(see the Fig. 2) Fig. 2 Password entering for 「Setting」Function. The system default password is「320」. The wrong password led user to edit the「Begin Serial」and「End Serial」fields only. ?Loading the INI File:(see the Fig. 3) 1 2 Fig. 3 Loading the INI file for「Setting Function」. Loading an 「ini」file which saved in the past or the system default .The system default ini file is located in the same directory with application executable file. If no setting executed, the setting will be according to the「default.ini」file.

软件注册码破解案例教程

软件注册码破解案例教程 序言: 所谓计算机软件注册码是指为了不受限制地实现计算机软件的功能,而在软件安装或使用的过程中,按照指定的要求所输入的、由字母、数字或其它符号所组成的序列,因此,注册码有时又可称为序列号,只是在特定的条件下,两者会有所区别。之所以要对计算机软件设置注册码,开发者的初衷在于防止用户使用盗版软件,至今仍有部分软件注册码在发挥着这样的功能,最为典型的就是安装型注册码,即在软件安装过程中按要求必须输入的注册码,如果没有正确输入注册码,则软件根本不能安装到计算机中去。但是现在已经有了愈来愈多的软件注册码并非是对软件安装的限制,而是对软件其它方面的限制,比如,如果不输入正确的注册码,虽然可以安装并使用,但不能实现软件的全部功能等。 教程案例: 要破解的软件:网络填表终结者 破解需要的软件: 侦壳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的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。 以上为必备知识。下面开始我们的破解之旅…… 软件破解:

朱航宇-20112878-应用程序加壳与脱壳

应用程序加壳与脱壳 计算机与信息学院 信息安全专业11级1班 朱航宇 20112878 (1)实验目的 通过对灰鸽子自带的加壳程序,实现对改程序的加壳操作,并对加壳前后作出相应比较。从而了解什么是加壳,什么是脱壳,以及加壳的原理、作用。 (2) 实验内容 使用灰鸽子黑防专版生成加壳和未加壳程序;使用PEID测试加壳程序;使用UPXUnpack汉化版(利用OD脱壳)对已加壳的程序进行脱壳操作。 (3) 实验步骤 1. 加壳 1. 打开灰鸽子黑防专版。 2. 配置服务程序,生成不加壳程序。 点击工具栏上的“配置服务程序”按钮,自动上线设置中,ip设置为127.0.0.1;选择“高级选项”,选择 不加壳,设置保存路径保存路径当前文件夹,保存文件名称为 Server.exe ,然后点击 生成服务器。此时在系统桌面上将生成该程序。这个程 序即为没有加壳的灰鸽子程序。 3.配置服务程序,生成加壳程序。 在主界面点击配置服务程序,打开服务器配置对话框设置好IP地址为127.0.0.1,然后点击“高级选项”选择:使用UPX加壳,保存路径当前文件夹,保存文件名设置为Server_jiake.exe ,并点击生成服务器按钮。生成的程序如图1所示。

图1.灰鸽子生成加壳和不加壳的server 4.打开PEID程序;将这两个文件分别拖到PEiD程序界面。分别查看检测结果 ,以下两个图分别是未加壳和加了壳的检测结果,如图2,图3,可以看出,未加壳程序所检测出来的是文件开发工具,而加了壳的文件检测出来的是加壳信息。

图2.未加壳的检测 图3.加壳的检测

2. 脱壳 1、打开UPXUnpack汉化版程序,主界面如下;直接拖动 Server_jiake.exe文件到程序内,显示如图4所示,生成脱壳文件Server_tuoke。 图4.加壳server脱壳 2. 再次打开PEID程序,检测Server_tuoke.exe文件的加壳信息,如图5 所示。 可以看到它的信息和未加壳server是相同的。

一步一步制作软件共存版

一步一步制作软件共存版,修改软件UID。 来自cnpda_segalgx 以qq2007为例,首先,我们用siscontents 1.0.3《siscontents 1.0.3汉化版(3版si s软件解包打包签名PC软件)》打开原版qq2007_s60. sisx 一、修改exe文件 1、选择“编辑”——》“编辑文件”,进入编辑状态 2、点“文件内容”,选择qq2007.exe,再选择“查看详情”

3、我们选择修改UID,确定后,同时把SID也一起修改为相同值

4、把修改后的qq2007.exe提取出来

5、用16进制编辑软件打开刚才提取的qq2007.exe(我这里用的是winhex) 替换文件里面旧的UID为新的UID,搜索替换unicode文本“c:\system\apps\qq2007”为 “c:\system\apps\qq2008”(修改路径,一般在修改的ui d附近),完成后保存,并把qq2007.exe改名为qq2008.exe

二、修改*_REG.RSC(重新计算UID校验码)

需要的软件:uidcrc.zip (18.12 KB) 这里就是qq2007_reg.rsc,利用siscontents提取出来,用winhex打开,修改UID3和相关路径(qq2007改为qq2008),由于修改了UID3,我们需要重新生成正确的UID校验码。UID校验码需要用uidcrc工具计算 进入dos,命令格式为uidcrc 0xUID1 0xUID2 0xUID3 就会输出0xUID1 0xUID2 0xUID3 UID校验码 计算出正确的UID校验码,填入对应位置,保存,文件名改为qq2008_reg.rsc

教你如何破解exe软件

教你如何破解软件 要破解的软件:网络填表终结者 破解需要的软件(点击下载): 侦壳 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修改) 第三列汇编指令

相关文档
最新文档