
破解离不开工具,合适的工具使你事半功倍,本课主要是介绍几种破解工具,当然详细的用法,参考后面几课及范例
1
调试工具softice2
调试工具Trw20003
反汇编工具Wdasm8
934
Hiew5
VisualBasic程序调试工具Smartcheck6
十六进制编辑器(如:Ultraedit、WinHex、HexWorkshop等)7
注册表监视工具RegShot、regmon或RegSnap8
侦测文件类型工具TYP、gtw或FileInfo等9
脱壳工具PROCDUMP10
调试工具IceDump11
注册机制作12
备份windows配制文件工具ERU13
文件监视工具filemon14
资源修改器EXESCOPE15
Frogsice一看这么多是不是吓坏了,其实你只需掌握一两种就能破解软件,当然要得心应手,最好还是全面掌握,因为现在软件什么手段都有可能采用
Soft-ICE是目前公认最好的跟踪调试工具
使用Soft-ICE可以很容易的跟踪一个软件、或是监视软件产生的错误进行除错
你甚至可以用他来替代C语言的调试器--如果你不喜欢使用C语言自己的调试器的话
主意其有几种平台的版本,DOS,WINDOW3
1,WIN95/98/2000/,NT,所以别搞错了
Trw2000中国人自己编写的调试软件,完全兼容SOFTICE各种指令,但现在许多软件能检测SOFTICE存在,而TRW2000在这方面就好多了
TRW2000有它自己的独特方面,是针对破解软件优化的,Windows下的跟踪调试程序,跟踪功能更强;可以设置各种断点,只是断点种类更多;它可以象一些脱壳工具一样完成对加密外壳的去除,自动生成EXE文件,只是留给用户更多的选择;在DOS下的版本为TR
Wdasm8
93反汇编的极品工具
可方便反汇编程序,它能静态分析程序流程,也可动态分析程序, *** 作简单、破解必备!Hiew不用多说,是一个十六进制工具,它除了普通十六进制的功能外,它还有个特色,能反汇编文件,并可以汇编指令修改程序,是不是够酷的!SmartcheckVB程序执行时从本质上讲是解释执行,它们只是调用VBRUNxxx
DLL中的函数,VB的exe是伪代码,程序都在vbXXX
dll里面执行,你只能在vbdll里面用SOFTICE打转转,什么都改不成,而且代码质量不高,结构还颇复杂
当然只要了解其特点用SOFTICE也可破解,但SmartCheck的出现,大大方便了我们,它可将VB程序执行的 *** 作完全记录下来,使我们轻而易举的破解大部分VB程序
十六进制编辑器HIEW就是一种是十六进制工具,但其是DOS界面,因此有必要再准备一款windows下的工具,这样的工具很多,如:Ultraedit、WinHex、HexWorkshop等,其中HexWorkshop比较有特色, *** 作方便,但遗憾的是没有汉化版
注册表监视工具注册表是Windows95及Windows98的核心数据库,表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序运行的正常与否
而应用软件安装时,有可能在注册表中注册,将一些必要的信息放进去,如安装时间,使用次数等
RegShot、regmon或RegSnap就是一种监视注册表变化的工具,以了解应用程序在注册表何处修改了,以协助破解
侦测文件类型工具这样的工具有TYP、gtw或FileInfo等
这是一个能侦测你的软件是被哪一种「壳」给加密了(就好像侦测你的文件档是被zip、rar、arj哪一个给压缩了一样,如果连被哪种软体加了壳都不晓得,那要剥壳就难很多)
一般配合PROCUDUMP使用
PROCDUMP脱壳工具,可剥许多壳,你使用的许多软件都是压缩过的,用该工具很方便把它们还原,然后再修改,并可自己编写脚本文件,以便能脱壳新版的壳
它是也一款优秀的PE格式修改工具,脱壳必备!IceDump是配合SOFTICE而使用的,可抓取内存的数据,以重建EXE文件,脱壳必备
并可在SOFTICE下边调试边听mp3哟!具体参考其readme
一种全新的注册机工具,它可以从另一进程的内存中取出你想要的注册码,它可以令水平不高的你一夜之间成为破解高手,有了它,很多软件可以用二十秒时间写出注册机来,而你不需要会任何的语言,因为它只是一个工具,一个 *** 作很简单的工具,它的参数只有四行,实在简单到不能再简单了,它的体积也很少,只有11K,如果再用其它压缩软件压一下一定会小于10K,所以用它是可以做出很优秀的注册机
ERU这是windows安装盘自带的小工具,备份注册表等一些windows重要的配制文件,强烈推荐,在你破解一软件前,最好备份一下系统,因为你在破解某些软件的过程中,寻找关键点时,在这时改动一下以验证自己的判断,结果正确注册成功,此时你再想回到那里看一究竟,重装该软件都没用,哈哈!永远是注册版版,除非你重装系统
此时你只要还原注册表和配制文件,再重装该软件,又可注册了,这次你就可好好研究它一下了
当然这种情况不多见,但破解某些软件前备份一下注册表,还是有必要的
filemon文件监视工具,可监视系统文件运行状况,如哪个文件打开,哪个文件关闭,在哪个文件读取了数据等,破解时非常有用,以便了解程序在启动、关闭或验证注册码是做了哪些手脚
EXESCOPE资源修改器eXeScope可以说是EXE及DLL等执行文件的解析终结工具,它有执行文件(EXE,DLL等)的解析与显示功能;提取资源到外部文件;资源的重新写入;记录文件的记录及其再编辑(成批编辑)等功能
是汉化软件的常用工具,当然破解软件时也很有用
Frogsice最好的SOFT-ICE加强软件!它并不是简单的将SICE隐藏,而是让你可以配合SICE避过现在流行的各种加密、保护软件里面的各种防止SICE的陷阱
有了它,你再也不用怕在装入一个程序准备调试的时候,程序告诉你发现SICE的存在而终止运行,或者干脆把你的机器从新启动,又甚至触发更残酷的报复手段
步骤1检测壳
壳的概念:
所谓“壳”就是专门压缩的工具。
这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、com、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地方,所以我们就形象地称之为程序的壳。
壳的作用:
1保护程序不被非法修改和反编译。
2对程序专门进行压缩,以减小文件大小,方便传播和储存。
壳和压缩软件的压缩的区别是
压缩软件只能够压缩程序
而经过壳压缩后的exe、com和dll等程序文件可以跟正常的程序一样运行
下面来介绍一个检测壳的软件
PEIDv092
这个软件可以检测出450种壳
新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。
另外还可识别出EXE文件是用什么语言编写的VC、Delphi、VB或Delphi等。
支持文件夹批量扫描
我们用PEID对easymailexe进行扫描
找到壳的类型了
UPX0896-102/105-124->Markus&Laszlo
说明是UPX的壳
下面进行
步骤2脱壳
对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。这个过程就叫做脱壳。
脱壳成功的标志
脱壳后的文件正常运行,功能没有损耗。
还有一般脱壳后的文件长度都会大于原文件的长度。
即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。
关于脱壳有手动脱壳和自动脱壳
自动脱壳就是用专门的脱壳机脱很简单按几下就OK了
手动脱壳相对自动脱壳需要的技术含量微高这里不多说了
UPX是一种很老而且强大的壳不过它的脱壳机随处就能找到
UPX本身程序就可以通过
UPX文件名-d
来解压缩不过这些需要的命令符中输入
优点方便快捷缺点DOS界面
为了让大家省去麻烦的 *** 作就产生了一种叫UPXSHELL的外壳软件
UPXSHELLv309
UPX外壳程序!
目的让UPX的脱壳加壳傻瓜化
注:如果程序没有加壳那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
脱完后我们进行
步骤3
运行程序
尝试注册
获取注册相关信息
通过尝试注册我们发现一个关键的字符串
“序列号输入错误”
步骤4
反汇编
反汇编一般用到的软件都是W32Dasm
W32dasm对于新手易于上手 *** 作简单
W32Dasm有很多版本这里我推荐使用W32Dasm无极版
我们现在反汇编WebEasyMail的程序文件easymailexe
然后看看能不能找到刚才的字符串
步骤5
通过eXeScope这个软件来查看未能在w32dasm中正确显示的字符串信息
eXeScopev650
更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括(EXE,DLL,OCX)等。是方便强大的汉化工具,可以直接修改用VC及DELPHI编制的程序的资源,包括菜单、对话框、字符串表等
新版可以直接查看加壳文件的资源
我们打开eXeScope
找到如下字串符
122,"序列号输入错误"
123,"恭喜您成为WebEasyMail正式用户中的一员!"
124,注册成功
125,失败
重点是122
步骤6
再次返回w32dasm
PossibleReferencetoStringResourceID=00122:"_e"
但是双击后
提示说找不到这个字串符
不是没有是因为"_e"是乱码w32dasm对于中文显示不是太好
毕竟不是国产软件
先把今天会用到的汇编基本指令跟大家解释一下
mova,b;把b的值赋给a,使a=b
call:调用子程序,子程序以ret结为
ret:返回主程序
je或jz:若相等则跳转
jne或jnz:若不相等则跳转
pushxx:xx压栈
popxx:xx出栈
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
我们搜索
PossibleReferencetoStringResourceID=00122
因为对E文支持很好
我们来到了
Referencedbya(U)or(C)onditionalJumpatAddress:
|:00406F17(C)//跳转来自406F17
|
PossibleReferencetoStringResourceID=00125:"1%"
|
004070DD6A7Dpush0000007D
004070DF8D4C2410leaecx,dwordptr[esp10]
004070E3E8F75A1200call0052CBDF
PossibleReferencetoStringResourceID=00122:"_e"
|
004070E86A7Apush0000007A
004070EA8D4C2408leaecx,dwordptr[esp08]
004070EEE8EC5A1200call0052CBDF
我们来到
00406F01moveax,dwordptr[edi0000086C]这里是对
00406F078B4C2408movecx,dwordptr[esp08]
00406F0B50pusheax//这两个eax和ecx入栈就比较让我们怀疑了
00406F0C51pushecx//产生注册码
00406F0DE8AE381100call0051A7C0//这CALL里对注册位应该会有设置
00406F1283C40Caddesp,0000000C
00406F1585C0testeax,eax//检测注册位
00406F17jne004070DD//不存在注册位就会跳到4070DD就会出现那个错误的字串符了
我们记住406F01这个地址
接着进行下一步
步骤7
这一步我们进行的是调试
用到的软件是ollydbg
好了我们找到了注册码0012AF0400FD4A10ASCII""
但是这个并不是我们的主要目的
我们还要做出属于自己的注册机
相信这个是很多人梦寐以求的事情
步骤8
制作注册机
注册机我们需要的是一个KEYMAKE的软件
因为20是演示版而且停止更新了
所以我们用173版
做一个内存注册机需要下面几个资料
中断地址:406F0C
中断次数:1
第一字节:51
指令长度:1
好了一个完美的注册机就产生了
还不赶快发给你的朋友炫耀一下
保证让他迷糊死佩服得你要死
其实最后还有几个步骤
就是撰写破文
不过大家都是新手这个步骤就去了吧
不知不觉说了这么多废话希望能对大家有些作用
问题一:软件脱壳是什么意思 制作的软件为了保护源码或者避免被杀软查杀,要给软件加壳,脱壳就是去掉软件的保护层
问题二:给软件脱壳是什么意思?怎么给软件脱壳?如题 谢谢了 对软件加壳的逆 *** 作,把软件上存在的壳去掉。在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 要给软件脱壳可以选万能脱壳机,万能脱壳机采用的是ap0x编写的脱壳引擎,目前支持ASPack212,FsG2x,UPX1x-2x的壳你可以到霏凡网站上搜一下还有很多看你需要哪一种了
问题三:软件如何脱壳,用什么软件脱壳 首先你要检查一下加的什么壳,要是你检测时候发现是VC++写的,那就说明没加壳,自然就不需要脱壳。用什么加的壳,先PEid查看一下,然后再去找专门的脱壳工具,一旦检测出壳的种类,就可以脱壳了。
问题四:计算机软件脱壳什么意思? 就是把软件的壳去掉。
比如绿色破解版就是脱壳的哦。
破解的一种手法。
问题五:软件如何脱壳 步骤1 检测壳
壳的概念:
所谓“壳”就是专门压缩的工具。
这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地方,所以我们就形象地称之为程序的壳。
壳的作用:
1保护程序不被非法修改和反编译。
2对程序专门进行压缩,以减小文件大小,方便传播和储存。
壳和压缩软件的压缩的区别是
压缩软件只能够压缩程序
而经过壳压缩后的exe、和dll等程序文件可以跟正常的程序一样运行
下面来介绍一个检测壳的软件
PEID v092
这个软件可以检测出 450种壳
新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。
另外还可识别出EXE文件是用什么语言编写的VC++、Delphi、VB或Delphi等。
支持文件夹批量扫描
我们用PEID对easymailexe进行扫描
找到壳的类型了
UPX 0896 - 102 / 105 - 124 -> Markus & Laszlo
说明是UPX的壳
下面进行
步骤2 脱壳
对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。这个过程就叫做脱壳。
脱壳成功的标志
脱壳后的文件正常运行,功能没有损耗。
还有一般脱壳后的文件长度都会大于原文件的长度。
即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。
关于脱壳有手动脱壳和自动脱壳
自动脱壳就是用专门的脱壳机脱 很简单 按几下就 OK了
手动脱壳相对自动脱壳 需要的技术含量微高 这里不多说了
UPX是一种很老而且强大的壳 不过它的脱壳机随处就能找到
UPX本身程序就可以通过
UPX 文件名 -d
来解压缩 不过这些需要的 命令符中输入
优点方便快捷 缺点DOS界面
为了让大家省去麻烦的 *** 作 就产生了一种叫 UPX SHELL的外壳软件
UPX SHELL v309
UPX 外壳程序!
目的让UPX的脱壳加壳傻瓜化
注:如果程序没有加壳 那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
脱完后 我们进行
步骤3
运行程序
尝试注册
获取注册相关信息
通过尝试注册 我们发现一个关键的字符串
“序列号输入错误”
步骤4
反汇编
反汇编一般用到的软件 都是 W32Da
W32da 对于新手 易于上手 *** 作简单
W32Da 有很多版本 这里我推荐使用 W32Da 无极版
我们现在反汇编WebEasyMail的程序文件easymailexe
然后看看能不能找到刚才的字符串
步骤5
通过eXeScope这个软件来查看未能在w32da 中正确显示的字符串信息
eXeScope v650
更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括(EXE,DLL,OCX)等。是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字符串表等
新版可以直接查看 加壳文件的资源
我们打开eXeScope
找到如下字串符
122,序列号输入错误
123,恭喜>>
问题六:软件脱壳工具有哪些 10分 常见的脱壳工具有两种:
1。OD自带脱壳插件
鼠标右键菜单,选择Dump debugged process->设置Entry Point->点击Dump
2LordPE
LordPE进程列表中选择目标进程->鼠标右键菜单,选择完整脱壳;
脱壳步骤
查壳
使用PEID, PE-SCAN等查壳工具查壳
查找OEP
使用OllyDbg跟踪调试找到OEP
脱壳
右键使用OLLYDBG自带的脱壳插件
修复
脱下的程序如果不能执行,使用Import ReConstructor工具修复
问题七:脱壳一个软件之后能对它干嘛? 脱壳一个软件之后应该不能看到它的源代码,但是通过有些工具可以对它进行有限的修改。
步骤1 检测壳
壳的概念:
所谓“壳”就是专门压缩的工具。
这里的压缩并不是我们平时使用的RAR、ZIP这些工具的压缩,壳的压缩指的是针对exe、com、和dll等程序文件进行压缩,在程序中加入一段如同保护层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地方,所以我们就形象地称之为程序的壳。
壳的作用:
1保护程序不被非法修改和反编译。
2对程序专门进行压缩,以减小文件大小,方便传播和储存。
壳和压缩软件的压缩的区别是
压缩软件只能够压缩程序
而经过壳压缩后的exe、com和dll等程序文件可以跟正常的程序一样运行
下面来介绍一个检测壳的软件
PEID v092
这个软件可以检测出 450种壳
新版中增加病毒扫描功能,是目前各类查壳工具中,性能最强的。
另外还可识别出EXE文件是用什么语言编写的VC++、Delphi、VB或Delphi等。
支持文件夹批量扫描
我们用PEID对easymailexe进行扫描
找到壳的类型了
UPX 0896 - 102 / 105 - 124 -> Markus & Laszlo
说明是UPX的壳
下面进行
步骤2 脱壳
对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的壳脱去,解除伪装,还原软件本来的面目。这个过程就叫做脱壳。
脱壳成功的标志
脱壳后的文件正常运行,功能没有损耗。
还有一般脱壳后的文件长度都会大于原文件的长度。
即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的机理不通,脱出来的文件大小也不尽相同。
关于脱壳有手动脱壳和自动脱壳
自动脱壳就是用专门的脱壳机脱 很简单 按几下就 OK了
手动脱壳相对自动脱壳 需要的技术含量微高 这里不多说了
UPX是一种很老而且强大的壳 不过它的脱壳机随处就能找到
UPX本身程序就可以通过
UPX 文件名 -d
来解压缩 不过这些需要的 命令符中输入
优点方便快捷 缺点DOS界面
为了让大家省去麻烦的 *** 作 就产生了一种叫 UPX SHELL的外壳软件
UPX SHELL v309
UPX 外壳程序!
目的让UPX的脱壳加壳傻瓜化
注:如果程序没有加壳 那么我们就可以省去第二步的脱壳了,直接对软件进行分析了。
脱完后 我们进行
步骤3
运行程序
尝试注册
获取注册相关信息
通过尝试注册 我们发现一个关键的字符串
“序列号输入错误”
步骤4
反汇编
反汇编一般用到的软件 都是 W32Dasm
W32dasm对于新手 易于上手 *** 作简单
W32Dasm有很多版本 这里我推荐使用 W32Dasm 无极版
我们现在反汇编WebEasyMail的程序文件easymailexe
然后看看能不能找到刚才的字符串
步骤5
通过eXeScope这个软件来查看未能在w32dasm中正确显示的字符串信息
eXeScope v650
更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括(EXE,DLL,OCX)等。是方便强大的汉化工具,可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字符串表等
新版可以直接查看 加壳文件的资源
我们打开eXeScope
找到如下字串符
122,"序列号输入错误 "
123,"恭喜您成为WebEasyMail正式用户中的一员! "
124,注册成功
125,失败
重点是122
步骤6
再次返回 w32dasm
Possible Reference to String Resource ID=00122: "鲹e"
但是双击后
提示说找不到这个字串符
不是没有 是因为 "鲹e"是乱码 w32dasm对于中文显示不是太好
毕竟不是国产软件
先把今天会用到的汇编基本指令跟大家解释一下
mov a,b ;把b的值赋给a,使a=b
call :调用子程序 ,子程序以ret结为
ret :返回主程序
je或jz :若相等则跳转
jne或jnz :若不相等则跳转
push xx:xx 压栈
pop xx:xx 出栈
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
我们搜索
Possible Reference to String Resource ID=00122
因为对E文支持很好
我们来到了
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406F17(C) //跳转来自 406F17
|
Possible Reference to String Resource ID=00125: "1%"
|
:004070DD 6A7D push 0000007D
:004070DF 8D4C2410 lea ecx, dword ptr [esp+10]
:004070E3 E8F75A1200 call 0052CBDF
Possible Reference to String Resource ID=00122: "鲹e"
|
:004070E8 6A7A push 0000007A
:004070EA 8D4C2408 lea ecx, dword ptr [esp+08]
:004070EE E8EC5A1200 call 0052CBDF
我们来到
:00406F01 8B876C080000 mov eax, dword ptr [edi+0000086C]这里是对
:00406F07 8B4C2408 mov ecx, dword ptr [esp+08]
:00406F0B 50 push eax//这两个eax和ecx入栈就比较让我们怀疑了
:00406F0C 51 push ecx//产生注册码
:00406F0D E8AE381100 call 0051A7C0//这CALL里对注册位应该会有设置
:00406F12 83C40C add esp, 0000000C
:00406F15 85C0 test eax, eax// 检测注册位
:00406F17 0F85C0010000 jne 004070DD //不存在注册位 就会跳到4070DD就会出现那个错误的字串符了
我们记住406F01这个地址
接着进行下一步
步骤7
这一步我们进行的是调试
用到的软件是ollydbg
好了我们找到了 注册码0012AF04 00FD4A10 ASCII "04893e058f9c1c9fb16764c3b86f78e6"
但是这个并不是我们的主要目的
我们还要做出属于自己的注册机
相信这个是很多人梦寐以求的事情
步骤8
制作注册机
注册机我们需要的是一个KEYMAKE的软件
因为20是演示版而且停止更新了
所以我们用173版
做一个内存注册机 需要下面几个资料
中断地址:406F0C
中断次数:1
第一字节:51
指令长度:1
好了 一个完美的注册机 就产生了
还不赶快发给你的朋友 炫耀一下
保证让他迷糊死 佩服得你要死
其实最后还有几个步骤
就是撰写破文
不过大家都是新手 这个步骤 就去了吧
不知不觉说了这么多废话 希望能对大家有些作用
如果有什么不懂 不理解的事情 请联系我 或者到论坛发贴
QQ:9595859
MSN:kcarhc@163com
今天的课程就到这里 大家赶快去动手实践吧~!
--------------------------------------------------------------------------------
-- 作者:admin
-- 发布时间:2005-10-11 11:13:00
-- 实战查壳脱壳制作破解注册机最详细的教程
大家好,我是kcarhc
今天8月1日了 刚从医院回来 正好凌晨
这期的课程做晚了 这里给大家道个歉
8月1日 如果我没记错
是建军节
既然是建军节 也要象征性的弄些东西来
为了建军节 这期我选择打击黑暗势力--黑社会
那么今天的主题就是
-----------
迎接建军节,铲除黑社会
-----------
首先介绍软件
黑社会20
[功能简介]:
1 五大必备功能
远程屏幕; 完全控制; 文件传送; Telnet; 远程关机
2 提供IP反d定位功能
可以通过静态IP动态域名,网页文件的方式反d通知IP
3 集成vidc客户端
内网的朋友想用自动上线功能,可以实现了
4 本软件集成了常用攻击工具(如OpenTelnet OpenTftp等)
通过IPC拷贝,而且带有标准的拷贝进度,全球首次面世;
opentelnet就不介绍了,相信大家都知道;
opentftp为本软件独创,可以远程开启tftp服务;
5 本软件集成的极速端口扫描器(扫描速度世界领先)
最开始我用的扫描器是大名鼎鼎的SuperScan30,感觉速度很慢;
后来改用SSPort10 扫描速度有了明显的提高
经过速度对比,本软件扫描速度比SSPort快 1/3 ,是SuperScan的N倍!!!
我的机器是 赛扬700+256M内存,一般扫描速度为180台/秒;
一些号称可以达到1000台/秒的扫描器在本机上试验只有120台/秒
--------------------
准备工作:
安装黑社会
--------------------
步骤一 查壳
Peid v092
ASPack 212 -> Alexey Solodovnikov、
--------------------
步骤二 脱壳
手动脱壳
快速脱掉ASPACK所有版本的方法
的OEP关键点在下面
0048D3AF 61 POPAD
0048D3B0 75 08 JNZ SHORT 黑社会0048D3BA
0048D3B2 B8 01000000 MOV EAX,1
0048D3B7 C2 0C00 RETN 0C//402c4a
0048D3BA 68 00000000 PUSH 0
402ca4就是我们要找的OEP
自动脱壳
AspackDie v141
这是一个小小的 PE 文件解压缩器 (EXE, DLL, ) 她可以解压缩
自 Aspack 2000 以后的任何 Aspack 版本 包括:
- Aspack 2000
- Aspack 2001
- Aspack 21
- Aspack 211
- Aspack 211c/d
- Aspack 212
- Aspack 212a/b
- 一些未知的版本
-------------------
步骤三 试运行程序 发现突破点
看到关键字符串
“注册码错误!”
-------------------
步骤四 W32DASM 寻找突破点
用w32dasm载入已经脱壳的程序
字符串察看
未发现 字符串 而是发现一堆乱码
大家于是一定想到了第一节的办法
用EXESCOPE
-------------------
步骤四 察找 字符串
打开eXeScope 并载入 但是发现 都没有字符串
这项
为啥呢?大家一定会疑问
一般用eXeScope查不到
我们将开始
-------------------
步骤五 查询软件的编译类型
Peid v092
Microsoft Visual Basic 50 / 60
--------------------
步骤六 采用GetVBRes v051 对付VB程序
GetVBRes v051 一个非常好的VB汉化工具
对于VB程序 我们用专门汉化用的GetVBRes v051来对付它
也许有人不理解 为啥用汉化工具呢
其实eXeScope也属于汉化工具
GetVBRes载入黑社会
发现没有乱码了
看到的全是完整的字符
我们找到了
注册码错误!
这个字符串
接着为了能搞到程序关键点地址
我们把“注册码错误!”
改成111111
为啥改成111111因为111111111
保存修改
---------------------
步骤六 用W32Dasm载入修改后的文件
发现字符串中有111111
那个就是我们修改的 原来是“注册码错误!”
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004792EF(C)
|
:00479474 B904000280 mov ecx, 80020004
:00479479 B80A000000 mov eax, 0000000A
:0047947E 894D9C mov dword ptr [ebp-64], ecx
:00479481 894DAC mov dword ptr [ebp-54], ecx
:00479484 894DBC mov dword ptr [ebp-44], ecx
:00479487 8D5584 lea edx, dword ptr [ebp-7C]
:0047948A 8D4DC4 lea ecx, dword ptr [ebp-3C]
:0047948D 894594 mov dword ptr [ebp-6C], eax
:00479490 8945A4 mov dword ptr [ebp-5C], eax
:00479493 8945B4 mov dword ptr [ebp-4C], eax
Possible StringData Ref from Code Obj ->"1111111" //刚才我们看到的注册吗错误的哦
|
:00479496 C7458C98194100 mov [ebp-74], 00411998
:0047949D C7458408000000 mov [ebp-7C], 00000008
发现跳转来自到4792EF
安照习惯 我们来到4792EF后 接着向前看
看到一个跳到这里的那个地址
这里是40928C
Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00479278(C)
|
:0047928C 8B55E4 mov edx, dword ptr [ebp-1C]
Reference T MSVBVM60__vbaStrMove, Ord:0000h
|
:0047928F 8B3578124000 mov esi, dword ptr [00401278]
:00479295 8D4DE0 lea ecx, dword ptr [ebp-20]
:00479298 895DE4 mov dword ptr [ebp-1C], ebx
:0047929B FFD6 call esi
:0047929D 8B4DE8 mov ecx, dword ptr [ebp-18]
:004792A0 6A01 push 00000001
:004792A2 8D55E0 lea edx, dword ptr [ebp-20]
:004792A5 51 push ecx
:004792A6 52 push edx
:004792A7 E8440F0000 call 0047A1F0
:004792AC 8BD0 mov edx, eax
:004792AE 8D4DDC lea ecx, dword ptr [ebp-24]
:004792B1 FFD6 call esi
:004792B3 50 push eax
:004792B4 53 push ebx
Reference T MSVBVM60__vbaInStr, Ord:0000h
|
:004792B5 FF15E8114000 Call dword ptr [004011E8]
:004792BB 8BF0 mov esi, eax
:004792BD 8D45E8 lea eax, dword ptr [ebp-18]
:004792C0 F7DE neg esi
:004792C2 8D4DDC lea ecx, dword ptr [ebp-24]
:004792C5 50 push eax
:004792C6 1BF6 sbb esi, esi
:004792C8 8D55E0 lea edx, dword ptr [ebp-20]
:004792CB 51 push ecx
:004792CC 52 push edx
:004792CD F7DE neg esi
:004792CF 6A03 push 00000003
:004792D1 F7DE neg esi
Reference T MSVBVM60__vbaFreeStrList, Ord:0000h
|
:004792D3 FF150C124000 Call dword ptr [0040120C]
:004792D9 8D45D4 lea eax, dword ptr [ebp-2C]
:004792DC 8D4DD8 lea ecx, dword ptr [ebp-28]
:004792DF 50 push eax
:004792E0 51 push ecx
:004792E1 6A02 push 00000002
Reference T MSVBVM60__vbaFreeObjList, Ord:0000h
|
:004792E3 FF1548104000 Call dword ptr [00401048]
:004792E9 83C41C add esp, 0000001C
:004792EC 663BF3 cmp si, bx
:004792EF 0F847F010000 je 00479474
我们在
004792AC看到下面这些
EAX=0015A47C, (UNICODE "1000464401458371268751252821609291844811465000")
EDX=00000000
怀疑EAX为的
1000464401458371268751252821609291844811465000
为注册码
------------------
步骤七 用不确定正确的注册 尝试注册
用
1000464401458371268751252821609291844811465000
这个注册后
我们发现 注册成功
------------------
步骤八 制做注册机
Keymake v173
中断地址:4792AC
中断次数:1
第一字节:8B
指令长度:2
------------------
步骤九 发布注册机
找一个网站比如黑基或者你的朋友之间
------------------
步骤十 休息
黑社会终于干掉了
现在去找你的男朋友或者女朋友
老公或者老婆
找个地方聊聊天 放松放松
告诉他们 你刚刚把黑社会 摆平了
一定很有趣的
------------------
课程结束
------------------
有事情大家可以去论坛
不过你如果性子急
或者嫌我回复的速度慢
我建议你直接联系我
只要我在 基本可以马上给你解答
不在可以留言
我的两个****
QQ:9595859
MSN:kcarhc@163com
最后 说一个事
我的女朋友最近生病了
所以才导致这期的课程 这么晚才做出来
希望大家能理解我
我还希望大家能祝福她早日康复
不然的话
你们见到我的日子可能会少了
甚至可能会消失在你们眼前
好了不说了 今天就是到此OVER吧
---------- kcarhc
2004年8月1日 凌晨 沈阳
--------------------------------------------------------------------------------
-- 作者:admin
-- 发布时间:2005-10-11 16:42:00
-- 使用OllyDbg快速脱壳
作者:KU-凌
目标:采用ASPACK、UPX加壳的NOTEPADEXE
工具:OllyDbg 109英文版、DUMP插件、PEditor
系统:Win98SE
关键词: 脱壳、OllyDbg、OD、DUMP、PUSHAD、POPAD
预备知识
大多数壳都有一个共同的特点。在壳准备开始解压时都要执行PUSHAD,当壳解压
完时都要调用POPAD。到底PUSHAD和POPAD是什么干什么用的呢?其实PUSHAD是用来将
所有普通寄存器顺序进栈的指令,POPAD是所有普通寄存器顺序出栈指令。POPAD的出
栈顺序和PUSHAD相反。壳为了保护寄存器,便在解压前将所有寄存器进栈保护起来,
当解压完成后又将寄存器出栈,恢复其原貌,并将IP设置为原程序的OEP。这样我们就可以通过这个特点快速脱掉多种软件的壳。
ASPACK篇
先用ASPACK将NOTEPADEXE加壳。用OllyDbg(以下简称OD)载入。看见光标停在
壳的入口处。
0040D001 > 60 PUSHAD ;壳的入口。准备开始解压,保护寄存器
0040D002E8 03000000CALLNOTEPAD0040D00A
……
我们不管它,直接向下翻页找POPAD指令。在40D3AF处找到POPAD
……
0040D3AF61 POPAD ;解压完成,恢复寄存器
0040D3B075 08 JNZSHORT NOTEPAD0040D3BA
0040D3B2B8 01000000MOVEAX, 1
0040D3B7C2 0C00RETN0C
0040D3BA68 CC104000PUSHNOTEPAD004010CC ;返回到原程序OEP处
0040D3BFC3 RETN
……
选定40D3AF这一行,F4运行到此处。在这里说明壳已经完成解压工作。并且返回到原
程序的入口处。F8单步到4010CC,这里便是原程序的OEP。用DUMP插件直接DUMP出来就可以了(在DUMP时注意将入口点改为10CC,即4010CC-400000=10CC,400000是映象基地址)。文件大小是77059字节,用PEditor重建PE头便可以了。未压缩的文件大小是53248字节,脱壳后的文件大小是60930字节。
UPX篇
用UPX将NOTEPADEXE加壳,然后用OD载入。停在PUSHAD处,用脱ASPACK同样的方
法,向下翻页找POPAD。
……
0040E9FE61 POPAD
0040E9FF - E9 C826FFFFJMPNOTEPAD004010CC
……
下面的JMP就是跳转到程序的OEP处。F4到40E9FF处,F8单步一下,来到OEP处,DUMP出来。DUMP文件的大小是65536字节,直接就可以运行。为了完美,用PEditor重建PE头。那么脱壳后的文件大小是60293字节。
后记
用上面说的方法,很多种壳都可以快速的手动脱掉。如果你没有OD的DUMP插件,
可以到新论坛的下载区找。如果实在没有,也可以直接停在OEP处用PEDump来DUMP。很久没有写东西了。这一篇是写给初学者练手的。其实壳也是软件,再怎么复杂都有可能被脱下来。祝你好运。
另外,转载时请保持本文的完整。
--------------------------------------------------------------------------------
-- 作者:admin
-- 发布时间:2005-10-11 17:10:00
-- 用Ollydbg手脱EncryptPE V12003518加壳的DLL
有兄弟让看看EncryptPE加壳的DLL,我说新版的就不行了,搞不定的。后来看是EncryptPE V12003518旧版加壳的,应该用的是老王老师发布的免费版。呵呵,所以脱了一下,顺便记录过程。
大家可以自己用EncryptPE V12003518免费版加个EdrLibdll看看。
—————————————————————————————————
一、避开IAT加密
设置Ollydbg忽略所有的异常选项。用IsDebug 14插件去掉Ollydbg的调试器标志。
添加“同时忽略0EEDFADE、C0000008、009B25C、00953D74”异常。
代码:--------------------------------------------------------------------------------
00877000 60 pushad//进入OD后停在这
00877001 9C pushfd
00877002 64:FF35 00000000 push dword ptr fs:[0]
00877009 E8 79010000 call EdrLib00877187
--------------------------------------------------------------------------------
下断:BP IsDebuggerPresent 断下后取消断点
现在我们Ctrl+G:711A0000
为何用这个地址?因为V12003518EPE是相同的。呵呵,钻了个旧版的空子。
其实可以再BP GetProcAddress,根据返回地址来判断。如果返回地址是711XXXXX,说明这是V12003518EPE的调用,就可以取消断点Ctrl+F9返回了。具体情况以堆栈的返回地址为准。
现在Ctrl+S 在“整个区段”搜索命令序列:
代码:--------------------------------------------------------------------------------
mov eax,edi
mov edx,dword ptr ss:[ebp-8]
mov dword ptr ds:[eax],edx
xor eax,eax
--------------------------------------------------------------------------------
找到在711A339F处,我们在711A339F处下个 硬件执行 断点。
现在我们关闭Ollydbg,重新载入这个dll,直接Shift+F9运行,中断在711A339F处
代码:--------------------------------------------------------------------------------
711A339F 8BC7 mov eax,edi
711A33A1 8B55 F8 mov edx,dword ptr ss:[ebp-8]
//改为: mov edx,dword ptr ss:[ebp-4] ★ 正确函数写入
711A33A4 8910 mov dword ptr ds:[eax],edx
711A33A6 33C0 xor eax,eax
711A33A8 5A pop edx
711A33A9 59 pop ecx
711A33AA 59 pop ecx
711A33AB 64:8910 mov dword ptr fs:[eax],edx
711A33AE EB 0A jmp short V1200351711A33BA
--------------------------------------------------------------------------------
把711A33A1处修改好之后,取消以前下的711A339F处的断点。
再Ctrl+S搜索命令序列:
代码:--------------------------------------------------------------------------------
add ebx,4
mov eax,dword ptr ss:[ebp-4C]
add eax,4
--------------------------------------------------------------------------------
找到在711A43C2处,我们在下面xor eax,eax的711A4401下断。Shift+F9运行
代码:--------------------------------------------------------------------------------
711A43C2 83C3 04 add ebx,4
711A43C5 8B45 B4 mov eax,dword ptr ss:[ebp-4C]
711A43C8 83C0 04 add eax,4
711A43CB 8945 B4 mov dword ptr ss:[ebp-4C],eax
711A43CE 8B03 mov eax,dword ptr ds:[ebx]
711A43D0 85C0 test eax,eax
711A43D2 0F87 39FDFFFF ja V1200351711A4111
711A43D8 A1 74C71B71 mov eax,dword ptr ds:[711BC774]
711A43DD 8038 00 cmp byte ptr ds:[eax],0
711A43E0 75 1F jnz short V1200351711A4401
711A43E2 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43E5 83C0 14 add eax,14
711A43E8 8945 C4 mov dword ptr ss:[ebp-3C],eax
711A43EB 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43EE 8378 0C 00 cmp dword ptr ds:[eax+C],0
711A43F2 76 0D jbe short V1200351711A4401
711A43F4 8B45 C4 mov eax,dword ptr ss:[ebp-3C]
711A43F7 8378 10 00 cmp dword ptr ds:[eax+10],0
711A43FB 0F87 38FCFFFF ja V1200351711A4039//循环处理IAT
711A4401 33C0 xor eax,eax//此处下断! ★
--------------------------------------------------------------------------------
当我们中断在711A4401处时IAT已经处理完毕,此时就可以用ImportREC得到正确的输入表了。
因为EncryptPE后面有自校验,所以我们返回711A33A1处,点右键->撤销选择,恢复原来的代码。
—————————————————————————————————
二、得到重定位表信息、获得OEP
Ctrl+S 在“整个区段”搜索命令序列:
代码:--------------------------------------------------------------------------------
mov edx,dword ptr ss:[ebp-24]
sub edx,dword ptr ds:[eax+34]
mov
想要脱VMP的壳,首要工作当然是要找一个强OD。至于是什么版本的OD自己多试验几个,网上有很多,一般来说只要加载了你想脱的VMP加壳程序不关闭都可以。
其次,就是StrongODdll这个插件了,现在用的比较多的就是海风月影。下载回来后复制到你的OD程序所在的文件夹里面的plugin里。StrongOD的设置选项搞不懂就全部打钩。
接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。这些都是程序运行所需要的windows链接文件。
做完这些预备工作接下来当然是用OD载入文件。文件载入后在反汇编窗口CTRL+G搜索VirtualProtect(注意V跟P要大写,至于为什么要搜索这个别问我)。一般来说搜索的结果会出现以下的类似:
7C801AE3 E8 75FFFFFF call kernel32VirtualProtectEx
我们在这里下F2断点。然后F9运行到我们下的这个断点。接下来我们就要注意观察堆栈窗口了。一般来说当我们F9运行到我们上面下的断点的时候在堆栈窗口会出现以下类似:
0012F66C 00401000 |Address = TradeCen00401000
0012F670 000280D1 |Size = 280D1 (164049)
0012F674 00000004 |NewProtect = PAGE_READWRITE
0012F678 0012FF98 \pOldProtect = 0012FF98
我们要注意观察的就是在接下来我们F9运行的时候,ADDRESS和NEWPROTECT这两行的变化。按F9-速度别太快,直到NewProtect项变为PAGE_READONLY,这时候程序就释放完毕了。
0012F66C 0042A000 |Address = TradeCen0042A000
0012F670 000069DE |Size = 69DE (27102)
0012F674 00000002 |NewProtect = PAGE_READONLY
0012F678 0012FF98 \pOldProtect = 0012FF98
现在可以取消刚才我们下的断点了。接下来就是找OEP了。找OEP的时候我个人的一个经验就是OEP一般就在接近上面的ADDRESS地址的附近。例如上面的地址是0042A000,我一般就在这个基础上减到420000搜索程序的特征段,当然我们也可以直接跳到401000开始搜索。虽然我们搜索的范围比较大,但是因为我们搜索的是命令序列,所以工作量还不是很大。
CTRL+G--上面的地址,然后CTRL+S 查找命令序列。命令序列的内容就是我们用查到的编程语言的特征段。我们可以在特征段里面选择两三句固定不变的命令查找。例如VC++60的特征段是:
0046C07B U> 55 push ebp
0046C07C 8BEC mov ebp,esp
0046C07E 6A FF push -1
0046C080 68 18064C00 push UltraSna004C0618
0046C085 68 F8364700 push UltraSna004736F8
0046C08A 64:A1 00000000 mov eax,dword ptr fs:[0]
0046C090 50 push eax
0046C091 64:8925 00000000 mov dword ptr fs:[0],esp
0046C098 83EC 58 sub esp,58
0046C09B 53 push ebx
0046C09C 56 push esi
0046C09D 57 push edi
我们可以只搜索前三条命令。找到符合前三条命令的,我们在对照接下来的命令。只要命令相符那这个地址八九不离十就是OEP了。如果在ADDRESS地址附近找不到OEP,那就只好用笨办法,从401000开始找吧。
找到OEP地址后,我们在OEP处点鼠标右键《此处为新EIP》。接下来就可以dump啦。通常选择OD的dump插件脱壳要好点,用loadpe脱壳后要么程序不运行要么干脆没脱。用OD的dump插件脱壳的时候,脱壳窗口下面的(重建输入表)项前面的勾一定要去掉。
以上就是关于网络编辑需要掌握哪些工具和软件全部的内容,包括:网络编辑需要掌握哪些工具和软件、软件如何脱壳、软件脱壳是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)