文档章节

软件破解示例

大弹簧
 大弹簧
发布于 2017/09/05 10:00
字数 824
阅读 14
收藏 0
点赞 1
评论 1

简述

这是很早之前写的一篇文章了,是一个破解软件试用期的示例。里面主要是一些汇编语言的知识点。再次分享。

软件破解只是在于交流技术,不要用于商业目的,我们应该尊重软件开发者付出的心血和汗水。

主要用的工具是 Ollydbg( 反汇编工具),简称OB。

测试破解的软件是一款超市收银系统,Windows版应用程序,30天使用期限。

图片名称

反汇编

使用OB打开要 破解的exe文件。

图片名称

打开后如下图,我们看到了熟悉的汇编语言。

图片名称

分析

登录的时候会弹出 “适用期限已到”的原因是因为点击确定后,在这个按钮的处理事件里面会去比较当前的时间和第一次使用的时间.这就是破解的入口点,需要找到这个按钮的处理事件。

输入图片说明

破解

在下图位置点击 [右键]->查找->所有参考文本子串。 输入图片说明

弹出下面的窗口,那个红色的圈里就是上面提到的那个按钮,其实这里面有很多按钮,这个需要凭借经验和感觉去确定是哪一个了。

输入图片说明

双击 ASCII “cmdOK” 弹出下面的窗口:

输入图片说明

将光标向上移动几行 发现 DD shop.004478E4。

输入图片说明

用鼠标选中,按下回车键, DB会自动为我们跳转到下面的位置.

输入图片说明

用鼠标选中,按下回车键, DB会自动为我们跳转到下面的位置. 这就是这个按钮处理事件的入口点. 在这里按F2 设置一个断点.这样当你按确定后,程序将被DB拦截.

输入图片说明

操作过程: F9(运行启动程序)->输入用户名密码->按确定键->(程序被断点拦截到这里). 接下来可以按F8键,单步运行程序,一边运行一边观察反馈结果.

单步走的这里的时候发现一条跳转语句,如下图所示.他的作用是当没用超过适用期限的时候就跳转的 006046C0处执行.如果超过适用期限,就继续向下执行.在下面的几行里面有:

输入图片说明

这段代码的作用就是弹出那个对话框,提示适用期限已到的.

输入图片说明

那我们把JE Shop.006046C0 改成JMP Shop.006046C0。意思就是无条件的跳转。无论是否超过适用期程序都会跳转的正常的地方继续执行,不会停止。

修改方法是双击 JE Shop.006046C0 在弹出的对话框中输入JMP Shop.006046C0,然后点“汇编”

输入图片说明

然后点击 右键-〉复制到可执行文件-所有修改-〉保存。

输入图片说明

到此,适用期限的问题已经破解。

结尾

本文只是提供了一种软件破解的思路。对于复杂的软件可能需要进行更深层次的分析。

再次强调,研究软件破解技术的目的是用于技术交流,提升技术水平,探索解决问题的思维逻辑。请大家不要将软件破解用于商业目的。

© 著作权归作者所有

共有 人打赏支持
大弹簧

大弹簧

粉丝 15
博文 11
码字总数 26325
作品 2
加载中

评论(1)

kj2008sss
kj2008sss
不错,楼主多才

暂无相关文章

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 18分钟前 ⋅ 0

482. License Key Formatting - LeetCode

Question 482. License Key Formatting Solution 思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符(排除-)就追加一个-。 Java实现...

yysue ⋅ 37分钟前 ⋅ 0

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 今天 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 今天 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 今天 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 今天 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 今天 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 今天 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 今天 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部