吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 41437|回复: 717
收起左侧

[原创] 闲谈如何破解软件?

    [复制链接]
yyhd 发表于 2021-9-25 15:20
本帖最后由 yyhd 于 2021-10-16 00:35 编辑

各位吾爱的朋友,大家好!


  真的好久没有和大家见面了,说实在的,还是蛮想大家的!


  去年春节之际,我连续十几天写了一套教程《玩玩破解》共24集,虽说是没有什么技术含量,但是从大家的反馈来看,还是对很多新人有所帮助的,我也就非常满意了。


  因为我一直也属于新人行列,所以也写不出什么高水平的东西,只是能把自己的学习收获更通俗易懂的和大家一起分享而已。今天刚巧有些心情,就和大家再闲聊几句。


  一、破解的关键是什么?


  我个人认为,破解的关键就是找到最恰当的断点。水平的高低也就在于谁能在最快的时间找到最有价值的断点。


  什么是断点?


  就是破解者人为地让程序在执行过程中暂时停下来(也叫断下来)的那个代码地址。


  要找到断点,就要涉及到一个工具和一些技术。工具通常就是OD,OD这个软件的作用就是能够让软件以汇编的形式呈现,如果你能看懂汇编语言,你就能够看懂这个软件的编程流程了。


  所以,破解者不仅要会使用OD这个工具,还要会一些汇编知识。


  好在,要求不高,难度不大,你基本上一个小时就可以学会。


  OD还有一个重要的作用,就是你可以在某个地址下断点,当软件执行到这句代码的时候就会自动断下来,这就是上面说的断点。


  但是问题来了,一个软件的编写有成千上万条代码,你到底该在那一句代码处下断点呢?
  
  呵呵,如何有效的下断点,就是我们学破解的最关键的技术。
  
  相信你会听说过中文搜索关键字、API函数、消息函数、F12暂停法、按钮事件等等方法,其实这些方法的目的都是一样的,就是下断点。


  那你可能要问了,什么叫做最有价值的断点?所谓最有价值的断点,就是距离软件验证真假的最近的位置。


  我举个例子,比如有一个软件需要你输入用户名和密码进行验证,如果正确就提示登录成功,错误提示登录失败。那么,我们该如何下断点呢?


  第一种方法:在软件读取我们输入的假的用户名和密码的代码处下断,我们也叫做验证前下断。怎么下断呢?如果软件不是重启验证的,你对读取输入框的API函数进行下断就可以了。


  附带说一句,我们的软件在编写时会大量使用WINDOWS系统库里的API函数来实现功能,包括弹窗、读取文本、写入文本、比较真假码等等。


  所以,你要熟悉一些基本的API函数的功能。如果软件是重启验证的,你对读取文件、注册表的API函数下断就可以了。


  附带说一句,所谓重启验证,就是你只需要第一次属于注册码,以后启动软件的时候就不需要再次输入了,软件会自动读取你之前输入的注册码信息然后进行验证。


  第二种方法:在软件进行真假码比较的时候下断,我们也叫做验证中下断,这个断点就NB了,也就是最有价值了,因为如果软件编写者没有对数据进行加密的话,你会直接看到真码。


  那怎么下断呢?你可能会想到用有比较功能的API函数或者命令。


  呵呵,事实求是说,因为软件的程序中有大量的比较命令,你很难找准,所以这个方法很少用。当然,易语言除外,因为它有一个特殊的文本比较通杀命令 test edx,3。


  第三种方法:在软件进行错误提示的时候下断,我们也叫做验证后下断,这个断点是最常用的,也是非常有效的。


  那么哪些是错误提示的,比如出现“登录失败”这样的文字、出现一个错误提示的对话框、出现一个提示需要缴费的窗口等,那么当你看到这些错误提示的时候,你该如何下断呢?


  比如出现文字,你就可以用搜索字符串的方法,当然要注意的是,你可能什么也搜不到?


  原因一般有两个:


  一是你没有在程序领空搜索,最简单的解决办法是你先在OD里用CTRL+G命令输入401000后,再搜索。


  二是软件的作者对字符串进行了加密处理,你暂时没有办法了。比如出现提示的对话框或者窗口,你就可以使用API函数下断。  


  当然,我个人还特别喜欢用设置窗口标题的API函数SetWindowText,往往会给你在黑暗中带来惊喜。


  二、壳是什么?


  壳就是软件的防护服。我们这么说吧,软件作者写好了程序,但是怕别人分析破解他的程序代码,就在原有的程序上加了一个防护服就是壳。


  所以,壳的作用就是保护软件,它本身没有软件的功能,所以壳是没有必要破解的,你需要的最多就是脱壳,或者就是绕过壳即可。当然,现在的壳也很厉害,比如VM的壳,它的作用是让软件原有的代码在OD里面变的杂乱无章,令你无从下手。


  但是,也别太失望。因为当绝大多数加了壳的软件运行起来后,它在OD里面会自动解码,源代码又恢复正常了。


  所以,当你遇到有壳的程序,不用费力的必须先脱壳,你可以在OD里面先把软件运行起来,然后到程序领空(大部分是401000处),然后你再用常规的办法(搜字符串、API断点)来分析下断点。另外需要注意的是,对于有壳的程序,你修改了源代码后是无法保存的,你需要做个内存补丁,其实也很简单,有专门的工具。


  三、还要注意什么?


  当你看完了以上两点,你觉得你能破解软件了吗?呵呵,还差一点。就是反反调试技术。


  现在的软件作者都很聪明,他们也有一些反破解的技术,他们除了加壳以外,还会增加一些反调试的技术来对付你,


  比如他会写一段代码专门检测你是否正在使用OD这个工具,发现了,就直接让软件退出。


  比如他会写一段代码专门检测你是否修改了源程序,发现了,就直接蓝屏。比如他会写一段代码专门检测你是否跳过了注册窗口,发现了,就直接格盘。


  那怎么办?很简单,好好学习,多练,攻防的技术是没有止境的!


  随口说了以上几点看法,希望给新手一点启发。


  补充说明一下:


  1、真想学破解,建议先在自己的电脑上安装一个虚拟机,在虚拟机上进行破解练习,尤其是想练手一些商业软件,避免被格盘、蓝屏、安装木马等,别怨软件作者,毕竟是你在别人没有同意的情况下动了人家的身子,算是惩罚。


  2、以上说的是所有软件的通用破解方法,但是对于不同语言编写的软件还有破解的不同捷径,所以你还要学习一下不同语言的破解小妙招。


  对于易语言程序,可以使用文本比较通杀命令(test edx,3)、窗口置换(push 10001)、按钮事件(FF55FC5F5E)、易语言分析插件(E-Debug.dll、EWND.dll)等方法。


  对于DELPHI程序,可以使用按钮事件特征码(740E8BD38B83????????FF93????????)、DarkDe分析工具。


  对于VB程序,可以使用按钮事件特征码(816C24)、VBDecompiler分析工具。当然VB的API函数有特殊的书写方式,比如弹出对话框,用的命令是rtcMsgBox,而不是其他语言常用的MessageBox。所以对于VB的程序要注意API函数的特殊性。


  对于VC程序,可以使用按钮事件特征码(sub eax,0a),要注意的是和MFC编写的程序有点区别。


  3、如果你学了一段时间后,发现还是有很多软件破不了,千万别灰心,因为太正常了,要记住编写软件的作者也不是笨蛋,尤其是商业软件,一定是陷阱重重的,如果一个破解新手都能轻易破解了,人家还混个啥?


  所以说学习是无止境的。你在学习如何破解软件,人家也在学习如何防破解软件,乐趣就在于相互之间的不断对抗和技术提升。
  

  再多说一句话,“学习逆向破解的目的不是黑别人的软件,而是要提升软件的保护能力”。  
如果您觉得我发的内容确实对您有所帮助,请麻烦您支持一个热心值,进行精神鼓励,也是我继续写下去的动力!

玩玩破解,写给新人看(第一集)
玩玩破解,写给新人看(第二集)
玩玩破解,写给新人看(第三集)
玩玩破解,写给新人看(第四集)
玩玩破解,写个新人看(第五集)
玩玩破解,写给新人看(第六集)
玩玩破解,写给新人看(第七集)
玩玩破解,写给新人看(第八集)
玩玩破解,写给新人看(第九集)
玩玩破解,写给新人看(第十集)
玩玩破解,写给新人看(第十一集)
玩玩破解,写给新人看(第十二集)
玩玩破解,写给新人看(阶段练习1)
玩玩破解,写给新人看(第十三集)
玩玩破解,写给新人看(第十四集)
玩玩破解,写给新人看(第十五集)
玩玩破解,写给新人看(第十六集)
玩玩破解,写给新人看(第十七集)
玩玩破解,写给新人看(第十八集)
玩玩破解,写给新人看(第十九集)
玩玩破解,写给新人看(第二十集)
玩玩破解,写给新人看(第二十一集)
玩玩破解,写给新人看(第二十二集)
玩玩破解,写给新人看(第二十三集)
玩玩破解,写给新人看(第二十四集)
闲谈如何破解软件?
玩玩破解——小白实战1,你也行!
玩玩破解——小白实战2,巧搜字符串
玩玩破解——小白实战3,易语言字符串比较通杀
玩玩破解——小白实战4,冰火两重天
对新人们学习《玩玩破解》系列教程的集中解答

玩玩破解—加点油,再前行!         


免费评分

参与人数 434吾爱币 +416 热心值 +383 收起 理由
承神佑 + 1 + 1 用心讨论,共获提升!
tinyu + 1 + 1 谢谢@Thanks!
lxxbsx + 1 + 1 谢谢@Thanks!
derekllh + 1 + 1 用心讨论,共获提升!
chengdragon + 1 用心讨论,共获提升!
朔然ゝDendi + 1 + 1 我很赞同!
zjty123 + 1 + 1 谢谢@Thanks!
Zer0o + 1 + 1 我很赞同!
boy666 + 1 + 1 热心回复!
wszyx200 + 1 用心讨论,共获提升!
dlxfxxx + 1 + 1 谢谢@Thanks!
sanyv + 1 谢谢@Thanks!
ZhaoXi1225 + 1 我很赞同!
xuweihua4809 + 1 + 1 我很赞同!
luogan129 + 1 + 1 用心讨论,共获提升!
xieming2jun + 1 + 1 谢谢@Thanks!
15874714729 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
nowthink + 1 + 1 谢谢@Thanks!
xu1296183845 + 1 我很赞同!
wirhttn + 1 我很赞同!
huahua2818 + 1 热心回复!
seiman + 1 + 1 用心讨论,共获提升!
cobble + 1 我很赞同!
XXFFKK + 1 我很赞同!
DFLMJ + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
jiemo365 + 1 毕竟是你在别人没有同意的情况下动了人家的身子
rqelove510 + 1 + 1 谢谢@Thanks!
dujinshan + 1 我很赞同!
萌新与小白 + 1 + 1 热心回复!
songshao + 1 + 1 我很赞同!
8core45153386 + 1 + 1 我很赞同!
syf8303 + 1 + 1 谢谢@Thanks!
池塘春草 + 1 用心讨论,共获提升!
Wudizhen + 1 + 1 用心讨论,共获提升!
454983949 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
huhansi + 1 + 1 学习一下
helloworld0069 + 1 + 1 用心讨论,共获提升!
weieraidiaoyu + 1 + 1 我很赞同!
yzitcast843 + 1 + 1 我很赞同!
Nattevak + 1 + 1 我很赞同!
yiic + 1 谢谢@Thanks!
moderll + 1 + 1 谢谢@Thanks!
Klh71gs + 1 + 1 热心回复!
hxzc + 1 + 1 谢谢@Thanks!
neal5808 + 1 谢谢@Thanks!
my1024 + 1 谢谢@Thanks!
taiha + 1 + 1 谢谢@Thanks!
yyplayer1988 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
KINGQIN + 1 + 1 谢谢@Thanks!
fanghui + 1 我很赞同!
YANLING + 1 谢谢@Thanks!
rickestrick + 1 用心讨论,共获提升!
中国特井 + 1 + 1 你说的很对
ruanjiandiguo + 1 + 1 谢谢@Thanks!
aa289299 + 1 + 1 我很赞同!
MRwr520 + 1 我很赞同!
TokeyJs + 1 我很赞同!
52pojie66 + 1 我很赞同!
youke01 + 1 刚刚开始,基础太差,要补的太多
Holems + 1 + 1 看到的第一个贴,以后会加油的
qwe17574 + 1 + 1 我很赞同!
yunlongzhuhuo + 1 用心讨论,共获提升!
许褚 + 1 + 1 谢谢@Thanks!
shen54188 + 1 + 1 谢谢@Thanks!
Qca9561 + 1 + 1 谢谢@Thanks!
爱玩的jobs + 1 + 1 我很赞同!
odinad + 1 我很赞同!
-白衬衫- + 1 + 1 谢谢@Thanks!
submariner + 1 我很赞同!
weixu + 1 + 1 开卷有益,通俗易懂,字字珠玑。
zxyfy + 1 + 1 用心讨论,共获提升!
slmgr.vbs + 1 + 1 用心讨论,共获提升!
芝士就是力量 + 1 + 1 用心讨论,共获提升!
WLW1234567 + 1 + 1 谢谢@Thanks!
bullshit + 1 + 1 谢谢@Thanks!
chenhaohao9555 + 1 + 1 热心回复!
远方的选择 + 1 + 1 热心回复!
qq42773175 + 1 谢谢@Thanks!
金化铯 + 1 + 1 用心讨论,共获提升!
余弦 + 1 + 1 谢谢@Thanks!
起名字的烦恼 + 1 + 1 谢谢@Thanks!
风千叶 + 1 + 1 谢谢@Thanks!
菊次郎的夏天 + 1 用心讨论,共获提升!
AaJie + 1 + 1 热心回复!
雁字回时月man楼 + 2 + 1 用心讨论,共获提升!
闪的好快啊 + 1 谢谢@Thanks!
pycah + 1 + 1 谢谢@Thanks!
oslven + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Censou + 1 我很赞同!
zzqf666 + 1 + 1 用心讨论,共获提升!
李辉! + 2 + 1 我很赞同!
yuxinmo + 1 + 1 用心讨论,共获提升!
dustyangel + 1 + 1 我很赞同!
yueyunlong + 1 + 1 用心讨论,共获提升!
linzhijiang8222 + 1 + 1 我很赞同!
啊墨 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
空白的记忆 + 1 + 1 用心讨论,共获提升!
sangaqiao + 1 + 1 我很赞同!
Zed丶小灰狼 + 1 + 1 热心回复!
Tophead + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

abcxyzmn 发表于 2021-9-25 19:13
说的很好,浅显易懂,

可还是不会,不怨楼主,是基础太差,要补的太多

免费评分

参与人数 1热心值 +1 收起 理由
banyehao + 1 我很赞同!

查看全部评分

simdabo 发表于 2021-9-25 16:16
看完后感觉到最不安的就是倒数第四行,直接格盘。
皮皮Peter 发表于 2021-9-25 18:03
liuqm 发表于 2021-9-25 15:27
感谢大佬
hxy310 发表于 2021-9-25 15:32
坐等大佬写完。
斯巴达 发表于 2021-9-25 15:38
坐等更新
XueXiHao 发表于 2021-9-25 15:46
有道理,本质是不是跳过判断语句,比如是否已注册账号,是否已充值之类的限制
baidasuai 发表于 2021-9-25 15:50
楼主的帖子通俗易懂,顶一个!
Air. 发表于 2021-9-25 16:04
学习了,之后再好好看看
xiaoxue58178 发表于 2021-9-25 16:05
大佬的作品又开始了,激动中
sccx 发表于 2021-9-25 16:12
谢谢楼主!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-4 00:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表