Github标星95K+超火的从零基础到精通的二进制安全学习路线(附教程)

Github标星95K+超火的从零基础到精通的二进制安全学习路线(附教程)

​写在开篇

本人曾经就职过微软、NEXON、趋势科技等国内外著名的安全公司,目前就职于国内大型网络安全研究院。精通 Windows/Android 内核分析和 X86/X64/ARM 平台逆向。对反病毒、APT 攻击、物理渗透、游戏反外挂、黑灰产、车联网、司法鉴定、流量溯源有深入的研究和实际的产出,网络安全项目经验非常丰富。

什么是二进制安全

在很久以前安全圈并没有把安全技术做出一个特别清晰的分类。在大部分人眼里,所谓的黑客,安全研究者指的就是研究渗透入侵一类的技术的从业者,并不知道什么是逆向工程或者说二进制安全。提起逆向工程也许还有人可以联想到软件破解,如果提起的是二进制安全,那么知道的人就真的是寥寥无几了。

实际上二进制安全技术在20世纪90年代就已经有了一小群先驱者在研究。时至今日二进制安全以及发展出了完整清晰的体系,并且有大量的爱好者希望学习这门技术。虽然市面上已经有了许多的经典书籍可以让二进制安全爱好者们来学习。但是似乎没有人提出一条清晰有效的学习路线,避免初学者误入歧途。这也就是这篇文章诞生的目的。

本文可能没有那么多的“技术干货”。只是为了给初学者明确为什么要学习Windows下的二进制安全,学习之后可以做些什么,又到底应该如何学习,从基础到深入,都应该做些什么。

《黑客&网络安全入门&进阶学习资源包》分享 (qq.com)

为什么学习,学习后可以做些什么?

首先提出一个问题,不知道大家有没有碰到过在写代码中遇到过以下这样的问题:

1. 明明看起来代码写的毫无问题,但是却在main函数之前就已经报错。

2. 碰到一款好的软件,但是广告太烦无法关闭。

3. 你想知道一款软件的功能是如何实现的,却苦于没有源代码。

4. 软件出现崩溃,想要找到原因却无从下手。

5. 电脑中了病毒,杀毒软件却无法查杀。

6. 刚刚发布的产品,马上就被人破解了。

上面只是提出一部分常见的问题。在学习二进制安全后你可以这样解决以上的问题。

(1). 因为二进制安全需要深入理解计算机的运行机制,操作系统原理。所以碰到此类问题,你可以很快定位到错误位置,为你的编码工作提供强有力的支撑。

(2). 碰到这类软件的时候,你可以通过逆向工程的方式,将其中的广告页面替换,甚至直接将弹出广告的函数直接ret或用nop填充掉。还给自己一个清静没有广告的办公环境。

(3). 当你想知道这个功能如何实现的时候,你既可以静态分析其函数的实现逻辑,也可以动态跟踪它的数据流向,从而完整了解该功能是如何实现的。

(4). 当软件崩溃是不是无从下手,但是学了二进制安全之后你可以使用调试器接管异常,去发掘漏洞产生的位置,定位到模块或者函数的某一条语句。然后提供给厂商修复或者自己二次开发使用补丁修复漏洞。

(5). 当中了杀软无法识别的病毒是不是很恐慌,学习了二进制安全后就可以直接手动分析病毒做了些什么,并且将其执行的操作逆转,拯救中毒的计算机操作系统。

(6). 刚刚发布的软件马上就被别人破解了,没有收入了。是不是很郁闷,当学习了二进制安全后,你可以对你的软件加混淆、加花指令、加反调试、加代码虚拟化等等手段,让破解者的破解成本增加到无法承受,从而放弃破解。

学习后可以从事什么样的职业

上面说的都是日常中的问题,那么如果我们要走专业路线,我们有什么样的职业可以选择呢,下面我们来详细了解一下。

1. 逆向工程师

大部分的逆向工程师都是在进行竞品分析,所谓的竞品分析就是分析同行的软件,看看有什么东西是比自己好的,加到自己的产品中。还有一部分逆向工程师是配合研发工程师进行项目攻关,解决疑难问题的。

2. 恶意代码分析工程师

恶意代码分析工程师也可以成为病毒分析师,主要服务于乙方安全公司、各大监管单位以及政府部门。负责对病毒进行快速分析或详细分析。目的主要是发报告为单位获取知名度或者为自家单位的恶意代码引擎提供规则。

近年来有一种新的概念叫APT,是类似于特工情报组织所研发出针对指定敏感行业,例如能源化工,亦或者政府机关的攻击载体。特点是长期潜伏,密集踩点。对目标系统内部极为了解,有针对性的窃取情报。有部分恶意代码分析工程师就是负责追踪此类组织的攻击轨迹,分析同源性等相关工作。

3. 漏洞分析工程师

漏洞分析工程师主要负责针对已有漏洞进行分析,并且产出报告或者规则。职业权能与恶意代码分析工程师类似,但是更专注于漏洞类型的样本分析。不过近年来恶意代码也多带有漏洞传播。例如大名鼎鼎的永恒之蓝漏洞,就催生出了一大批勒索软件。所以如今的漏洞分析工程师,也多兼任恶意代码分析工程师的职能。

4. 漏洞挖掘工程师

漏洞挖掘工程师与漏洞分析工程师的不同之处在于漏洞挖掘工程师的主要工作内容为通过模糊测试等手段对软件、驱动或操作系统进行未知的漏洞发掘工作。此类工程师有可能是对自家产品进行检测,负责的是模拟攻击者对产品的安全性进行检测。也有可能是对第三方厂商进行漏洞挖掘,并且将漏洞提交给厂商或SRC等平台。目的可能是提升企业知名度也可能是满足监管单位对其的要求。

5. 游戏安全工程师

游戏安全工程师也称为反外挂工程师,顾名思义就是与游戏外挂做对抗的专业人士。目前大部分的反外挂手段都集中在R0层,也就是使用驱动作为对抗手段。因为R3层的反调试手段已经很难阻止越来越猖獗的外挂作者了。并且现如今的外挂作者也由最初的业余玩家变成了如今的专业人士。导致外挂与反外挂的对抗手段越来越趋近底层,据我所知目前外挂作者中的顶级高手已经在VT层进行反反外挂工作了。利用虚拟化手段重建调试体系。所以游戏安全工程师的任务依然很艰巨。

6. 安全研发工程师

安全研发工程师主要集中在各大乙方单位,例如负责杀软、恶意代码检测引擎、沙箱、蜜罐、扫描器、调试器等安全工具或安全产品的开发工作的研发人员。都是安全研发工程师。此类工程师一般多为具有安全背景的研发者,区别于普通研发者的地方在于他们更加了解安全,可以实现一切特殊的功能以满足安全产品的需要。


如何学习二进制安全

上面我们已经讨论过了为什么要学,学了可以做什么。学完可以从事什么样的职业。那么接下来我们要讨论的就是如何学习。当初学者兴致勃勃的准备开始学习的时候会发现,虽然书籍众多,却无从下手。一个不小心还会误入歧途,成为一个只懂得是什么,却不懂得为什么的庸人。接下来我们要做的就是,缕清这条线,让其清晰明了。

首先,我们作为二进制研发人员必须要懂的语言有三门半,为什么说是三门半呢,因为这四门语言是C、C++、Python以及汇编。C和C++属于一脉相承因此只算一门半语言,因为这两门语言的学习是连续的,不需要像学习Python或汇编一样重新学习语法结构。那么接下来我来说明一下为什么要学习这三门半语言。首先是C和C++,先不说开发杀毒引擎或者其他大型工程,仅仅有一点最为实际。那就是IDA pro所翻译出的伪代码是C语言格式的。另外在以后漏洞的学习中,除了汇编语言,C和C++是开发shellcode最为高效的语言。而且相比于汇编也更容易理解。并且也许我们想招写一些具有特殊功能的小玩意,比如远(病)控(毒)软(木)件(马),C和C++也一定是你最优秀的选择。或者我们需要写一些驱动代码,比如实现一个类似于火绒剑的监控软件,毕竟,你总不能去用易语言开发吧。现在的系统也不兼容啊对不对。

那么介绍完C和C++的用处,接下来说明下Python的作用。其实Python就像是一个万能胶水,哪里有用粘哪里。它可以辅助我们快捷的开发一些辅助分析工具或者Exploit。也可以充当解放双手释放劳动力解决重复操作的机器人。总之,Python除了性能感人,其他都不会让你失望的。最后说明一下汇编语言的作用。其实这是最不用解释的了。毕竟,动态分析中没有任何一款工具可以把代码还原成伪代码执行,我们分析过程中所接触的全都是汇编代码。

学习路线

第一章:C语言

C 语言开篇
数据类型
C 语言输入和输出
运算符和表达式
流程控制
数组
函数
C 语言预处理
指针
复合数据类型
C 程序的组成


第二章:C++

C++概述
C++对 C 的拓展
类和对象
继承
多态
异常
泛型编程
强制类型转换


第三章:汇编

为什么要学习汇编
计算机语言发展历史
编程语言分类
机器语言
汇编语言
寄存器的概念
字的存储
物理地址与段地址
CS 和 IP
DOS 的安装与使用
段的分类
一个源程序从写出到执行的过程
源程序
编译
连接
程序执行过程的跟踪
数据传输指令
算术运算指令
位运算指令
串操作指令
控制转移指令
处理机控制指令及伪指令


第四章:逆向

汇编与 C 的关系
从逆向角度看 C++
动态调试基础
IDA 动静分析基础
PE 文件结构基础
Windows 系统安全基础
脚本类恶意程序的快速分析技巧
PE 类恶意程序的快速分析技巧 (DLL 篇)
PE 类恶意程序的快速分析技巧 (EXE 篇)

APT 攻击链恶意样本分析
勒索病毒类型快速分析
白+黑类型样本快速分析
恶意软件脱壳基础
恶意样本加壳基础
游戏反外挂基础
游戏加密协议基础
游戏功能函数分析

外服 CABAL 脱机辅助开发原理
nProtect Game Guard 漏洞分析
游戏检测绕过与防护
游戏插件开发原理与查杀
游戏截包工具开发基础
游戏资源文件解密
MIR 4 区块链游戏的对抗方式
游戏资源文件解密
流量溯源的信息探索
流量溯源的溯源画像模板
流量中攻击链的形成
流量中攻击链的基础溯源

社交网络部署蜜罐进行溯源分析
从逆向维度溯源扫描器框架
从逆向维度挖掘线索中的价值
暗藏在钓鱼邮件背后的流量攻击
C&C 通讯模块的溯源分析 DDOS 溯源分析
DDOS 攻击流量中域名溯源分析
DDOS 攻击流量中关键 ServerConnectClishell 函数分析
DDOS 攻击流量中关键 DNS 解密函数分析

恶意流量之完整的精准溯源流程
恶意流量之开源 C&C 平台源码分析
恶意流量之完整的精准溯源流程
羊毛党的世界
羊毛党的黑产分析
恶意流量之检测 C&CR AT 通讯流量
恶意流量之源码 ghost 通讯协议分析
SIM token 合约代码自动化薄羊毛攻击还原
区块链 token 的自动化薄羊毛攻击分析
风控模式下的对抗薅羊毛各种方式
薅羊毛 App 软件以及功能分类
薄羊毛 APP 软件功能分析
羊毛灰色产业链结构
薅羊毛之群控的原理


第五章:免杀

从思维角度上改变免杀的认识
安全软件分析思维导向
从源码角度解决 RAT 免杀问题
渗透过程中白+黑利用方式
开发高级版 shellcode 加载器
改壳免杀高级技巧
高级免杀壳开发原理
从源码角度加密输入表
打造自己独立的红蓝对抗 RAT 后门 shell
巧过 360 全家桶方法
迷你方式过卡巴全家桶
冲锋方式过管家系列
免杀 office 相关 APT 组合
奇淫技巧之主动防御绕过
偷梁换柱之奇怪的免杀方法
云沙盘绕过方法



需要完整版的铁子可以看文末名片

至此,我们的安全学习就已经踏上了正轨,需要在工作中不断精进,不断成长

代做工资流水公司工资代付流水开具上饶代办对公流水常州办理自存流水遵义做企业银行流水郑州代做对公流水威海企业对公流水打印廊坊代开公司流水西安制作银行流水账北京房贷工资流水 模板成都代办背调工资流水汕头查询工资证明海口开薪资流水单石家庄打印工资流水账单廊坊消费贷流水代做太原打印银行流水单九江收入证明报价衡阳背调工资流水多少钱厦门代办房贷收入证明南京自存流水图片常州办背调工资流水兰州转账流水代做潍坊流水单潮州自存流水样本荆州贷款工资流水 查询温州办签证工资流水宁德开工资流水app截图成都收入证明图片温州贷款银行流水多少钱株洲银行流水电子版样本嘉兴银行流水修改制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化