如何破解软件和制作注册机

软件破解:暴力修改软件运行机制或者分析软件相关算法使免费使用商业
软件。
逆向工程是反汇编程序而分析出软件的源代码。
逆向工程包括:分析软件,分析闭源软件的源代码,分析源软件的互操作性,
分析编译器产生的代码来验证编译器的性能和正确性(软件注册)

操作方法

  • 01

    10.1 软件破解 软件破解:暴力修改软件运行机制或者分析软件相关算法使免费使用商业 软件。 逆向工程是反汇编程序而分析出软件的源代码。 逆向工程包括:分析软件,分析闭源软件的源代码,分析源软件的互操作性, 分析编译器产生的代码来验证编译器的性能和正确性(软件注册) 今天我们要举例的软件是是一个邮件服务器所用的软件: WebEasyMail , 中文标准版本价格如下 用户数 标准版本价格 ( 人民币 ) 250 用户 530 元 500 用户 930 元 1000 用户 1530 元 2000 用户 2130 元 5000 用户 2930 元 无限制用户 3930 元 这些是标准版的价格 530+930+1530+2130+2930+3930 = 11980 如果破了标准版 我们就等于 破了一个价值 11980 元的软件 不过我们今天要破的企业版 企业版是这个软件的高级版本 也是最好的版本 但是企业版的没有报价, 估计无限制用户的企业版 要 10 万元 首先下载这个软件的企业版 这里是官方的下载地址 http://www.winwebmail.com/download/3621/EV/WebEasyMail.EXE , 然 后 安装。

  • 02

    检测壳 壳的概念:所谓“壳”就是专门压缩的工具。 这里的压缩并不是我们平时使用的 RAR 、 ZIP 这些工具的压缩,壳的压缩指 的是针对 exe 、 com 、和 dll 等程序文件进行压缩,在程序中加入一段如同保护 层的代码,使原程序文件代码失去本来面目,从而保护程序不被非法修改和反 编译,这段如同保护层的代码,与自然界动植物的壳在功能上有很多相似的地 方,所以我们就形象地称之为程序的壳。 1 、壳的作用: 保护程序不被非法修改和反编译。 对程序专门进行压缩,以减小文件大小,方便传播和储存。 2 、壳和压缩软件的压缩的区别是: 压缩软件只能够压缩程序 而经过壳压缩后的 exe 、 com 和 dll 等程序文件可以跟正常的程序一样运行 3 、下面来介绍一个检测壳的软件 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 的壳 脱壳 1 、概念:对一个加了壳的程序,去除其中无关的干扰信息和保护限制,把他的 壳脱去,解除伪装,还原软件本来的面目。这个过程就叫做脱壳。 2 、脱壳成功的标志 脱壳后的文件正常运行,功能没有损耗。 还有一般脱壳后的文件长度都会大于原文件的长度。 即使同一个文件,采用不同的脱壳软件进行脱壳,由于脱壳软件的 机理不通,脱出来的文件大小也不尽相同。 3 、关于脱壳有手动脱壳和自动脱壳 自动脱壳就是用专门的脱壳机脱 很简单 按几下就 OK 了 手动脱壳相对自动脱壳 需要的技术含量微高 4 、工具: UPX SHELL 的外壳软件 UPX SHELL v3.09  UPX 外壳程序! 目的让 UPX 的脱壳加壳傻瓜化 注意: 1 、如果程序没有加壳 那么我们就可以省去第二步的脱壳了,直接对软件 进行分析了。 2 、脱壳后的软件可用 PEID 软件识别出 EXE 文件是用什么语言编写的。

  • 03

    尝试注册 运行程序 WebEasyMail, 尝试注册 , 获取注册相关信息通过尝试注册 我们发 现一个关键的字符串“序列号输入错误”

  • 04

    反汇编( W32Dasm ) 反汇编就是把可执行的二进制文件转为汇编代码 , 进而可以研究该程序 我们平时写程序用的都是这样那样的语言 . 但是计算机是不认这种语言的 . 所以在程序发布前就要进行汇编 , 把你的程序汇编成计算机能够识别的二进制 代码后再交由计算机机执行 . 反汇编就是汇编的逆过程 , 将二进制代码转换成原 来的程序语句 . 作用 : 把软件的代码从 EXE 中解析出来 . 通常编写程序是利用高级语言如 C , Pascal 等语言进行编程的,后再经过编译程序生成可以被计算机系统直接执行 的执行文件。反汇编即是指将这些执行文件反编译还原成汇编语言或其他高级 语言。但通常反编译出来的程序与原程序会存在许多不同,虽然执行效果相同, 但程序代码会发生很大的变化,非编程高手很难读懂。 另外,有许多程序也可以进行逆向操作即反编译以求修改,例如 Flash 的 文件生成的 SWF 文件,也可以被反汇编成 Flash 原码,但会发现与原程序有很 大变化 反汇编一般用到的软件 都是 W32Dasm , W32dasm 对于新手 易于上手 操作 简单, W32Dasm 有很多版本 这里我推荐使用 W32Dasm 无极版 1 、我们现在反汇编 WebEasyMail 的程序文件 easymail.exe 2 、然后看看 PE 信息 -- 字符串参考,在搜索栏中输入“序列号输入错误”

  • 05

    解析汉化( eXeScope ) 通过 eXeScope 这个软件来查看未能在 w32dasm 中正确显示的字符串信息。 1 、没搜索到,原因不识别汉字,所以使用 eXeScope v6.50 更改字体,更改菜单,更改对话框的排列,重写可执行文件的资源,包括 (EXE , DLL , OCX ) 等。 是方便强大的汉化工具, 可以直接修改用 VC++ 及 DELPHI 编制的程序的资源,包括菜单、对话框、字符串表等新版可以直接查看 加壳文 件的资源。 2 、在 eXeScope v6.50 中文件打开 easymail.exe ,选择资源—字符串找到 关键字序列号输入错误对应的编号。 3 、我们找到如下字串符 122," 序列号输入错误 " 123," 恭喜您成为 WebEasyMail 正式用户中的一员 ! " 124, 注册成功 125, 失败 重点是 122

  • 06

    确定注册代码位置 再次返回 w32dasm 查找 122 得到 Possible Reference to String Resource ID=00122: "? 鲹 e ?" 在查找中找 Possible Reference to String Resource ID=00122: 对应的 汇编语言。 mov a,b 把 b 的值赋给 a ,使 a = b call :调用子程序 ,子程序以 ret 结为 ret :返回主程序 je 或 jz :若相等则跳转 jne 或 jnz :若不相等则跳转 push xx : xx 压栈 pop xx : xx 出栈 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的 存储区。里面的变量通常是局部变量、函数参数等。 我们记住调试断点的这个地址

  • 07

    调试( ollydbg ) 用到的软件是 ollydbg 测试程序 1 、 打开 WebEasyMail 2 、 点击右键选择“前往” == 》表达输入 406F01 地址 3 、 设置断点 4 、 运行 5 、 注册观察提示信息 6 、 F8 单步跳过,观察提示信息,能看到注册码, 7 、 好了我们找到了 注册码 ASCII 后面的 8 、 用注册码在运行成功。 但是这个并不是我们的主要目的,我们还要做出属于自己的注册机,相信这个 是很多人梦寐以求的事情 步骤八:制作注册机( KEYMAKE ) 注册机我们需要的是一个 KEYMAKE 的软件 因为 2.0 是演示版而且停止更新了,所以我们用 1.73 版

(0)

相关推荐