- 注册时间
- 2013-11-5
- 最后登录
- 1970-1-1
该用户从未签到
|
***************************
讲师:DeBugGo老师
***************************
出处:http://www.debuggo.com/bbs/forum.php?mod=viewthread&tid=91
《零起步学精网游智辅》教程大纲
全套教程共分六章
初级篇:C++与Windows操作系统原理、逆向工程,专注基础学习。
中级篇:牛刀小试-实战、深度对抗-游戏的检测,专注实战技术。
高级篇:RootKit、修正写法,专注绝活技术从此无忧。
第一篇 C++与Windows操作系统原理
一.准备工作
1.Microsoft Visual C++及OllyDBG(赠送)
● OllyDBG的使用
2.静态分析工具IDA(赠送)
● IDA的安装
3.汇编快速入门(3课时)
● 认识汇编
● 在VS下查看汇编
● 相关的汇编指令(了解)
● 进制及进制的转换
● 二进制
● 八进制
● 十六进制
● 小尾方式
二.C++数据类型(使用VS查看汇编)
1.整数类型(1课时)
● 整数数据类型及打印
● 无符号整数
● 有符号整数
● 负数在内存中的存放形式(补码)
2. 浮点数类型(1课时)
● 浮点数据类型及打印
● 浮点寄存器
● “%f” 中的猫腻
● float类型的存放方式
● double类型的存放方式
● 浮点数指令(汇编)
3. 字符及字符串(2-3课时)
● 字符数据类型及打印
● 字符串及打印
● Unicode编码
● 字符及字符串的存放方式
4. 布尔类型(1课时)
● 布尔类型及if判断
● CMP语句(汇编)
● JXX语句
5. 指针、引用、地址(2课时)
● 指针和地址的区别
● 动态数组
● 指针的工作方式
● 引用与指针
6. 常量、const、#define(1课时)
● 常量数据的存放
● #define与const区别
7. 算术运算及赋值(3课时)
● 加法
● 常量传播
● 常量折叠
● 减法
● 乘法
● imul,mul(汇编)
● 除法
● 算术结果渗出
● 进位
● 渗出
● 自增和自减
7. 关系运算和逻辑运算(1课时)
● 条件跳转指令表
● 表达式短路
● 条件表达式
8.位运算(加密常用手段)(1课时)
9.编译器的优化原理(2课时)
● Debug和Release & Check和Free
● 优化手段
● 流水线优化
● 分支优化
● 高速缓存
三. C++流程控制语句
1. for循环(1课时)
● for循环的使用及注意事项
● for循环的嵌套使用
● for是如何实现的(汇编)
● for循环格式(汇编)
2. do循环(1课时)
● do循环的使用及注意事项
● do循环是如何实现的(汇编)
● do循环格式(汇编)
3.while循环(1课时)
● while循环的使用及注意事项
● while循环是如何实现的(汇编)
● while循环格式(汇编)
4.if-else判断分支(1课时)
● if-else…的使用
● 从汇编角度来看else与else if
5.switch-case判断分支(3课时)
● switch-case的使用
● 揭秘switch的真相
● 有序switch
● 无序switch
6. 编译器对循环结构的优化(1课时)
四.C++函数及类
1.main()函数(1课时)
● main函数揭秘
● SDK、API
2.函数(3课时)
● 栈
● 栈桢的形成和关闭
● 函数调用方式
● 局部变量及函数的参数及返回值(汇编)
● 复习
3.变量的作用域(2课时)
● 全局、局部、全局静态、局部静态变量
● 全局变量和局部变量的区别
● 静态变量
● 堆
4.类和结构体(10课时)
● 构建一个自己的类
● 对象
● 对象的内存布局(汇编)
● this指针
● thiscall
● __cdecl、__stdcall
● 构造函数和析构函数
● 是否真的每个类都有构造函数?
● 虚函数
● 虚函数实现的机制
● 继承
● 类和类之间的关系(重点)
● 多重继承
● 抽象类
五.数据结构及算法
1.数据结构概述(10课时)
● 数据结构分类
● 用户自定义数据
● 列表
● 查找算法
● 抽象查找算法
● 识别数据结构
● 数组
● 链表
● 树
六.实战阶段
1.CheckMe(1课时)
● 找出隐藏的密码
2.ShowMessageBox(1课时)
● 我的电脑我做主,MessageBox我来管
3.机器码 To C++(1课时)
● 还原代码
七.Windows编程
1.Win32程序运行原理(3课时)
● CPU的模式及Windows系统
● 内核对象
● 进程的创建
● 进程控制
● 游戏内存修改器的实现
2.线程编程(5课时)
● 多线程
● 线程同步
● 线程局部存储
● 自己的线程类
● 多线程文件搜索器
3.Windows文件操作(3课时)
● 文件操作
● 驱动器及目录
● 注册表
● 内存映射
● 文件切割器开发
4.动态链接库(DLL)及钩子(3课时)
● 动态链接库
● Windows钩子
● 挂钩API
5.TCP/IP网络通信(5课时)
● 网络基础知识
● 套接字
● 网络实例
● 拦截网络数据
● 实现网络拦截工具
第二篇 逆向工程
1.调试器的原理(1课时)
● 调试事件
● 软断点,硬件断点,内存断点
2.用C++实现一个简单的调试器(2课时)
● 以调试模式打开或附加一个进程
● 获取线程上下文,打印寄存器信息
● 响应调试事件
● 实现软断点
● 实现硬件断点
● 实现内存断点
● Python简介
● 使用Python来实现我们的调试器
3.他山之石可以攻玉(1课时)
● 处理断点
● 内存溢出异常处理
● 进程快照
4.Immunity Debugger(5课时)
● PyCommand命令
● PyHooks
● 绕过IsDebuggerPresent
● 隐藏自身
● 注入
5.X86、X64注入(2课时)
● 劫持注入
● 输入法注入
● ACP注入
● 挂起法注入
● x64下的注入
● IDA
6.IDA的7道题(3课时)
● 使用IDA源码级还原
● IDA偷取目标软件功能
第三篇 实战
1.牛刀小试
● 游戏智辅的原理及类型
● 外怪的实现思路
● 鼠标模拟
● 调用游戏内的call
● 模拟封包
2.鼠标模拟(1课时)
● 实战:美女来找茬
3.读取内存(1课时)
● 实战Q连连看秒杀
4.截取封包(15课时)
● 实战:某网游
● 功能扩展
● 辅助机器人
● 实现自动打怪喝药等
5.分析熊猫烧香(5课时)
第四篇 深度对抗-游戏的检测
1.封包加密(3课时)
● 找到明文包
● 自己实现软件的加密算法
● 模拟密文包
2.CRC校验(3课时)
● CRC校验的原理
● 停止CRC校验
● 绕过CRC校验
3.反反调试(10课时)
● 如何反调试
● 反反调试
第五篇 RootKit
1.内核编程(3课时)
2.未公开函数(2课时)
● 内核HOOK
3.保护模式(1课时)
● ring3进ring0
● 分页机制
● 直接访问硬件
4.隐身术(10课时)
● 文件隐藏
● 进程隐藏
● 注册表键值隐藏
● 驱动隐藏
● DLL隐藏
● DLL模块隐藏过IceSword
● 端口隐藏
5.驱动感染技术(5课时)
第六篇 修正写法
1.Call的调用(2课时)
● CallStack检测
● 调用合适的Call
2.辅助功能的扩展(30课时)偏正向
● 状态机
● 脚本
● 全自动
3.防破解(密)(3课时)
● ring3进ring0
● 分页机制
● 直接访问硬件
更多课时正在更新。。。。
DeBugGo官方论坛: http://www.debuggo.com/bbs/forum.php
寻幽谷合作推广论坛: http://www.xunyougu.com QQ:546259649 |
|