逆向工程入门「建议收藏」

逆向工程入门「建议收藏」本问只是为初入逆向工程大坑的新人们指出方向学习,没有实质性的技术。总的来说,基础才是最重要的。逆向工程入门应该算是所有学习方向中最难的。但是选择了这一方向的请不要放弃,一旦学成,必定会是大神级别的存在。那么,逆向工程的入门需要学习什么?1.c语言学习c语言是逆向工程的基础。如果是学习渗透方向的,也许可以选择python作为自己的第一门编程语言。但是作为逆向工程方向,第一门入门的语言没有选择,只有

大家好,又见面了,我是你们的朋友全栈君。

本问只是为初入逆向工程大坑的新人们指出方向学习,没有实质性的技术。总的来说,基础才是最重要的。

逆向工程入门应该算是所有学习方向中最难的。但是选择了这一方向的请不要放弃,一旦学成,必定会是大神级别的存在。
那么,逆向工程的入门需要学习什么?

1.c语言

学习c语言是逆向工程的基础。如果是学习渗透方向的,也许可以选择python作为自己的第一门编程语言。但是作为逆向工程方向,第一门入门的语言没有选择,只有c语音。深厚的c语言功底是逆向工程的基础。如果想学习逆向工程,务必要有深厚的c语言功底。逆向工程中c和汇编就是好比是一颗树的根部和树干。没有扎实的基础是无法继续更加深入的学习的。
======> 推荐书籍:《c primer plus》业界经典

2.汇编语言

作为逆向工程的2大基础语言。汇编语言也是一切其他学习的基础。如果你认为已经具有深厚的c语言功底。可以清楚的理解指针的指针,数组指针,指向数组的指针,函数指针等等指针的概念之后,就可以开始学习汇编语言的。汇编语言是一门很非人类的语言,因为汇编语言其实就是非人类的二进制机器语言的另外一种表达形式而已。但是学习逆向工程,你就无法逃避学习汇编语言。

学习汇编语言,其实不只是入门而已。汇编语言是需要不断学习研究的。可以按照一下的路线学习

a.16位汇编
16位汇编语言可是老古董了。不过作为初始汇编的人来说还是很合适学习的。 =====> 推荐书籍:王爽的《汇编语言》经典必看

b.32位汇编
intel x86指令集的32位汇编是现在最主流的指令集了。它继承了16位的汇编指令并发展而来,是现在最主流的汇编语言了。 ======> 推荐书籍:钱晓捷的《基于Windows环境的汇编语言程序设计》个人感觉继续学习32位汇编不错的一本书。

32位汇编语言学习完成之后,就已经是算汇编,或者是逆向工程入门了。如果希望继续学习汇编,可以从以下方向中自由选择。
1.64位汇编语言。
32位汇编再进化,如今愈来愈多的软件支持64位的指令集。相信终有一天会代替32位汇编成为主流的汇编语言。
2.arm指令集汇编。
安卓逆向必备,许多的移动产品cpu都是使用arm指令,如果有兴趣可以深入学习
3.还有很多指令集,有兴趣可以自由的学习

其实到了这一步,其实已经可以算作是逆向工程入门了,接下来就是继续向更高的方向前进。
下面的是逆向工程几个方向分支。感兴趣就去学吧

1.window逆向工程

想继续在windows平台下玩耍的话可以选择这个分支。学习软件激活成功教程与加密技巧,游戏外挂以及反外挂的技术。病毒的编写以及分析的技术。其实都是建立在逆向工程技术之上的。
要学windows逆向,首先要对windows的api或者说是系统函数要有详细的了解。推荐两本书:
1.《windows环境下的32位汇编程序设计》(又名《琢石成器》)以汇编语言讲解WindowsApi,必看。
2.**《windows程序设计》**window开发界的圣经,不变的经典。

如果对windows的api有了一定了解之后。可以开始学习windows上逆向工程的更高级技巧了。继续安利两本书:
1.《加密与解密》看雪出品,必属精品。不可多得的逆向精品书
2.《逆向工程核心原理》评价挺不错的书,值得一看
除了看书之外,就是可以找一些ctf或者creakme来练练手了。学到的知识只有通过实践才能够完全掌握。

2.漏洞利用与防御

0day攻击。网络安全领域最可怕,最难以防御,后果最严重的攻击方式。掌握着未被公开的0day漏洞的黑客无疑是黑客中最为顶尖的存在。如果你学习linux,希望成为被人崇拜的2进制大牛,就向着这个方向前进吧。

这个方向资料实在不多,只有一本:《0day安全》依然是看雪出品。因为已经绝版,所以将就看盗版的吧。

3.安卓逆向

随着智能手机的普及,逆向工程也开始进入安卓手机平台。如果希望从事安卓逆向的人,可以学习此方向。
至于学习方法嘛。。。。首先,你要学会安卓开发。其次,你要学会arm指令集。然后开始安卓逆向之路。有一本推荐大家《Android软件安全与逆向分析》还是看雪出品。

相信对于初学者来说,这么多的方向已经看的够让人眼花缭乱的了。不要惊慌,从最初的c语言开始吧。坚持着一步一步向前。你会慢慢发现逆向工程的世界比我写的更加精彩。

本人能力所及范围内就只有这一些了。如果有疏忽以及不正确的地方,欢迎指正

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150736.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • powerdesigner生成mysql语句_oracle创建表的sql语句

    powerdesigner生成mysql语句_oracle创建表的sql语句在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL问题,非常影响我们建表的效率。本篇文章,以Mysql数据库表为原表,通过PowerDesigner工具将其转化成Oracle数据库建表语句。1、以student(学生表)为例,Mysql数据库中建表语句如下所示。需要注意的是,…

    2025年10月3日
    1
  • feign默认负载均衡策略_负载均衡策略的是

    feign默认负载均衡策略_负载均衡策略的是OpenFeign与Ribbon,负载均衡策略

    2022年10月13日
    3
  • WebStorm使用 webstorm快捷键

    WebStorm使用 webstorm快捷键WebStormWebStorm是JetBrains推出的一款商业的 JavaScript 开发工具任何一个编辑器都需要保存(ctrl+s),这是所有win平台上编辑类软件的特点,但是webstorm编辑文件右上角是没有那个熟悉的*的。好处:省去了ctrl+s之后,在结合Firefox的vim,基本不动鼠标就可以看到结果页面了。 坏处:没有以前的*

    2022年6月23日
    38
  • 阅读软件怎么添加书源_认识一波苹果安卓手机上,那些以一敌百的小说漫画软件…[通俗易懂]

    阅读软件怎么添加书源_认识一波苹果安卓手机上,那些以一敌百的小说漫画软件…[通俗易懂]哈喽大家好,我是无知便是罪,专注于收集和分享互联网上有价值的好东西。今天让我们继续分享一些可以自定义源的软件吧。看过我视频的老用户一听到这个词肯定两眼放光了。像我们之前推荐的看小说的阅读,看漫画的异次元和看影视作品的海阔,他们有一个共同的特点,就是允许用户自定义上传一些书源啦漫画源和影视源。这样你在搜索作品的时候呢,软件就会在这些源头里面进行抓取。如果遇到收费的内容呢,你还可以免费换源,…

    2022年6月20日
    40
  • Eclipse-环境配置-jdk1.8

    Eclipse-环境配置-jdk1.8Eclipse-环境配置-jdk1.8进入javaSE官网,按如下下载jdk1.8jdk下载位置。按照安装要求进行下载,在此是按照以下进行下载。下载后点击安装,本机是安装在C:\Java\jdk1.8.0_144位置。然后配置环境参数:3、JDK环境变量配置a、新建JAVA_HOME环境变量,JAVA_HOME=C:\Java\jdk1.8.0_144b、修改…

    2022年6月20日
    89
  • python写txt方法_怎么实现python写入txt文件方法

    python写txt方法_怎么实现python写入txt文件方法一、读写txt文件1、打开txt文件1file_handle=open(‘1.txt’,mode=’w’)上述函数参数有(1.文件名,mode模式)mode模式有以下几种:1234#w只能操作写入r只能读取a向文件追加#w+可读可写r+可读可写a+可读可追加#wb+写入进制数据#w模式打开文件,如果而文件中有数据,再次写入内容,会把原来的覆盖掉2、向文件写入数据第一种写入方式:12…

    2022年10月2日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号