首页 > 代码库 > 宝贝儿,你的软件破了个洞

宝贝儿,你的软件破了个洞

作者:傀儡
来源:i春秋社区


0x00 补丁
补丁是指衣服、被褥上为遮掩破洞而钉补上的小布块。现在也指对于大型软件系统(如微软操作系统)在使用过程中暴露的问题(一般由黑客病毒设计者发现)而发布的解决问题的小程序。就像衣服烂了就要打补丁一样,人编写程序不可能十全十美的。


所以软件也免不了会出现BUG,而补丁是专门修复这些BUG做的因为原来发布的软件存在缺陷,发现之后另外编制一个小程序使其完善,这种小程序俗称补丁。补丁是由软件的原来作者制作的,可以访问网站下载补丁。    --转载百度百科

0x01 准备工作
1.OD
2.编程语言-我用的是易语言,别问我我什么!因为写补丁比较简单!
3.需要破解的软件。 --因为我的软件已经开源了,我就来破解我之前软件V4.1版本


0x02 开工!


1.我们先来看下如何破解它!
技术分享

2.我们先把软件导入到OD中。搜索下软件的字符串
技术分享

3.然后我们找到请输入账号这个字符串后发现有类似登陆成功的字样
技术分享

4.双击之后,设置断点,开始一步一步调试

5.经调试我们发现程序登陆成功会跳转到 00401954 这个地址上
技术分享

6.我们将地址 0040145a 处代码改成 jmp 00401954 //直接跳转到登陆成功
技术分享

7.F9调试下,发现不需要输入账号就可以登陆了!
技术分享

8.这个就已经破解成功啦~我们可以这样保存文件使用,也可以再编写一个破解补丁!

0x02 编写破解补丁!

1.写破解补丁我使用的是易语言,原因是因为我比较辣鸡,玩不了其他的高级语言。

2.易语言导入超级模块,里面集成了我们要用的命令

3.编写我们的命令,命令如下。
技术分享

4.将我们需要修改数据的内存地址写入易语言函数的地址处

*注:因为每次修改只能修改一个字节,所以我们需要一个字节一个字节的改!

我们可以根据OD中变红的数据中计算出地址并修改  \\ 两个数为一字节
技术分享

5.将我们变红的数据填入到我们的易语言函数中
技术分享

6.我们将编译好的dll注入到程序中
技术分享

7.OK,登陆成功!
技术分享



////////////////////////////////////////////////////////////////////////////////////////////////

                                                                                                                         By:傀儡

宝贝儿,你的软件破了个洞