文档库 最新最全的文档下载
当前位置:文档库 › 软件手动脱壳进阶

软件手动脱壳进阶

软件手动脱壳进阶
软件手动脱壳进阶

PEncrypt简介

Multi Layer Encryptor for the Decryptor. SoftICE, ICEDump Detection code. Crashes the OS in case it is found in memory. Anti ICEDump's /TRACEX command. Win9x compatible. Includes anti-debugging, anti-tracing routines.

看完简介,我们了解到这个壳对抗Softice的模拟跟踪,对抗调试器跟踪等。

软件截图

脱壳目标 PEncrypt 4.0 加壳Win98的记事本,选择Win2000,Xp中反跟踪选项加密,Win9x/Me 加密选项没选。

https://www.wendangku.net/doc/4313196568.html,

软件后用Fi测NOTEPAD.EXE的壳为PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode [重叠]

如何分辨加密壳和压缩壳,通用特点,Od载入时有入口警告或询问是压缩程序吗?普通压缩壳Od调试时候没有异常,加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常。

找OEP的一般思路如下:

先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常。

外壳解压代码起始点如果是

pushfd

pushad

跟踪时如果有发现

popad

popfd

对应

有些壳只有

pushad

popad

相对应

附近还有

retn

jmp

等指令,发生跨断跳跃一般就到了OEP处。

当然也有其他的,如 je OEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转。

找Oep时注意两点。

1、单步往前走,不要回头。

2、观察。注意poshad、poshfd,popad、popfd等,和外壳代码处对应,注意地址发生大的变化。单步跟踪什么时候F8走,F7,F4步过?

https://www.wendangku.net/doc/4313196568.html,

这里我说说关于F8(Step Over)和F7(Step in)的一般方法,粗跟的时候一般都是常用F8走,但是有些call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较call 的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走。对于Call的距离很远,可以放心用F8步过,如果你再用F7步过,只是浪费时间而已。F8步过对压缩壳用的很多,F7步过加密壳用的很多,如果用F8一不小心就跑飞(程序运行),跟踪失败。

加密壳找Oep

对于加密壳,我的方法一般是用OD载入,钩掉所有异常(不忽略任何异常,除了忽略在KERNEL32 中的内存访问异常打勾。有时由于异常过多可以适当忽略一些异常),运行,数着用了多少次Shift+F9程序运行,显然最后一次异常后,程序会从壳跳到OEP开始执行,这就是我们寻找OEP 的一个关键,如果程序 Shift+F9后直接退出,很明显加密壳检测调试器,最简单的应付方法就是用OD插件隐藏OD。

单步异常是防止我们一步步跟踪程序,即F8,F7,F4等,Int3中断是检测调试器用的,仅在Win9x 系统中有效,2000/XP就会出现断点异常,其它的异常主要是干扰调试。这一系列的异常虽然干扰我们调试,但也给我们指明了一条通路,就是Shift+F9略过所有异常,然后找到最后一处异常,再它的恢复异常处下断点,跟踪到脱壳入口点。

确定从所有Seh异常中走出来,如果前面有大量循环,逐段解压。

当然你也可以用另一个好东西——Trace,在Command里来个tc eip<42b000 (42b000是当前段的起始位置,滚动条拖到最上面就能看到了,一般程序编译的基地址为400000),42b000只是例子,如果你的下模拟跟踪时机很准,确定没有Seh异常,稍等一会我们就会停在OEP处(对特别加密壳需要大量时间跟踪,因为它的循环极多,但比手动跟踪快,大部分时候是的。)详细跟踪情况可以点运行跟踪看OD跟踪记录。

我们来实际体会一下。

我们把Od中的选项-调试选项-异常选项卡中

除了忽略在KERNEL32 中的内存访问异常打勾,其余一个勾都不打,请检查自己的Od设置。

用OD载入程序后。

https://www.wendangku.net/doc/4313196568.html,

Od提示程序加壳,选不继续分析。

00401000 > FC CLD 停在这里。

00401001 FC CLD

00401002 FC CLD

00401003 90 NOP

00401004 - E9 BDBA0000 JMP NOTEPAD.0040CAC6

00401009 - E3 D5 JECXZ SHORT NOTEPAD.00400FE0

0040100B 04 4F ADD AL,4F

0040100D - 74 A4 JE SHORT NOTEPAD.00400FB3 ..................................................................

F9运行。

Od提示内存异常,Shift+F9继续运行。

0040CC9E 8618 XCHG BYTE PTR DS:[EAX],BL

0040CCA0 ^ EB FA JMP SHORT NOTEPAD.0040CC9C

0040CCA2 4A DEC EDX

0040CCA3 75 6E JNZ SHORT NOTEPAD.0040CD13

Od提示调试的程序无法处理异常,按Shift+F9程序退出。

0040CC9E 8618 XCHG BYTE PTR DS:[EAX],BL

0040CCA0 ^ EB FA JMP SHORT NOTEPAD.0040CC9C

很明显加密壳检测出OD调试器,最简单的应付方法就是用OD插件隐藏OD。

用插件隐藏Od后。

我们Shift+F9忽略第一次异常到了这里。

单步异常,再次Shift+F9程序就运行了。停,看堆栈吧。

0040CCD2 4B DEC EBX

0040CCD3 6F OUTS DX,DWORD PTR ES:[EDI] ; I/O 命令0040CCD4 6368 69 ARPL DWORD PTR DS:[EAX+69],EBP

堆栈内容。

0012FFBC 0012FFE0 指针到下一个 SEH 记录

0012FFC0 0040CCD7 SE 句柄呵,这里表示Od的最后一个异常处理出口就是0040CCD7,会在0040CCD7处的代码处继续正常运行。

0012FFC4 77E67903 返回到 KERNEL32.77E67903

哪我们就Ctrl+G,填入0040CCD7,回车,F2下断点,Shift+F9中断在这里。

https://www.wendangku.net/doc/4313196568.html,

顺利运行到这里,再没有Seh陷阱,可以单步跟踪去Oep处了。

0040CCD7 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]

0040CCDB 8B00 MOV EAX,DWORD PTR DS:[EAX]

0040CCDD 3D 04000080 CMP EAX,80000004

0040CCE2 74 06 JE SHORT NOTEPAD.0040CCEA

0040CCE4 4B DEC EBX

0040CCE5 65:72 61 JB SHORT NOTEPAD.0040CD49 ; 多余的前缀0040CCE8 6C INS BYTE PTR ES:[EDI],DX ; I/O 命令0040CCE9 61 POPAD

0040CCEA EB 02 JMP SHORT NOTEPAD.0040CCEE ................................................................

去Oep出的过程我们先想象一下。

0040CCD7 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]

0040CCDB 8B00 MOV EAX,DWORD PTR DS:[EAX]

0040CCDD 3D 04000080 CMP EAX,80000004

0040CCE2 74 06 JE SHORT NOTEPAD.0040CCEA

0040CCE4 4B DEC EBX

0040CCE5 65:72 61 JB SHORT NOTEPAD.0040CD49 ; 多余的前缀0040CCE8 6C INS BYTE PTR ES:[EDI],DX ; I/O 命令0040CCE9 61 POPAD

0040CCEA EB 02 JMP SHORT NOTEPAD.0040CCEE ...........................................................

经过中间过程。

Call XXXXX

循环..............

popad

jmp XXXXXX

ret

入口点,代码跨段。

那我们滚动条向上面看,当前段起始位置是40c000跨段入口点的地址必须是小于40c000

那我们可以下条件断点了。

命令行下命令

tc eip<40c000

截图

回车后,几秒后看截图

呵呵,我们熟悉的记事本入口,关键它已经跨段,换个程序通样处理,我们已经学会方法。

004010CC 55 PUSH EBP 跨段来到这里,我们再这里用Od的Dump插件直接脱壳。

004010CD 8BEC MOV EBP,ESP

004010CF 83EC 44 SUB ESP,44

004010D2 56 PUSH ESI

004010D3 FF15 E4634000 CALL DWORD PTR DS:[<&KERNEL32.GetCommand>;

KERNEL32.GetCommandLineA

004010D9 8BF0 MOV ESI,EAX

004010DB 8A00 MOV AL,BYTE PTR DS:[EAX]

004010DD 3C 22 CMP AL,22

004010DF 75 1B JNZ SHORT NOTEPAD.004010FC

004010E1 56 PUSH ESI

004010E2 FF15 F4644000 CALL DWORD PTR DS:[<&USER32.CharNextA>] ;

USER32.CharNextA

脱壳后发现程序不能运行,这时需要用Imprec修复引入函数表(Import Table)

在Oep处填10cc,点IT自动搜索,然后点获输入信息,看到输入表全部有效,点修复抓取文件按钮,选择Dump的文件,修复它,运行后仍然不能运行。

呵,我们还有Lordpe重建PE的功能,用上吧。

运行Lordpe重建Pe,选择Imprec修复的文件,修复后正常运行。

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

----------------<小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运行停在“跟随”的位置,再取消断点,

怎样使用脱壳软件

第二节脱壳 一切从“壳”开始 吴朝相1999.2.23 (搜新网https://www.wendangku.net/doc/4313196568.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。

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的值

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

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

软件注册码破解案例教程

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

用一个软件教你如何破解的多种方法

只用一个软件,说明破解的层次! 前言 网上流传的卡巴斯基30天循环使用补丁,是怎么制作出来的如何把共享软件的注册码变成形同虚设遇到软件要注册,不用到处跪求注册码,如何自己寻找到真正的注册码如何制作一个属于自己的注册机我将对一个软件《拓维美容美发行业管理系统》进行多层次破解,借助最基本的方法来说明这些原理。 软件下载地址: 一、修改注册表文件,清除软件使用次数限制。 打开软件,首先跳出来一个注册的框,其中用户名可以随便填写。左下角红色的字显示还可以试用的次数。点击试用以后,可以进入软件。但是试用总共有100次。我们要做的是消除次数限制,无限试用。

原理分析:一般来说,试用次数被记录在注册表中,不管使用了多少次,我们如果能找到这个注册表文件,把已经使用的次数改为0,又可以重头计算,那样不就是无限循环使用了吗 工具:Regshot,一款体积小巧的注册表比较软件能在操作前后对注册表进行两次快照,自动比较。 步骤: 1、安装好软件以后,先不要启动软件。打开regshot,选择第一快照。这记录的是试用次数还有100次的注册表状态。

2、扫描完成后,不要关闭regshot,这时打开软件,点击试用,进入软件,然后可以退出了。 3、启动regshot,选择第二快照。扫描结束后,自动比较两个扫描结果,并弹出如图的报告。

报告显示有3处发生改变,找到显示改变注册表的路径。其中的[HKEY_LOCAL_MACHINE\SOFTWARE\tw\twzc]引起了我们的注意。因为这个路径tw是软件名称拓维的缩写,而且键的名称是day,肯定和时间有关。

4、点击开始—运行—输入regedit,回车,进入注册表编辑器。按照路径找到这个键,选中它,依次点击文件—导出。 可以将这个注册表文件任意命名保存。

加壳软件大汇总

压缩工具

加密保护(Protectors) ASProtect 1.2 ASProtect 1.23RC!SDK ASProtect 1.31 build06.14 ASProtect 1.32 Beta build 10.20 ASProtect 1.33 build 03.07 ASProtect 1.35 Keygenerator-TMG ASProtect 1.35 build 04.25 Release ASProtect 2.0 build 01.13 ASProtect 2.0 Build 06.23 Alpha ASProtect SKE 2.11 03.13.crk ASProtect SKE v2.x Keygen-ECLiPSE ASProtect.SKE 2.2 build 04.25 Release ASProtect.SKE 2.3 build 03.19 beta.crk ASProtect.SKE 2.3 build 04.26.beta.汉化版 ASProtect.SKE 2.3 build 05.14 beta ASProtect.SKE.v2.41.Build.02.26 ASProtect.SKE 2.51 09.22 Beta 这个壳在pack界当选老大是毫无异议的,当然这里的老大不仅指它的加密强度,而是在于它开创了壳的新时代,SEH,BPM断点的清除都出自这里,更为有名的当属RSA的使用,使得Demo版无法被crack成完整版本,code_dips也源于这里。IAT的处理即使到到现在看来也是很强的。他的特长在于各种加密算法的运用,这也是各种壳要学习的地方。 特点:兼容性与稳定性最好,商业软件应用的很广大。 ASProtect 1.x系列,低版本用Stripper工具可自动脱壳。 ASProtect SKE 2.x强度大大提高,主要是高级输入保护,特别是抽OEP、SDK。 ASProtect.v.1.35.Keygen适用于04.25以前版本。 ASProtect.v.2.x.Keygen适用于2.2/2.3 0514以前版本。 注册时:初始界面里输入ASP字符,再进入注册框。 注意:这款名气太大,研究的也多,因此对于脱壳者来说,也没啥强度了。 ACProtect v1.09g ACProtect v1.32 ACProtect v1.41.crk ACProtect 2.0 国产壳,该壳变形做得好,强度还不错。https://www.wendangku.net/doc/4313196568.html,/ Armadillo Custom 3.77.0021 Armadillo Custom 3.78.0194 Armadillo Custom 4.00.0230 Armadillo Custom 4.40.0250 Armadillo Custom 6.04.0447 Armadillo Professional Custom v7.00.0081 一款优秀的保护软件!可以运用各种手段来保护你的软件,同时也可以为软件加上种种限制,包括时间、次数,启动画面等等!很多商用软件采用其加壳。 Armadillo4.1的使用说明: https://www.wendangku.net/doc/4313196568.html,/showthread.php?s=&threadid=18116 https://www.wendangku.net/doc/4313196568.html,/ 注意:只有Custom才有完整的功能,Public版没什么强度,不建议采用。需要研究Public的,请到FTP下载。 Dbpe 2.20 Dbpe 2.33 D.boy的幻影,很久没更新了。此款壳己有脱壳机。长时间不更新,不推荐。

PE文件中脱壳技术的研究

第27卷第9期 计算机应用与软件 Vol 127No .92010年9月 Computer App licati ons and Soft w are Sep.2010 PE 文件中脱壳技术的研究 李 露 刘秋菊 徐汀荣 (苏州大学计算机科学与技术学院 江苏苏州215006) 收稿日期:2009-01-07。李露,硕士生,主研领域:网络安全,信息技术。 摘 要 对PE (Portable Executable )文件进行加壳是保护软件的有效手段,但恶意程序也会通过加壳来保护自己。作为一名病毒 分析师或软件安全分析员,只有先将其脱壳,才能进行彻底的分析。以W indows 记事本程序为实例,首先分析了PE 文件结构及其加壳原理,其次阐述了脱壳的一般步骤,然后从压缩壳和加密壳的角度,重点探讨了脱壳技术的原理和方法。最后对伪装壳和多重壳及程序自校验进行了探讨和分析。 关键词 PE 加壳 脱壳 伪装壳 多重壳 自校验 O N UNPACK I NG TECHNOLO GY FO R PE F I L ES L i Lu L iu Q iuju Xu Tingr ong (School of Co m puter Science and Technology,Soocho w U niversity,Suzhou 215006,J iangsu,China ) Abstract Packing Portable Executable (PE )files is an effective mean t o p r otect s oft w are,but mal w are can als o use packing t o p r otect the m selves .A s a virus analyst or a s oft w are security researcher,you must unpack the mal w are first,then can you analysis the m in detail .Taking the notepad p r ogra m in M icr os oftW indows as an in this paper we first analyzed the PE file structure and the p rinci p le of packing,and then expounded the general step s of unpacking .After that,in ter m s of the comp ressi on shell and encryp ti on shell,we f ocused on the p rinci p les and methods of unpacking technol ogy .Finally,we discussed and analyzed the ca mouflage shell,multi 2shell and self 2chec 2king . Keywords PE Packing Unpacking Ca mouflage shell Multi 2shell Self 2checking 0 引 言 PE 文件格式是W I N 32环境自带的跨平台可执行文件格 式,常见的EXE 、DLL 、OCX 、SYS 、COM 等文件均是PE 格式。使用该格式,在非I ntel 芯片的CP U 上,W indows 一样能识别和使用。 对PE 文件加壳,能较好地保护原程序。但病毒和木马也会利用加壳技术来保护自己,因为加壳后程序执行结果不变,但代码发生了变化,从而使杀毒软件无法查杀。作为一名病毒分析师或者软件安全研究员,如果不懂得脱壳技术,将很难对这些恶意程序进行分析。据瑞星公司截获的病毒样本统计,90%以上的病毒文件都经过加壳处理,可见掌握脱壳技术十分重要。现有文章大都进行加壳技术的探讨[1-3],本文则着重研究脱壳技术。 1 壳的介绍 壳是一段附加在原程序上的代码,它先于真正的程序运行并拿到控制权,在完成程序保护任务后(检测程序是否被修改,是否被跟踪等),再将控制权转交给真正的程序,其运行过程与病毒有些相似。在形式上又与W I N RAR 类的压缩软件类似,运行前都需要将原程序解压。但壳对程序的解压是在内存中进行,对用户来说完全透明,用户感觉不到壳的存在。 壳分为压缩壳和加密壳。压缩壳只是为了减少程序体积而 对资源进行压缩,便于传输,具有一定的保护作用。常见的压缩壳有UPX 、ASPCAK 、TE LOCK 、PE L I TE 、NSP ACK 等。加密壳是使用各种手段对程序资源进行保护,防止其被反汇编或跟踪,文件加壳后是否变小不是其主要目标。常见的加密壳有AR MA 2D I L LO 、ASPROTECT 、ACPROTECT 、EPE 、S VKP 等。目前一些壳已兼具有两种功能,即能压缩资源,又能加密资源。 2 PE 结构框架 PE 文件使用一个平面地址空间,所有代码和数据都被合并 成一个很大的结构。文件内容由属性相同的区块组成,各区块按页边界对齐,大小没有限制。每个区块都有不同的名字,用来表示区块的功能。图1是W indows98下记事本Notepad .exe 程序的PE 结构图。从图中可以看出PE 文件由几个连续的区块组成。先后由DOS 头部、PE 头部、区段表以及各个区段组成。其中.text 是代码段,.data 是已初始化的数据段,.idata 是输入表段,.rsrc 是资源段,.rel oc 是基址重定位表段 。 图1 W indows98记事本PE 结构图

教你如何破解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修改) 第三列汇编指令

壳的介绍以及是常用脱壳方法

一、概论 壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳两种 UPX ASPCAK TELOCK PELITE NSPACK ... ARMADILLO ASPROTECT ACPROTECT EPE SVKP ... 顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。当然加密壳的保护能力要强得多! 二、常见脱壳方法 预备知识 1.PUSHAD (压栈)代表程序的入口点, 2.POPAD (出栈)代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近 3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。 方法一:单步跟踪法 1.用OD载入,点“不分析代码!” 2.单步向下跟踪F8,实现向下的跳。也就是说向上的跳不让其实现!(通过F4) 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选) 4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现! 5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP 6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入 7.一般有很大的跳转(大跨段),比如jmp XXXXXX 或者JE XXXXXX 或者有RETN的一般很快就会到程序的OEP。 在有些壳无法向下跟踪的时候,我们可以在附近找到没有实现的大跳转,右键-->“跟随”,然后F2下断,Shift+F9运行停在“跟随”的位置,再取消断点,继续F8单步跟踪。一般情况下可以轻松到达OEP! 方法二:ESP定律法 ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!) 1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值) 2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车! 3.选中下断的地址,断点--->硬件访--->WORD断点。 4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。 方法三:内存镜像法

软件破解的方法和原理

【转】软件破解的方法和原理 软件破解实例教程2009-05-27 03:42 我要破解的软件:网络填表终结者 破解需要的软件(点击下载): 侦壳 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反汇编出来的代码由三列组成

去壳的步骤 六

去壳的步骤六 如何将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的脱壳加壳傻瓜化 注:如果程序没有加壳那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。 脱完后我们进行

OllyDBG破解工具入门教程

OllyDBG破解工具入门教程 一、OllyDBG 的安装与配置 OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可: OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参 考 TT 小组翻译的中文帮助: 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址、HEX 数据、反汇编、注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标或显示标题 来进行切换是否显示。用鼠标左键点击注释标签可以切换注释显示的方式。 寄存器窗口:显示当前所选线程的 CPU 寄存器内容。同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式。 信息窗口:显示反汇编窗口中选中的第一个命令的参数及一些跳转目标地址、字串等。 数据窗口:显示内存或文件的内容。右键菜单可用于切换显示方式。 堆栈窗口:显示当前线程的堆栈。 要调整上面各个窗口的大小的话,只需左键按住边框拖动,等调整好了,重新启动一 下 OllyDBG 就可以生效了。

启动后我们要把插件及 UDD 的目录配置为绝对路径,点击菜单上的 选项->界面,将会出来一个界面选项的对话框,我们点击其中的目录标签: 因为我这里是把 OllyDBG 解压在 F:\OllyDBG 目录下,所以相应的 UDD 目录及插件目录按图上配置。还有一个常用到的标签就是上图后面那个字体,在这里你可以更改 OllyDBG 中显示的字体。上图中其它的选项可以保留为默认,若有需要也可以自己修改。修改完以后点击确定,弹出一个对话框,说我们更改了插件路径,要重新启动 OllyDBG。 在这个对话框上点确定,重新启动一下 OllyDBG,我们再到界面选项中看一下,会发现我们原先设置好的路径都已保存了。有人可能知道插件的作用,但对那个 UDD 目录不清楚。我这简单解释一下:这个 UDD 目录的作用是保存你调试的工作。比如你调试一个软件,设置了断点,添加了注释,一次没做完,这时 OllyDBG 就会把你所做的工作保存到这个 UDD 目录,以便你下次调试时可以继续以前的工作。 如果不设置这个 UDD 目录,OllyDBG 默认是在其安装目录下保存这些后缀名为 udd 的文件,时间长了就会显的很乱,所以还是建议专门设置一个目录来保存这些文件。 另外一个重要的选项就是调试选项,可通过菜单 选项->调试设置 来配置:

相关文档