破解软件_杰式囧诺的博客-程序员秘密

技术标签: 破解  汇编  exe  网络  其他  编程  url  

转载:http://gbuy.gdcvi.com/?ArticleID=19712


手把手教你破解软件,每一步都有图示,你若再不会就太XX 
软件破解的目的是:::有些需要注册的软件,可是找不到注册码,将其破解之后,输入任何注册码都会提示注册成功。
声明:此贴适合从来没接触过软件破解或编程的同志学习,,,
下面开始今天的破解,
我要破解的软件:网络填表终结者
破解需要的软件:侦壳 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的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
下面是相关软件的下载:::::: 

附件: 
[url=http://bbs.macd.cn/attachment.php?aid=503361]
网络填表终结者.zip
[/url]
(498.12 K)

附件: 
[url=http://bbs.macd.cn/attachment.php?aid=503362]
luangue+W32Dasm黄金中文版.zip
[/url]
(494.13 K)
脱壳软件::: 

附件: 
[url=http://bbs.macd.cn/attachment.php?aid=503363]
aSPack 的脱壳利器.zip
[/url]
(27.8 K)
UltraEdit到这里下载
[url=http://77169.org/Soft/Class25/Class26/200501/17900.html]
http://77169.org/Soft/Class25/Class26/200501/17900.html
[/url]
 
或者
[url=http://phoebusd.mofile.com/10110]
http://phoebusd.mofile.com/10110
[/url]
 ... 3541D/UltraEdit.rar

好了,下面开始我们的破解之旅。。。。。。。。。。
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 [email protected]@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 
.
.

.
.

点确定,来到图19 
.
.

前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe

[url=http://bbs.macd.cn/misc.php?action=viewkarma&tid=653535&pid=6441581][/url]
6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了,图22
7,破解全部完成。 
.
.

.
.

我只希望大家都能自己动手试一试,很有趣的,如果没人顶,没人试,我以后将不再发此类帖子。谢谢!!!


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/DirkNow/article/details/7898257

智能推荐

使用fastDFS连接trackerServer连接超时_tracker超时_Maozzzzzzz的博客-程序员秘密

最近在学fastDFS,用FileZilla上传文件,用secureCRT连接并操作,搭建好服务器并配置之后,测试文件上传.报连接超时异常connect to server 192.168.62.135:22122 failconnect to server 192.168.62.135:22122 failjava.net.ConnectException: Connection time...

最优化——单纯形法,单纯形表的求取_已知最优单纯形表倒推_菜且凶残_2017的博客-程序员秘密

最优化——单纯形法一般性线性规划标准型为对象总结其基本步骤max⁡z s.t. P1x1+P2x2+⋯+Pnxn=b⃗−−−(1)c1x1+c2x2+⋯+cnxn=z−−−(2)xj≥0,∀1≤j≤n\begin{array}{ll}\max & z \\\text { s.t. } & P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b}---(1) \\& c_{1} x_{1}+c_{2} x_{2

C#毕业设计——基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码)——成绩管理系统_毕业设计方案专家的博客-程序员秘密

本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。提示以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。第一章绪论try{...

Animations的使用(二)_animations文件夹重组模型_chuibb001的博客-程序员秘密

使用代码编写:好处:易调试bug, 坏处:可重用性差使用xml编写: 好处:n个控件使用同一动画则只需一个xml文件使用xml:1,在res文件夹下面新建一个文件夹,名anim2,新建xml文件,首先加入一个set标签,改标签xmlns:android="http://schemas.android.com/apk/res/android">3,在该标签中加

【源码系列-1】Serializable_一只积累鸭的博客-程序员秘密

序列化:序列化是指把对象转换为字节序列的过程,我们称之为对象的序列化,就是把内存中的这些对象变成一连串的字节(bytes)描述的过程。反序列化:就是把持久化的字节文件数据恢复为对象的过程。那么什么情况下需要序列化呢?大概有这样两类比较常见的场景:1)、需要把内存中的对象状态数据保存到一个文件或者数据库中的时候,这个场景是比较常见的,例如我们利用mybatis框架编写持久层insert...

随便推点

Qt将文本信息输出存储txt格式和从txt中读取数据信息_qt如何把信息生成text文件存储起来_葱花叔的博客-程序员秘密

ofstream file; file.open("xinjian.txt"); file<<canshu1<<endl; file<<canshu2<<endl; ... file.close();将需要存储的参数存储在“xinjian.txt”...

ORA-01795:列表中的最大表达式数为1000解决方案_qq_37567381的博客-程序员秘密

//id是列名,list是in的数据private static String getString(String id, List list) { StringBuffer sb = new StringBuffer(); String returnString = ""; if (list.size() == 0 || null == list) { ret...

使用python生成libSVM的数据格式_python中svm输入的数据类型要求_zhenyuxiaoge的博客-程序员秘密

最近要做SVM分类,使用libsvm,需要将excel的数据转化到libsvm格式下。libsvm数据格式如下:(第一列是labels,后面是依次的features,空缺表示null)+1 4:-0.320755 -1 1:0.583333 2:-1 3:0.333333+1 1:0.166667 2:1 3:-0.333333 4:-0.433962  -1 1:0.

为Eclipse CDT添加完整的代码自动完成功能_狐帝的博客-程序员秘密

Eclipse CDT是个很好的C/C++ IDE,但是其编辑器却有个非常糟糕的槽点:代码自动完成只支持由‘.’、‘:’、‘>’这三个字符触发,这比大多数C/C++ IDE都差得多。这个问题很早就被提出来,并且解决的办法并不复杂,很多人都给出了解决方案,但是不知道为什么CDT的作者一直没有改进。既然原生CDT功能不足,那就自己动手,丰衣足食。以下制作方法来源于网上素材,我在这里不过是重新...

刷脸支付技术产品迭代再次带动支付市场_掌优刷脸支付刷出移动支付新热度_shuimengan8的博客-程序员秘密

科技让我们的生活更加便捷,没有人会拒绝更加高效便捷的生活,刷脸支付便是这样应运而生。拿我们的爷爷奶奶举例,他们并不精通手机,扫码支付对他们来说十分繁琐,甚至还没现金支付来的方便,因此刷脸支付便替他们解决了这一难题,不需任何操作,也无需记住密码,人脸便是密码和钱包的结合体。如今市面上97%的商家都在使用移动支付,二维码的快捷方便的观念和大众支付习惯都已经形成。所以,如果没有其他利益点,光用一台设备要说服商家将二维码支付换成刷脸支付是非常困难的。刷脸支付,智慧医疗,智慧校园,智慧银行,餐饮超市酒店,无感停车场

Button扩展累CButtonST修改字体、背景色和背景图片_我是云妮的博客-程序员秘密

CButtonST m_btnTest;//修改字体颜色m_btnTest.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(255,255,255));m_btnTest.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(255,255,255));//修改背景色值m_btnTest.SetColor(

推荐文章

热门文章

相关标签