首页
社区
课程
招聘
如何学习解密、破解、逆向技术?
Editor 2021-4-12 4672

对解密、破解、逆向技术非常感兴趣,请问如何学习?

收藏
10条回答
kanxue 2021-4-12 2021-4-12编辑

很多人都想学习解密,这东西刚入门时会让人沉迷进去,可以饭不吃、觉不睡。出现这种现像,也许是解密满足了人们的猎奇心里吧。但掌握这方面技术,对自身的提高确实有好处。可以通过跟踪软件,提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序。研究解密技术有助于掌握一些系统底层知识,系统底层知识是构造起大型软件的坚实基础。许多程序发展,都经历了这一锻炼过程的。 而大多数人可能认为解密是一门高深的学问。造成这种原因是以前这方面的技术资料缺乏,从而将“解密”这一技能“神”化了。初学者一般不知从何下手,由于没方向,花费了大量时间和精力,走了不少弯路。这里就给对这方面感兴趣的读者指明一个方向。
先了解一下计算机中的程序。高级语言编写的程序,会编译成机器语言在CPU中执行,如VC等。由于机器语言与汇编语言是一一对应的,因此就可将机器语言转化成汇编语言,这个过程称之为反汇编。而汇编语言可能读性是比较好的,这样就可分析程序流程,解析其功能了,这个过程就是解密(俗称破解)。也就是说,解密的基础是建立在汇编语言级别上的,因此想涉足这一领域的朋友,汇编语言一定得学好。汇编语言是大学计算机的必修课,这方面的书籍品种很多,虽然大多书本是以DOS汇编为讲解平台,但对理解汇编指令功能是没影响的。
图片描述

 

等汇编学好了,建议再掌握Win32编程。Win32程序设计就是API方式的Windows编程,学习Windows API将使您更深入地了解Windows工作方式。此类书籍有Charles Petzold著的《Windows程序设计》(以VC来讲解)

 

图片描述

 

有了上面这些基础,你就可以参考《 加密与解密(第四版) 》、《c++反汇编与逆向分析技术揭秘》等书入门了。
图片描述

 

图片描述

 

学习解密其实很累的,需花费大量的时间,而且经常会碰壁,三五天毫无进展是极为平常的事情。这时你可能有点想退却,其实你不要着急,只要你认真学习,成功就在眼前。没有人是生来就什么都会的,如果你有问题,就大胆的去问你周围的人。学解密的秘诀就是勤奋+执着!记住并能做到这两点,你会变得很优秀的。
等你解密入门后,建议再看看Matt Pietrek、Jeffrey Ritcher等大师的专著,这些书是每个程序员都应该阅读的:《windows高级编程指南》,《Windows2000编程技术内幕》,《Win32系统编程―Windows 2000应用程序开发指南》等。这样,你就对系统底层有一定的了解了。到了这个水平后,就可朝软件加密这块发展了,例如编写自己的加壳软件等。
软件的加密与解密是一个迷人的研究领域,它几乎可以与任意一种计算机技术紧密结合――密码学、程序设计语言、操作系统、数据结构。而由于这样或者那样的原因,对于这一领域的关注程度一直还处于低温状态。而这两本书相信会为更多对知识怀有渴望的朋友多开辟一条走向这个领域的道路,并且进而推动这个领域的不断发展。

回复 已采纳
wx_不负余生^O^: 学了这几本书该如何去检验自己的学习成果?
回复 2022-5-31
mb_kyvygmxz: 谁收徒弟
回复 2022-6-5
橙子加柠檬 2023-6-24

坚持努力 热爱 实战都很重要

回复
安工阿奇 2023-6-18

打好基础很重要

回复
sfy19850407 2023-6-23

有收徒弟,拿shell吗

回复
呆萌的小白 2021-4-24

谁收徒???我是小菜鸟

回复
下咯 2021-4-29

书籍入门,看帖子学习最新知识,最后实战

回复
tudousi168 2023-5-30

实战最重要

回复
wdkxxyzh135 2023-8-30

ida软件下载哪个版本,请教

回复
Zhevitz 2023-9-28

要学习解密破解的话,个人认为有两条主线:

  • 算法线:熟悉基本的密码学概念,以及基本的数学知识(数论,线性代数等),基本的入门算法包括:RC4,TEA,AES,DES(对称加密),RSA,ECC(非对称加密),了解完算法的基本概念后,当逆向得到源码时,分析起来就会很快地想得出对策,对破解帮助还是很大的,如果没有算法基础的话,有时候就算调试水平再高,要理解一个从未见过的算法还是会花很长时间。
  • 操作线:在清楚高级程序语言语法的基础上,了解一些入门的汇编、计算机程序实现的底层原理,学会使用代码分析工具:静态(IDA),动态(ollydbg,x64dbg,ce等),尽管一开始看到这些琳琅满目的工具的时候会感到很迷茫困惑,但是随着代码审计量的逐渐增长(硬着头皮看不懂也要尝试去分析、推理),相信能力也会逐渐上涨。

在逆向分析的过程中,遇到各种各样奇奇怪怪的问题,甚至是感到无从下手,我个人感觉都是正常的,学习过程常常是:发现问题、思考解决办法->查资料->实现自己的想法。这样一点一点去积累。逆向很难速成,坚持和积累是必不可少的我认为。

回复
老王酱排骨 2023-10-16

谢谢

回复