我的逆向学习之路

目录

逆向学习

第一阶段——基础语法

第二阶段——开发阶段

第三阶段——逆向阶段

第四阶段——Andriod逆向

游戏开发


最近正在学习逆向编程,但感觉学的很杂,没有章法,学习的游戏外挂编写既不懂得原理,遇到新的游戏有时候也会无从下手。

为了能够全面的提升自己,我决定给我自己划定一条既定的路线,循序渐进,游戏开发和正向学习齐头并进,如果还有精力就学习一下操作系统,这一块非常有用,例如线程和进程的实现,网络套接字在底层的实现,并在CSDN上分享自己的学习过程与心得。

如果有更好的教程欢迎推荐!

逆向学习

逆向的能力与正向息息相关。

这里我参考科锐的学习路线,再寻找相关的资料辅助学习。

 我的逆向学习之路_第1张图片

第一阶段——基础语法

 "勿在浮沙筑高台"。在初级阶段我们有的放矢地给学员教授必须掌握的基本知识。在以后的阶段中,学员会发现后面的知识其实就是第一阶段知识的变化和利用,所以非常重要,不可不学。

课程一 计算机基础
课程二 C语言程序设计
课程三 阶段项目
学校信息管理系统.每个学生必须独立完成对学生信息的增删改查,以及对学生成绩的维护.
课程四 C++语言程序设计
课程五 数据结构
课程六 阶段项目
C++完成数据库引擎仿真.
面向对象的思想设计,内外存中合理的数据表示,大规模数据的高效操作。在项目中不允许使用STL, 和其他任何三方代码。
课程七 考试和讲解

这一个阶段,之前打CSP和NOIP已经麻了,应该没有什么问题。

第二阶段——开发阶段

  该阶段重点介绍了VC开发环境、Win32程序设计和MFC/QT的体系结构. 首先我们来了解一下数据库的基础知识,在学习过程中我们以SQL Server为载体去了解数据的管理和数据关系的建模。注意了,数据关系是重点,在以后对Windows的学习中,你会发现,在Windows内部的各种数据表隐含了对各种数据关系的处理,理解了数据关系建模的思想后,在下面的学习过程中你就会时常找到“顿悟”的感觉。通过MFC/QT入手Windows程序框架设计,掌握MFC/QT的基本使用,熟悉Windows的消息驱动机制;然后就有必要去了解一下微软的COM技术,我们从C++一步步发展到COM,先教大家不依赖ATL去手工实现一个COM,而且能成功在其他开发平台(如VB)上工作,了解原理后就可以很得心应手地使用ATL为我们搭建的COM程序框架;最后带领大家了解微软最新推出的VS。

课程一 SDK编程
课程二 MFC/QT程序设计
课程三 windows编程/网络编程
课程四 SQL Server数据库
课程五 COM原理
课程六 阶段项目使用MFC/QT和socket知识,设计实现三层架构的管理系统.
(1). 要求:三层结构,UDP模拟TCP(后发先至,出错重发,校验和),行级粒度多端缓存设计,线程池设计,连接池设计.
(2). 设计一个简单CAD,完成图形绘制,图元选取,图元设置,移动旋转,文件保存读取,图元自定义, 撤消重做.
以上项目鼓励使用STL, 可以使用第三方UI类库.
学校信息管理系统不允许使用第三方中间件。
CAD系统不允许使用第三方产品的二次开发接口。

SDK编程/MFC编程

VC驿站《C/C++ Windows 程序设计》_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Bb411e7av?spm_id_from=333.999.0.0【SDK开发】《Windows程序设计》_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1us411A7UE?spm_id_from=333.999.0.0其实这里我认为孙鑫老师的VC++应该是最好的教程,只是个人感觉较为枯燥。

【MFC】孙鑫C++讲解MFC 高清画质_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Ht41157vk?from=search&seid=11627455959087400852&spm_id_from=333.337.0.0

QT程序设计

2021版QT图形框架编程开发(层层到肉)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Wf4y1Y7uh?from=search&seid=14998210582123787087&spm_id_from=333.337.0.0黑马程序员Qt(第一部分)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1XW411x7NU?from=search&seid=14998210582123787087&spm_id_from=333.337.0.0

Qt 快速入门系列教程 · Qt 快速入门系列教程 (jb51.net)http://shouce.jb51.net/qt-beginning/

Windows编程/网络编程

并发网络通信-套接字通信(C/C++ 多线程)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1F64y1U7A2?from=search&seid=16036748219326179985&spm_id_from=333.337.0.0

SQL:这个我没有学,但是可以看看别的大佬的文章

(60条消息) 肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!_川川菜鸟的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/weixin_46211269/article/details/119814777?utm_source=app&app_version=4.13.0&code=app_1562916241&uLinkId=usr1mkqgl919blenCOM原理

这个东西全网找不到什么资料,孙鑫老师的VC++里有讲这部分的内容。

COM的最核心的思想,说白了就是要做个跨语言的 “class” “object” “function” 。

COM本质论 中文 高清 pdf-精品电子书籍-【资源共享】-VC驿站 (cctry.com)icon-default.png?t=M3K6https://www.cctry.com/forum.php?mod=viewthread&tid=207&highlight=com

第三阶段——逆向阶段

软件开发的能力一看设计能力,二看调试水平。一般来说大师级的程序员,对软件逆向分析技术都有很深入的理解,在他们编写高级语言代码的时候,在心里同时浮现出对应的汇编代码,在他们写程序的时候很了解自己的产品真正的模样,达到了人机合一之境界,所以在调试Bug的时候显得游刃有余。逆向技术也重在代码的调试和分析,如果你本来就是个不错的程序员,而且又掌握了前面两个阶段的知识,那么这个阶段就是对“内功心法”的锻炼了, 对本阶段的学习绝对可以让你彻底了解C/C++特性的底层机制,深入学习MFC/QT的体系结构,做到知其然而知其所以然。本章以C/C++语法为导向,以VC++6.0为例,解析每个C/C++知识点的汇编表现形式,整理其反汇编代码,体现其流程脉络。照此精修,可望到达看反汇编代码如同看武侠小说之境界。本阶段重在方法,授人以渔,不重剑招,但重剑意。

课程一 16位汇编程序设计/win32汇编程序设计
课程二 PE文件格式/调试器
课程三 完成控制台下的调试器工具
实现文件加载,分析PE信息,将包含代码的节内容反汇编显示出来。
运用进程调试知识,显示目标程序所运行的指令序列,并解析显示指令信息中对应API名称。
实现INT3断点、多内存断点、硬件断点等功能。
运行程序,并将执行代码断在程序入口处。
单步进入、单步步过、跳出当前所在函数
课程四 win32逆向
课程五 考试和讲解
课程六 X64汇编与逆向
课程七 深入MFC/QT框架结构
课程八 内核及驱动
课程九 shellcode/加壳与脱壳
课程十 毕业设计

 第三阶段我认为是一个相对自由的阶段,这个阶段应该是要靠大量的实例积累而来。

16位汇编程序设计/win32汇编程序设计

【Win32汇编】《Win32汇编语言程序设计》_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1os411c7Sh?spm_id_from=333.999.0.0

PE文件格式/调试器

【系统篇】《解密系列》_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1us411P7nL?from=search&seid=9399883226960751819&spm_id_from=333.337.0.0【调试篇】《解密系列》(OD使用教程)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1gs411P7A1?spm_id_from=333.999.0.0

(13条消息) 系统安全与恶意代码分析_杨秀璋的专栏-CSDN博客https://blog.csdn.net/eastmount/category_9193519.html

第四阶段——Andriod逆向

  紧跟时代潮流,聚焦移动安全,根据来自一线安全工作人员的反馈,设计并推出Android逆向课程。本课程重点培养Android逆向人才,从上层的软件开发到底层的软件运行原理,讲师会在课堂上敲写每一行示例代码,并详细讲解每个实例的原理和实现,完成课程的学员,会对Android软件整体架构了然于胸,分析Android程序,便如庖丁解牛般游刃有余,可以胜任病毒分析,间谍软件机原理分析,Android行为拦截等相关工作岗位。

(特别说明:由于很多学员学完前面三个阶段的课程后能够独立找到工作,所以第四阶段课程免费提供试听3天,3天后决定参与学习的,一旦交费后任何原因都不退学费,请大家慎重考虑清楚后再交费。)

课程一 Android java开发
课程二 NDK C/C++编程
课程三 Android开发设计项目
课程四 Smali语法
课程五 ARM编程
课程六 ARM C/C++逆向
课程七 DEX文件格式
课程八 ELF文件格式
课程九 Android内核

游戏开发

我选择的引擎是Unity,个人认为还是要多实践。

选修计算机图形学。GAMES101: 现代计算机图形学入门 (ucsb.edu)

GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1X7411F744?from=search&seid=8095953789381642306&spm_id_from=333.337.0.0Unity 10分钟快速入门 #U3D #Unity3D_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PL4y1e7hy

OpenGL——理解底层的函数

最好的OpenGL教程之一_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1MJ411u7Bc?from=search&seid=12651086664220466310&spm_id_from=333.337.0.0LearnOpenGL-CNhttps://learnopengl-cn.readthedocs.io/zh/latest/

我的逆向学习之路_第2张图片

------------------持续更新中------------------ 

你可能感兴趣的:(解密系列,c语言)