软件破解实例教程

article/2025/9/23 13:27:28

破解需要的软件(点击下载):
   

 侦壳 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,破解全部完成

 

 


http://chatgpt.dhexx.cn/article/aAcAaDiw.shtml

相关文章

原码 反码 补码的简单计算附例题

原码 反码 补码 对计算机中常见数据简单分类机器数 与 真值原码反码补码扩展 对计算机常见数据的分类 机器数 就是数值在计算机中的二进制表现形式 机器数在计算机中有符号,使用 最高位表示符号 , 使用0 表示正,使用 1 表示负 一个字节8个bit位表示 5 0000 0101 -10 1…

原码反码补码移码

原码: 数值直接转为二进制数,负数的最高位 置1。 以8位为例: 1的原码为0000 0001,-1的原码为1000 0001. 127的原码为0111 1111,-127的原码为1111 1111. 0的原码为0000 0000,-0的原码为1000 0000. 反码…

二进制原码反码补码详解

二进制原码反码补码 首先我们在了解什么是原码,反码,补码之前,我们先来谈谈为什么需要有这些,只要原码不行吗? 答案肯定是不行的!😜 因为在计算机中,二进制的运算对于正数之间不会出…

真值 原码 反码 补码

引言 计算机中只能做加法运算,它的减法是通过加法来实现的。原码,反码,补码的产生过程,就是为了解决计算机做减法和引入符号位的问题 真值 正数或负数的真值 → 为其绝对值对应的二进制数前面加上正号或负号 例如: 1 …

原码 反码 补码及应用

原码 反码 补码及应用 原码 什么是原码? 原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。 56 > 0 0111000 ​ 符号位 数据 最大值:01111111 > 127 最小值:11111111…

原码反码补码原理理解

原码反码补码原理理解 基础知识原码定义在这里,我们模仿一下计算机对数据运算的过程!那么所有运算都是正确的吗?我们再试一组。 反码定义在这里,我们模仿一下计算机对数据运算的过程!正数加负数也没问题了,…

java基础-原码反码补码

本文帮助理解,Java中原码反码补码的原理 1:原码反码补码,基础概念和计算方法 对于一个数,计算机需要使用一定的编码方式进行存储。原码反码补码是计算机存储一个具体数字的编码方式。 原码: 第一位表示符号位&…

原码反码补码习题

1、有以下变量求输出结果 signed char c 178; printf("%din",c); printf("%u\n",c); unsigned char d -9; printf("%din".d); printf("%u\n",d); 并写出数据存储和取出的过程 2、求-57的原码、反码、补码 原码&am…

原码、反码、补码

一、前置概念 计算机底层存储数据时使用的是二进制数字,但是计算机在存储一个数字时并不是直接存储该数字对应的二进制数字,而是存储该数字对应二进制数字的补码。所以接下来我们需要来了解一下原码、反码和补码。 那么再了解原码、反码、补码之前&…

原码、反码以及补码

目录 一、概念 二、补码的意义 一、概念 计算机底层存储数据时,存储的是数据对应的二进制数字。对于整型数据,其二进制表示形式有三种,分别是:原码、反码、补码,而实际存储的是整型数据的补码。 原码、反码以及补码…

【软考学习2】数据表示——原码 反码 补码 移码

原码 反码 补码 移码是软考必考的项目,所以需要对其概念、计算方式和取值范围进行总结。 零、使用场景 原码 反码 补码 移码都是计算机中表示数据的方式,各有所长,对于我们来说,都需要加以学习。 软考中最常见的就是一个字节的码…

原码,补码,反码概念和计算方法详解

目录: 原码,补码,反码概念和计算方法详解一、机器数和真数二、原码,反码,补码的基础概念和计算方法三、为何要使用原码,反码和补码四、Example 原码,补码,反码概念和计算方法详解 一、机器数和真数 1、机器数 一个数在计算机中…

原码、反码、补码详解

文章转自: http://c.biancheng.net/ 文章目录 1. 原码2. 反码3. 补码4. 补码到底是如何简化硬件电路的5. 实例分析 1. 原码 将一个整数转换成二进制形式,就是其原码。例如short a 6; a 的原码就是0000 0000 0000 0110;更改 a 的值a -18; 此时 a 的原码…

什么是原码、反码和补码

什么是原码、反码和补码 文章目录 什么是原码、反码和补码1、机器数2、原码3、反码4、补码5、总结 1、机器数 前言 一个数在计算机中的表示形式是二进制的话,这个数其实就叫机器数。 机器数通常是带有符号的(指有正数和负数之分),…

Wi-Fi 破解 (基于WPA2协议)

如今信息安全越来越热门,最近搞大创项目有机会接触到了我们一直谈论的Wi-Fi破解技术,于是整理了一些关于Wi-Fi破解的东西分享给大家,包括一些Wi-Fi的基本知识。希望大家只是拿自己的Wi-Fi做实验,不要“Wi-Fi破解,从入门…

CDLinux破解WPA/WPA2无线网络密码

破解前的准备工作: 1、8187/8187L/3070芯片大功率网卡一块(就是我们俗称的“卡王”) 2、破解软件CDLinux 3、CDLinux下载地址 http://www.syston.es/gratis/system/systonwpa.iso 4.1g的U盘或虚拟机vm 启动虚拟机: 照片名称&a…

使用KALI破解WIFI(wpa/wpa2)密码

前言 本文直接使用kali操作系统进行相关操作,未使用虚拟机,在此不赘述虚拟机配置 正文 1 使用命令iwconfig,确定哪些无线解控是可用的,如图所示,无线网卡名称为wlan0。 2 使用airmon-ng命令监控无线传输&#xff0c…

无线WiFi安全渗透与攻防(十三)之WPA破解-windows下GPU跑包加速

WPA破解-windows下GPU跑包加速 实现GPU加速的前提条件: 英伟达公司 设计的 计算统一设备架构 AMD 设计的 流开放计算库 openCL 通过这两个技术,可以让显卡帮我们进行计算渗透 1.EWSA软件介绍 一个非常不错的网络网络破解工具,可以直接破…

【WLAN】【测试】Linux下aircrack-ng的应用之破解WPA/WPA2、WEP密钥

1、准备工作 a、将网卡设置为monitor模式,在前述博文的抓包方法中有说明,不再赘述; b、准备字典文件wordlists.txt。 2、探测阶段 通过sudo airodump-ng wlan0mon命令探测周边802.11网络的情况: 比如这里,可以看到FC:D7:33:3F:BC:F8的AP下挂了两个STA。 根据扫描的情况…

简单用BT3破解无线网络WEP, WPA密码

最近在网上看到一篇帖子,《网上风行"无线蹭网"秘笈 破解密码只需10分钟 》, 看完后,心里一直痒痒,迫不及待的上网搜索了起来。看来自从离开黑鹰之后,咱这"黑"心还是存在的。网上搜索了下&#xff…