逆向是啥玩意啊?这个咋入门啊?

admin 2022年7月25日04:42:57评论87 views字数 3793阅读12分38秒阅读模式

逆向是啥玩意啊?这个咋入门啊?

“谁说搞安全的没有女朋友,这个妹儿这么可爱,比我自己还要了解我自己,要什么轮船大炮,有她就可以了!”一位不愿意透露自己姓名的沉迷于逆向的同学如是说道。

那你肯定心头想着:不不不,我不想搞这个,我想要个晚上睡觉觉抱到暖暖和和的女朋友。搞这个不就是注孤生么?

哎呀,给你说了年轻人要沉住气,不要急。今天来给我们讲述逆向入门的两个师傅,不仅有这个有着迷人笑容的女朋友还有一个随时可以发狗粮的女朋友,所以,学逆向,一开始,你就赢在起跑线了——一个女朋友。


那我们就不废话了,直接步入正题!


0x9A82:逆向入门


1

在讨论如何入门之前,我们先来看一下入的到底是什么门。很多人有疑问,二进制安全是什么?学了二进制安全之后能做什么?我曾经也有过这个疑问,所以首先来说二进制安全到底“能干什么”我简单的解释一下这些职位是什么意思:

  1. 逆向分析:负责分析成品软件的技术原理。比如分析竞品软件,来吸取技术上的优点,进行技术难点公关。需求公司比较广。

  2. 病毒分析:负责分析病毒样本,研究恶意代码的技术手段等工作。主要是安全公司尤其是杀毒软件公司需求比较多。如360、金山、腾讯电脑管家等公司。现有学长在奇虎360任病毒分析职位。

  3. 漏洞分析:负责分析漏洞样本,对已有漏洞编写利用程序以及漏洞挖掘。主要是安全公司需球较多。现有小组的学长在PKAV、腾讯、360等公司就职。

  4. 移动安全:负责安卓平台的安全(IOS较少),也有安卓平台的漏洞挖掘。现有小组的学长在阿里巴巴负责移动安全。

  5. 安全开发:包含较广,比如硬件平台、内核安全等等。一般都是安全公司需求较多。如防火墙、主动防御系统、反外挂等。比如我面过腾讯的游戏安全TP团队。



    2

怎么学习二进制安全?

     推荐先去看《逆向工程核心原理》,很多人说要先去学C语言要去学汇编这些是基础balabala......

    这些是基础不假,但是你抱着一本C语言(就CPP来说,600多页),两个月也看不完,再加一本汇编本个学期就过去了。而这些东西真的有用么?等你真的用得上的时候自然会去想办法学习。我的建议是你看这些就是掌握一个大体的结构就够了,然后拿着调试器,比如OD跟着《逆向工程核心原理》去调试。比如你在OD遇到一个不认识的指令,你再去百度再去翻书查是什么意思,不要不动手整天抱着一本书“学基础”。

      如果你曾经学习过C语言,看汇编和使用调试器又难不倒你,那么我推荐你去学习一下Windows API的使用,尤其学习一下Windows的数据类型和编程风格。至于学习Windows API,注意不要去看《Windows程序设计》这本书,可能有很多人会推荐这本书,这本书也的确很经典,但是它是一本字典,可能没有谁会把汉语字典从头翻到尾来学习语文吧。推荐去找一本Windows API大全一样的书,跟着例子敲一敲,没有书就去MSDN,找不到MSDN可以去百度百科,比如你想查CreateProcess就可以在百度百科里查到用法等你已经熟悉了Windows API是个什么东西之后再去查字典”。编译器我推荐使用VS2015,MSDN就可下到,注册一个微软账号可以永久免费使用VS2015可能对你来说很复杂,但是值得花一个星期来研究一下是怎么使用的

我是先看漏洞公告,2002年之前绿盟漏洞库中的每一条我都看过,在看的过程中理解漏洞。然后看别人的漏洞分析文档,在看的过程中学习调试和汇编指令,最后学编程。

                                                             ——Tomkeeper

就像TK教主说的一样,我也没有专门的从头到尾的看过汇编语言的书,但是每 次遇到不认识的指令我都会去查书,这样那本汇编书反倒被我在实践中看完了。 (我不是说编程不重要,我的意思是动手最重要,让需求驱动你学习,而不是 书的目录驱动你学习)

3

我现在什么都不会怎么办呢?

     一年前的这个时候我什么都不会,完全的0基础。连mov指令是干啥的都不知道,都得去百度现查。有很多很叼的学长刚入学的时候也是完全没有接触过安全,但这并不影响他们日后成为大牛。事实上一年时间完全能够学到很多东西,只要你选好方向,付出努力就可以。引用黑哥一句话:整就牛!之前有个学弟跟我说,觉得自己水平不够打算慢慢学等大二再来小组面试。我想说如果真的打算做技术那么就从现在抓起,不要想什么大二再来。等大二就已经晚了,各种比赛机会实习机会已经与你无缘了,既然已经下定决心做技术为什么不抓紧现在呢。当然,在大学里的选择是有无穷多种的,如果你对技术不感兴趣完全可以选择适合自己的道路。什么都可以不会,但不能学不会。

给你个建议:别想那么多,先干起来再说。

我找到第一个漏洞的时候,还在医院实习,只会写几行批处理。为了写PoC需要学编程语言,看电脑报介绍过Perl ,就去买了本((Perl编程24学时教程》。后来为了写更好的Exploit学了 C语言。再后来,为了各种研究读各种RFC、调各种程序、读各种代码、试各种工具,等等。干这行,你永远不知道未来需要会什么。所以什么都可以不会,但不能料会

                                           ——Tomkeeper

4

能不能推荐一些入门资料呢?

推荐去看雪论坛:http://bbs.pediv.com/ 

比论坛本身更有价值的是他的精华合集KSSD: http://www.pediy.com/ kssd/ 

如果你对某一方面感兴趣,推荐把这一子目录下的文章撸完一遍。

5

上面那些东西已经不能满足我了,我应该怎么进阶呢?

      首先可以关注下安全圈内的动态,来获取下新鲜的资讯。 微博就是一个很好的途径: 可以关注乌云知识库 、武实验室、云舒 、FreeBuf、黒哥 。

       然后就是乌云知识库、也可以看下FreeBuf。其实我认为看网上的文章远不如看书,书上的知识是成系统的,往往能够讲清楚前因后果。当然, 如果是比较新的内容那么书就不管用了,但是对于初学者来说书是完全足 够解答疑问的。 

       重要的是学习能力和动手能力,如果是做漏洞方面的话可以多调调 POC,我最近也在调一些漏洞,如果有对漏洞感兴趣的小伙伴欢迎联系我,我们可以一起技(p>术(丫>交(Jiao)流(yi>



0xmuhe:关于逆向入坑

逆向是啥玩意啊?这个咋入门啊?
逆向是啥玩意啊?这个咋入门啊?

1


基础:

  1. 编程(C语言)

  2. 汇编语言

  3. PE/ELF文件结构

2

资料:

  1. 《加密与解密》

  2. 《逆向工程核心原理》

  3. 《汇编语言》《intel汇编语言程序设计》(看得懂汇编即可,开始要求不高)


3


工具

  1. OllyDbg(关于这个工具,看雪论坛的安于此生翻译了一个系列,很不错)

  2. x64dbg(开源调试器,支持x86,x64) 

  3. IDA 4. gdb(Linux下调试可以使用,配合peda或者gef插件效果更佳)


4


网站推荐:

  1. 学习的网站:看雪论坛 吾爱破解 tust4you KSSD

  2. 开始学习可以找一些crackme练习 crackme.de reversing.kr


5

其他:

  • Q: 我的汇编要学到什么程度啊?

  • A: 开始看得懂汇编代码就好了,到后面你自己会慢慢摸索的。

  • Q:那我的学习顺序呢?

  • A:我个人的主张是,需要什么的时候再去搞什么。如果你一路按所谓的顺序学下去,早晚你的热情要耗光的。

一定要多动手实践!多动手实践!多动手实践!

6

6


学习过程:

       相比web方向而言,逆向的入门门槛的确高些,所需要的基础知识略多。这里分享一些经历,希望可以让学 弟学妹们少走点弯路。首先,基本功真的很重要。扎实的基本功能决定你以后可以走多远。基本功有哪些 呢?上面我们提到的编程和汇编就是其中的一部分,还有对系统的一些机制的了解,也会对你的学习有所帮 助。我在知乎上看到过关于逆向学习的一个回答,答主说:++那些人肉逆向机无外乎都是基本功十分扎实 的,编程能力好,熟练掌握操作系统相关的知识。然而对于刚要入坑的人来说,操作系统什么的难度是很 大,所以这个可以稍往后放放,先学习编程,在这个过程中你可以了解到一些基本的操作系统的机制;建议 从Win平台幵始学习,多动手就好。其次,对于二进制方向,漏洞挖掘/利用这个部分也很有意思,相对应的 是CTF比赛中的pwn类型的题目。这类要求你审计出程序中的漏洞,然后写出利用代码(exp)。然而这个对基础的要求很高,比如程序编译链接的过程,系统堆分配的机制,系统怎么处理不同大小的堆块等。很多地方 都可以衍生出巧妙地漏洞利用姿势。不论是学习什么技术,都不能浮躁,二进制前期是枯燥点,学习曲线不太好,而且出成绩需要一定的时间,这个时候不要怀疑自己,踏踏实实学习就好了。

      分享一个真事:一天, 有人问LateRain学长:学长,汇编怎么挖漏洞啊?他得到的回答是:学弟,你会写代码吗? 所以不论是web还是二进制, 编程能力都是必须的,试问,你了解开发的相关知识,怎么去做逆向分析呢?比如现在一些开发模式框架,如果不做一些了解,在做逆向分析的时候就会很吃亏。同样的,十个人写一个功能,可能一半的人写法都一样,如果你要挖掘这个功能模块的漏洞,是不是需要了解开发相关的知识呢?所以,实践出真知。 

        最后,希望看到我文章的学弟学妹们都能在逆向这条路上披荆斩棘!奋勇前行!


逆向是啥玩意啊?这个咋入门啊?

   好的啦,以上就是逆向入门的的全部分享啦~

   赶紧点赞评论关注吧~

   最后,祝大家中秋节快乐呀~

   我们改天再见啦~

逆向是啥玩意啊?这个咋入门啊?




原文始发于微信公众号(三叶草小组Syclover):逆向是啥玩意啊?这个咋入门啊?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月25日04:42:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   逆向是啥玩意啊?这个咋入门啊?http://cn-sec.com/archives/948453.html

发表评论

匿名网友 填写信息