C语言基础班网络安全高级课全栈软件安全精英课
1
介绍

    软件安全精英课是15PB推出的旗舰课程,主要面向对黑客技术或信息安全有兴趣、有追求的,或是从事前端安全想深入了解底层安全的精英群体。这部分群体对自己的人生有明确规划,且做事追求极致,并求甚解,乐于学习、勇于挑战自己且时刻关注自己的核心竞争力。基于此,15PB经过4年的积淀,对以前“恶意代码分析”、“软件漏洞挖掘”、“系统内核安全”三门课程的合并与熔炼,精炼出了这个课程。

    软件安全精英课除了包含C、C++、Python、Java等目前主流计算机语言外,而且还深度涵盖了目前底层安全的绝大部分内容,包括调试与反调试、软件逆向工程、加壳与脱壳、系统内核安全、移动安全等诸多领域的诸多内容,使得学生能在15PB精英班的历练中得到极大地提高,至少为学生节省30,000小时的自学时间。

    在15PB软件安全精英班毕业的学生理论上可以从事目前计算机领域中的大多数岗位,从基础的Java程序员、游戏开发人员,到中级的企业级C/C++工程师,再到真正与咱们15PB对口的软件竞品分析师、软件逆向工程师、二进制代码审核工程师、恶意代码分析工程师、高新技术研发工程师等等。


2
讲师

任晓珲 (教学经理,擅长软件安全、软件逆向方向,主讲部分基础课及软件漏洞挖掘专题)

网名A1Pass,信息安全专家,15PB联合创始人,关注信息安全近15年,黑客圈子名人,机械工业出版社信息安全大系特约技术顾问,信息安全专家、课程设计专家和教师培训专家,中国信息安全教育集训的开创者。高中在国内发行量最大的信息安全刊物上发表技术文章20余篇,大学二年级出版第一本著作《黑客免杀入门》,大学三年级开始写作《黑客免杀攻防》,并于毕业后两年由机械工业出版社出版,在京东等各大电商信息安全类畅销榜雄踞前五长达三个月,15PB联合创始人。并为多本信息安全专著撰写评语,期间研究过基于MD5碰撞的恶意软件与正常软件的可执行文件融合技术。


薛亮亮 (教学主管,擅长移动安全、软件逆向方向,主讲部分基础课及软件逆向、病毒分析、移动安全等专题)

网名Lantie,信息安全专家,15PB联合创始人,关注信息安全近10年,曾参与过搜狐畅游的反外挂项目以及国家某部门的取证软件项目。同时,薛老师也是课程设计专家和教师培训专家,在15PB独立主导了移动安全近500课时课程的独立研发,并攻克了绝大多数最新的APP加密保护技术。在2016年参与编写了中国软件安全界圣经《加密与解密4》的部分内容。薛老师拥有丰富的教学经验及专业知识,其教学及辅导在15PB独树一帜,广受学生们的好评。


高延龙 (金牌讲师,擅长内核安全、安全编程方向,主讲部分基础课程及加壳脱壳、内核编程等专题)

网名GLSoullinker,信息安全专家,15PB联合创始人,关注信息安全近5年,高老师专业知识扎实,基础牢固,对于C/C++的理解极为透彻精准,具有丰富的理论知识及实操经验。同时,高老师也是课程设计专家和教师培训专家,在15PB独立主导了内核安全约200课时课程的独立研发,并攻克了硬件虚拟化、驱动强制签名等教学课题,并于2016年接受腾讯记者专访,阐述了对于信息安全教育领域的独特观点。


韦侃忠 (讲师,擅长安全编程、技术研发方向,主讲大部分基础课)

网名Mieno,信息安全专家,韦老师专业知识扎实,基础牢固,知识面很广且有深度,是一个不可多得的技术杂家。同时,韦老师也是课程设计专家,在15PB独立主导了QT编程模块的约近30课时课程的独立研发。韦老师授课思路清晰,讲解风趣,深受同学们的喜爱。


李家恒 (讲师,主讲部分基础课)

网名NinCat,信息安全专家,李老师专业知识扎实,基础牢固,尤其擅长复杂逻辑问题的处理,且授课有结构性,思路明确,深受同学们的喜爱。


杨海军 (讲师,主讲部分基础课)

网名.CME,信息安全专家,关注信息安全近4年,杨老师专业知识扎实,知识掌握全面,对于Windows、Linux、Android均有较为深入的研究。

3
目录

(课程总计1024课时)

1. 指引篇  328课时(预计两个月)

    此阶段主要侧重于培养学员发现问题的能力,并对各大平台各个操作系统有一个整体性认知,迅速建立起较高的计算机素养,并形成对于信息安全核心思想的初步探索及认知,为后续专项课程的学习建立起全局高度,以达到有的放矢的目的。

 > C++基础............40课时(将零基础学生带入计算机语言的奇妙世界,此部分主要偏向于编程思想与基础语法)

 > C++提高............40课时(进一步的研究指针、动态内存等基础概念,进而引出面向对象的编程概念)

 > 数据结构...........40课时(通过对于一些基础数据结构的介绍,进而加强前面所学内容的扎实程度)

 > 项目实战...........40课时(由老师指导各位同学,以自己的能力编写坦克大战游戏,要求具有简单的人工智能)

 > Python.............24课时(快速了解并入门Python这门语言)

 > 密码学.............16课时(使用Python带领同学们探寻各种经典密码的具体实现逻辑与使用原理)

 > 协议分析...........24课时(网络协议精讲,网络嗅探演示,阻塞与非阻塞模式、Select/WSAAsyncSelect等网络编程模型等)

 > 数据库编程.........16课时(范式理论与模型、MySQL的各种操作及使用、SQL语句)

 > 阶段项目...........40课时(加密版即时通讯,要求服务端运行在Linux下,用C++编写,客户端运行在Win下,用Python编写)

 > 考试及项目讲解......8课时(对学员此阶段所学习的各项基础知识的学习效果进行考核,未能通过考核需强制重修)

 > 汇编语言...........32课时(介绍16位/32位/64位汇编、Intel的OPCode规则、以及一些二进制代码直接利用等特殊技巧)

 > 软件逆向入门........8课时(掌握最基本的main函数寻找、调用模式及选择分支的逆向技能)

 > 汇编语言项目........0课时(课下作业,用32位汇编写一个简单的电话号码薄)

本阶段产出项目控制台版的电话号码本、贪食蛇游戏、具有一定人工智能的坦克大战游戏、一个跨平台版的聊天室。


2. 升华篇  248课时(预计两个月)

    此阶段则主要培养学员的解决问题的能力,并让学员建立起一套Windows下编程的知识框架,从而使得学员能成为一名优秀的软件工程师。在此基础上,我们将带领同学们开始学习分析恶意代码的所有技巧及手段,最后通过PE文件与核心编程的详细学习使得同学们的技术得以升华。

 > Windows编程原理....40课时(打开文件、读写文件等文件操作,文件目录管理、图形界面程序开发)

 > Windows界面编程....40课时(MFC框架、GDI编程、动态链接库等)

 > Windows原理基础....40课时(通过PE文件学习Windows系统的基本原理,包括PE文件的装载过程、Dump内存中映像等特殊知识)

 > PE编辑器项目........0课时(课下作业,仿照LoadPE写一个自己的PE Editer)

 > 安全卫士项目.......40课时(实现一个带内存优化释放、云查杀、进程管理、软件管理、垃圾清理等功能的安全卫士)

 > Windows原理提高....32课时(错误处理及内核对象等核心机制、UAC编程、线程调度及线程内幕、堆遍历、调试及反调式的博弈

 > 病毒高级行为........8课时(了解Rootkit、Bootkit级别病毒、硬件病毒的触发及生存原理,除此之外还会介绍MBR的详细结构)

 > 阶段项目...........40课时(仿照OllyDBG界面编写一个调试器,可以下硬件、软件、内存断点,可以解析API名称及PDB文件)

 > 考试及项目讲解......8课时(对学员此阶段所学习的各项基础知识的学习效果进行考核,未能通过考核需强制重修)

本阶段产出项目:音乐播放器,堆分布查看器,远程注入工具,内存优化工具,多功能任务管理器,具有云查杀功能的杀毒软件,PE文件解析器,OllyDBG2.x的反反调试插件,具有OllyDBG界面的调试器。

 

3. 安全篇  448课时(预计约三个月)

    到最后的安全专项阶段,会将重点放在软件安全方向的基础知识上,这里将涉及到逆向、PE文件Diy、壳的编写、Rootkit等众多软件安全领域中的高含金量课程,从而为学员建立起软件安全领域的整体知识框架,为后续的学员自学精进夯实基础。

 > 内核编程..........40课时(内存分页机制、各种关键描述符及控制寄存器、常用内核编程基础等)

 > 病毒分析技术......40课时(通过使用常见的反病毒工具对病毒进行最基本的剖析,并能深入分析简单病毒的具体实现细节)

 > 软件逆向工程......40课时(动态调试技/静态调试技术、逆向分析技术、调试及反调试技术等)

 > 软件漏洞挖掘......40课时(从头开始了解Shellcode编写技术以及各种处理技巧等,并学习使用Mona2快速重现一个CVE关键点的技术)

 > 脱壳与加壳........40课时(讲述各种脱壳技巧,及壳的编写思路、并讲解怎样用纯C++实现一个壳框架)

 > 加密壳项目........40课时(用C++编写一个加密壳,要求不能用汇编语言)

 > Linux软件安全.....40课时(从头开始了解Linux下的软件安全技术,为Android安全打好基础)

 > 安卓开发与实践....40课时(带领学生快速了解Android四大组件,并学习Android的SDK/NDK编程)

 > 安卓逆向入门......40课时(先学习安卓下的游戏破解及病毒分析,然后学习Android Hook框架的使用,最后学习DEX/ELF文件格式)

 > 安卓项目..........40课时(开发一个带界面的APK解析工具)

 > 总复习............24课时(对学员此阶段所学习的各项基础知识的学习效果进行考核,未能通过考核需强制重修)

 > 考试及项目讲解....16课时(对学员此阶段所学习的各项基础知识的学习效果进行考核,未能通过考核需强制重修)

 > 毕业设计...........8课时(课后练习,实现一个简单的Anti Rootkit)

本阶段产出项目:用C++写的压缩壳,辅助脱壳(Dump)工具,自定制的Shellcode代码,APK解析工具,驱动加载与测试工具,具备有基本功能的ARK。