2021新手门外汉,学习破解的笔记2
本帖最后由 mzbtdwd 于 2021-4-1 21:48 编辑2021学破解的笔记和心得2
写在前面的废话 :
此贴为本人学习破解过程中遇到的困惑和解决办法的记录,作为学习破解的课堂笔记和心得,大神/大佬请直接跳过,thanks!~
——接2021学破解的笔记和心得1——
我已经安装好了吾爱专用虚拟机,WinXP的(说实话,老的可以进博物馆的系统了),系统是老了点,但是只做学习破解的环境,够用了。
这个虚拟机里面东西挺全乎(PE、DIE64、OD工具基本上都有),都在吾爱破解工具包里能找到。
DIE64长这样(我在虚拟机里没找到,估计是这个工具版本旧了)
知道了这些工具在哪里了,就先得学会如何使用,因为学习破解不可能一蹴而就,得慢慢来。
上节笔记1中提到的破解的流程:1.PE查壳工具→2.DIE64查编写语言工具→3.OD分析破解代码工具
第一步:先查壳(防弹衣)
ü啥是壳:一种压缩或保护代码的工具,目的是阻止你破解软件的防弹衣。(如下图:你可以把壳想象成压缩文件的压缩包)
ü操作:把PE打开后,直接用鼠标拖拽要破解的软件进去就可以了
ü观察:拖进去后重点关注如下1、2两个红/绿框的内容。
ü结果:参考下图,通过观察得出“有壳”还是“无壳”的结果
ü咋看有壳:如上图“有壳”一般显示壳名称(上图为UPX壳),当然也会出现PE版本比软件版本旧,查不出壳的情况,如上图有壳中的“什么都没找到”字样;无壳显示.text(这是一种文本格式),而下面显示的C、C++、VC、VB、Delphi、易语言、JAVA、python为编程用的语言不是壳。
ü壳的分类:压缩壳、保护壳、捆绑壳。
ü壳名称:UPX、ASPack、ASProtect、MoleBox等等,具体可以参见下表。
ü咋脱壳:目前方法有两种:1.用脱壳工具;2.用OD手工脱壳。
(1)脱壳方法1:
l用脱壳工具脱壳(还拿压缩文件举例子,加壳是压缩,拿脱壳就是压缩的逆向解压缩)
脱壳工具在这里:
l脱壳工具脱壳步骤:
使用脱壳软件的方法:打开脱壳工具→把要脱壳的软件拖到脱壳工具界面上→在红色箭头指的“解压缩”前的白色圆圈内点一下→点开始会出现解压缩完成,脱壳完成后会出现两个文件,一个是已经脱壳好的文件,另一个是原文件的备份(如下图第3步)
(2)脱壳方法2:
手工脱壳就像直接打开压缩包的情景(依旧举压缩文件的例子)
手工脱壳可以参考:https://www.52pojie.cn/thread-32838-1-1.html(建议:仅参考知道有这些方法即可,等遇到实际案例再详细拜读)
第二步:DIE64查汇编语言
ü啥是编写语言:是一种编程语言,我们用的软件都是程序员用电脑能够识别的编程语言编写的程序。
ü操作:把DIE64打开后,直接用鼠标拖拽要破解的软件进去就可以了
ü观察:拖进去后重点关注如下红色箭头的位置,如下为VC语言。
ü常见的语言有:C、C++、VC、VB、Delphi、易语言、JAVA、python等。
ü知道编写语言有啥用:知道要破解的软件是啥语言之后,就可以根据该语言的编写特点找到破解的关键位置(房子的锁的位置),找到了锁的位置,剩下的就是用锯子、锤子暴力开锁了,哈哈。那我们是不是要去学这些编程语言呢?答案是根本不用(学霸不适用此条),只要在每次破解的时候记住每个语言破解的关键语句在哪里就行,而这些只用慢慢积累,熟能生巧就行,不用刻意去学(因为对于小白来说,编程语言太枯燥无趣了,而我的兴趣是在于破解软件,而不是去当程序员,就是这样)。
第三步:OD分析工具
ü啥是OD分析:OD全称为Ollydbg,是一种反汇编工作的工具(就是把软件分析成代码的工具)ü操作:把Ollydbg打开后,直接用鼠标拖拽要破解的软件进去就可以了(OD界面如下图)
如果没有用破壳工具,选择手工脱壳的话,直接拖拽到OD中的界面是这样的:
如上图这种直接点否就行了,因为 “有壳”的话OD分析可能是错误或者不全会影响你判断,而你的目的就是手工脱壳,所以直接点“否”就可以了。
OD分析相当于破解的核心,前面的PE查壳工具、DIE64查编写语言工具是铺垫,因为破解大部分工作是OD工具中完成的,所以操作比前面两个软件要复杂点,因此OD工具的认识和操作介绍,我就放在下次2021学破解的笔记和心得3中更新。
本次笔记所用到的练习软件(有壳&无壳)、UPX脱壳工具、笔记和心得2电子版,我已打包放到下面附件中了,如有需要自行可以下载练习。
笔记传送门:
>>>>>>2021学破解的笔记1<<<<<<
>>>>>>2021学破解的笔记2<<<<<<
>>>>>>2021学破解的笔记3<<<<<<
——————小生心得小尾巴——————
我只是新手门外汉一枚,刚接触破解在学习的过程中,我发现如果仅仅只是去看大神分享的帖子,然后实际去操作还是会遇到很多的问题,所以我会查很多资料来解决问题,但是知识点多了就脑子就凌乱了,所以我想通过写笔记和心得来鞭策自己,把冗杂&烦乱的知识点整合一下,希望我走过的坑不再是你碰到的坑,也希望能够帮到想学破解的朋友,共同探讨学习。
zhanglei1371 发表于 2021-3-28 21:04
个人认为,这样的快餐对于新手还是很不错的,有大佬们说先学习pe结构,先学习汇编,先学习c等,我的感觉是 ...
很赞同你的说法,如果你想成为专业的破解人员,可以先去学习pe结构,先学习汇编,先学习c等,但是作为一个业余的兴趣爱好去耍耍,真的不用搞得那么透,比如我今天想要破解一个软件,我就去找怎么破这个软件的壳,然后再去想办法破解,如果破解成功了,就会很有成就感,然后这种成就感会让你更想破解下一个,这就是兴趣的力量 个人认为,这样的快餐对于新手还是很不错的,有大佬们说先学习pe结构,先学习汇编,先学习c等,我的感觉是,还没有把上面的基础东西看懂,就已经没有继续学习下去的兴趣了。
不是所有的人都要成为专业破解人员的,兴趣是最好的老师。而能激发兴趣的,恰恰是能快速看到成效的操作。 教程分享的太好了,新手进门不再被拦在门外了,这样让更多新手入门了 感谢楼主分享,挺不错的教程,有空观望 很详细逻辑也很清晰个个方面都是介绍了一下学习了
谢谢楼主分享学习心得 感谢楼主 学习了哈哈 又学到了,太值了,楼主加油! 一个学科的知识点多还好点,最怕跨学科知识点多,太痛苦了😖
支持一下吧{:301_998:}