学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1171

主题

[转载视频] 郁金香VC++基础教程

 
发表于 2019-9-27 10:46:20 | 查看: 44914| 回复: 53
一、前言
1、 C,C++,VC之间的关系,VC环境的安装配置 ---第1课
    A.C,C++,VC之间的关系,VC环境的安装配置
1.2、我们的第一个程序(Hello World)代码详解.----第2课
    A.我们的第一个程序(Hello World)代码详解.
2.1、传统的C语言编译方式 ---第3课
A、用记事本手写代码
B、命令行编译生成EXE(Cl.EXE)
C、格式化输出函数printf
D、转义字符\n
E、main函数
2.2、VC集成环境编译方式 ---第4课
A、VC环境下创建项目工程
B、书写代码
C、Debug和Release
D、文件包含#include
二、C语言概论
1C/C++基本数据类型    ---第5课
1.1整型(int,short,long,unsigned)
A、整型常量(二进制,八进制十进制,十六进制)
B、整型变量(基本型,短整型,长整型,无符号型)
变量占用空间大小(字节)
变量所表示数的范围
C、sizeof操作符      
D、整数四则运算(+,-,*,/)及赋值(=)
1.2浮点型(实型)float,double ---第6课
    A、实型常量(十进制数形式,指数形式)
    B、实型变量(单精度型和双精度型)
    C、单精度与双精度区别
1.3、字符(char) ---第7课
    A、字符常量及特点
    B、转义字符(\n\t\v\b\r\f\\\'\ddd\xhh
    C、字符变量
    D、字符串常量
    E、符号常量
    F变量赋值和类型转换
    G、变量赋初值
    H、变量类型转换(自动转换,强制转换)
  1.4、基本运算符 ---第8课
      1、算术运算符(+,-,*,/,%,++,--)
      2、关系运算符(>,<,==,>=,<=,!=)
      3、逻辑运算符(&&,||,!)
      4、位操作运算符(&,|,~,^,<<,>>)
      5、赋值运算符(=,+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=)
1.5 基本运算符 ---第9课
      6、条件运算符(三目运算?:)
      7、逗号运算符(,)
      8、指针运算符(*,&)
      9、求字节数运算符(sizeof)
      10、特殊运算符(括号,下标,成员)
1.6 基本运算符 ---第10课
      11、运算符的优先级和结合性
      12、自增1(++),自减1(--)运算符
      13、算术表达式
      14、赋值运算符和赋值表达式
      15、复合赋值符及表达式(+=,-=,*=,%=,<<=,>>=,&=,^=,|=)
      16、逗号运算符
2、C语言程序设计   
   2.1、程序代码结构 ---第11课
     A、顺序结构
     B、分支结构
     C、循环结构
   2.2、C程序的语句  ---第12课
     A、表达式语句
     B、函数调用句
     C、控制语句(条件判断,循环执行,转向语句)
     D、复合语句
     E、语句
     E、赋值语句
     F.、数据输出语句(printf,putchar)
     G、数据输入语句(scanf,getchar)
2.3分支结构程序      ---第13课
      A.关系运算符和表达式
      B.逻辑运算符和表达式(与(&&),或(||),非(!))
      C.if语句的三种形式及注意事项
      D.if语句嵌套及注意事项
      E.条件运算符和表达式
      F.switch语句(开关语句)
3、数组   
   3.1、 数组元素表示方法   ---第14课
      A.元素的概念
      B.下标的概念
   3.2、二维数组            ---第15课
      A、二维数组元素表示方法
      B、二维数组的初始化
   3.3、字符数组(字符串)   ---第16课
     A、字符数组的定义
     B、字符数组的赋值
   3.4、字符串常用函数     ---第17课
      A、格式化字串sprintf
      B、puts屏幕显示字符串
      C、gets从键盘获取字串
      D、strcat字串连接函数
      E、strcmp字串比较函数
4、函数
  4.1 函数分类(库函数,自定义函数) ---第18课
      A.什么是库函数
  4.2 函数的定义                 ----第19课
      A、自定义函数
  4.2  函数的调用                ----第20课
      A.函数的嵌套调用
      B.函数的递归调用
  4.4 变量在函数中的作用域       ----第21课
     A、局部变量
     B、全局变量
     C、变量的静态存储与动态存储
     D、外部变量说明extern
     E. 静态变量 static
     F. 寄存器变量 register
     G 内部函数和外部函数
小结
5、指针
   5.1指针概念                  --- 第22课
     A、指针变量的类型说明
     B、指针变量的赋值
5.2、指针变量的运算           ---- 第23课
      A、赋值运算
      B、加减算术运算
      C、数组与指针的关系
      D、数组指针与指针数组
      E、二维数组与指针的关系
  5.3、函数与指针              ---- 第24课
   A、函数指针变量
   B、函数指针
   C、指针函数
6、结构与联合与枚举  
  6.1、使用结构体             ---- 第25课
   A、结构体的概念
   B、结构体的定义
   C、结构体的变量
   D、使用结构体
  6.3、结构数组               ---- 第26课
   A、结构体数组的定义
   B、结构体数组元素的引用
  6.4、结构指针变量           ---- 第27课
   A、指针对结构体变量的访问
   B、指向运算符
   C、指向结构体数组的指针的应用
  6.5、结构体与函数          ----- 第28课
   A、传递单个成员
   B、传递整个结构
   C、传递指向结构的指针
  6.6、联合的定义            ----- 第29课
   A、联合体又叫共用体
   B、联合变量的说明
   C、联合变量的赋值和使用
7、枚举,位运算
  7.1 、枚举                 ----- 第30课
   A、类型定义和枚举变量的说明
   B、枚举类型变量的赋值和使用
  7.2 、位运算               ----- 第31课
     A、&按位与
     B、 |按位或
     C、^按位异或
     D、~取反
     E、<<左移,>>左移
  7.4 位域(位段)             ------ 第32课
     A.位域的概念
     B.位域的使用
  7.5 类型定义符typedef      ------ 第33课
     A.typedef的使用
  8 预处理
   8.0  文件包含与宏定义      ------ 第34课
      A.#include  ""
      B.#include  <>
      C.#pragma
      E.无参数宏
      F.带参数宏


8.3、条件编译     --------- 第35课
      A.#indef,#else,#endif
      B.#ifndef,#else,#endif
      C.#if #else,#endif
三、VC内联汇编和常用汇编指令
1、数据传送指令   ----- 第36课
  MOV,MOVSX,MOVZX        
  PUSH,POP,PUSHA,POPA
  PUSHAD,POPAD
  XCHG,CMPXCHG
2、算术运算指令  ------第37课
  ADD,ADC,INC,SUB,DEC,NEC,CMP,MUL,IMUL,DIV,IDIV
  CBW,CWD,CWDE,CDQ
3、逻辑运算指令   ------第38课
  AND,OR,XOR,NOT,TEST,
  SHL,SAL,SHR,SAR,ROL,ROR,RCL,RCR
4、串指令    -----第39课
  A、
   MOVS,MOVSB,MOVSW,MOVSD
   CMPS,MOVSB,MOVSW
   SCAS,
   LODS,LODSB,LODSW,LODSD
   STOS,
   REP,REPE/REPZ,REPNE/REPNZ,REPC,REPNC
  B、纯ASM汇编演示以上指令
5、条件转移指令第一部分   ----第40课
1、无条件转移指令 (长转移)
   JMP 无条件转移指令
   CALL 过程调用
   RET/RETF过程返回.
2、条件转移指令 (短转移)
   标志位
3.条件转移指令第二部分    ----第41课
A、
  JA/JNBE 不小于或不等于时转移.
  JAE/JNB 大于或等于转移.
  JB/JNAE 小于转移.
  JBE/JNA 小于或等于转移.
B、
  JG/JNLE 大于转移.
  JGE/JNL 大于或等于转移.
  JL/JNGE 小于转移.
  JLE/JNG 小于或等于转移.
4.条件转移指令第三部分    ----第42课
A
  JE/JZ 等于转移.
  JNE/JNZ 不等于时转移.
  JC 有进位时转移.
  JNC 无进位时转移.
  JNO 不溢出时转移.
B
  JNP/JPO 奇偶性为奇数时转移.
  JNS 符号位为 "0" 时转移.
  JO 溢出转移.
  JP/JPE 奇偶性为偶数时转移.
  JS 符号位为 "1" 时转移.
5、循环控制指令(短转移) ---- 第43课
  LOOP CX不为零时循环.
  LOOPE/LOOPZ CX不为零且标志Z=1时循环.
  LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.
  JCXZ CX为零时转移.
  JECXZ ECX为零时转移.
6、用__declspec(naked)写干净的函数 ---第44课
四、MFC编程
1、C++的类和对象   ----第45课
  A.类的概念
  B.对象的概念
  C.封装的优势
    2、常用控件(controlS) ---第46课
      静态文本(static text)
      文本框(text box)
      按钮(Button)
      组合框
      列表框
      选项卡(Tab Control)
      图片(picture)
3.第一个API函数     ----第47课
A.擅长使用MSDN
B.参数的分析
C.哪些是系统API?
4.第一个HelloWorld(平台SDK) ----第48课
     A.纯API打造第一个HelloWorld程序
     B.分析每个参数的意义
   5、一个简陋的打字程序----第49课
A、使用资源
B、菜单和图标
C、接收键盘输入
   6、一个简陋的打字程序----第50课
D、接收鼠标输入
E、设置文本和背景
   7、GDI基本绘图1-----第51课
A、设备环境
B、往标题上写文字
C、往别的窗体上写文字
   8、与窗体像素绘图相关  ----第52课
A、Windows的颜色和像素点
B、获得某个像素颜色值(外挂取色功能用到)
C、绘制线条
D、绘制网格
   9、绘制正弦曲线  ----第53课
A、循环找点
B、连接
   10、绘制区域    ----第54课
    A、绘制区域
    B、坐标系统

   11、实例小时钟1    ----第55课
A、小时钟外观
   12、实例小时钟2    ----第56课
B、定时器
   13、实例小时钟3    ----第57课
A、系统时间
B、小时钟程序例子
   14、网络基础知识  ----第58课
     A、网络基础知识
     B、OSI网络七层参考模型
     C、各层的意义
   15、Winsock接口    ----第59课
     A、套接字的概念
     B、寻址方式
     C、字节顺序
     D、使用举例
   16、Winsock编程流程(服务端)   ----第60课
     A、Winsock库的装入,初始化,释放
     B、套接字的创建和关闭
     C、绑定套接字到指定的IP地址和端口号
     D、设置套接字进入监听状态
     E、接受连接请求
     F、收发数据
  16、Winsock编程流程(客户端)   ----第61课
     A、Winsock库的装入,初始化,释放
     B、套接字的创建和关闭
     C、绑定套接字到指定的IP地址和端口号
     D、设置套接字进入监听状态
     E、接受连接请求
     F、收发数据
  18、手动打造后门客户端与服务端   ----第62课
     A、学以致用
     B、利用前两节课的知识,实现后门框架
  19、动态数据链接库      ----第63课
     A、动态数据链接库的概念
     B、创建动态数据链接库
     C、动态数据链接库的使用
  20.修改注册表达到自启动    ----第64课
A、木马的启动方式
B、注册表的基础知识
C、如何利用注册表启动木马
21、编程实现进程管理     -----第65课
A、后门必备的特性
B、进程与线程的区别
C、编程实现遍历进程与结束进程
22、编程实现线程管理   -----第66课
A、并发线程的优势
B、编程实现并发线程
23、手动打造后门cmdshell   ----第67课
A、正向连接与反弹连接
B、管道的概念
C、编程实现后门CMDSHELL功能
18、一个简单的内存修改器  ---第68课
A、编写测试程序
B、搜索内存
C、修改内存
五、算法实例
1.线性表顺序表   ---第69课
  A、链表的概念
  B、线性链表的定义
  C、编程实现顺序链表
2.线性表单链表      ---第70课
      A、单链表的概念
      B、单链表结构定义
      C、编程实现单链表
3.线性表双向链表    ----第71课
  A、哨兵节点
  B、双向链表的优势
  C、编程实现双向链表
4、栈的实现      ----第72课
      A、栈的概念
      B、栈的结构
      B、栈的编程实现
5.栈的应用实例(小人走迷宫)   ----第73课
  A、绘制迷宫
  B、路线与栈的关系
  C、小人走迷宫的实现
6、队列      -----第74课
      A、队列的概念
      B、队列的结构
      C、队列的编程实现
7、循环队列      -----第75课
  A、解决上节课遗留问题
  B、使用循环队列
  C、链表队列
8、双队列的实现   -----第76课
      A、双队列的概念
      B、双队列的结构
      C、双队列的编程实现
9、串的实现     ----第77课
      A、串的概念
      B、串的结构
      C、串的编程实现
   10、树     ---第78课
      A、树的概念
      B、树的结构
      C、树的编程实现
   11、二叉树    ---第79课
      A、二叉树的概念
      B、二叉树的结构
      C、二叉树的编程实现
   12、树的使用  ---第80课
     A、完善78课代码
     B、实现创建与遍历
   13、二叉树的使用  ---第81课
A、完全二叉树
B、满二叉树
C、二叉树的应用实例
   14、图    ---第82课
     A、什么是图
     B、图的结构
     C、图的编程实现
六、代码的升级与转换
1、vc代码升级  ---第83课
2、delphi与VC代码之间的转换  ---第84课
七、逆向技术
1.逆向热身 ---第85课
  A、逆向工具
  B、原理性工具
  C、实战破解保护机制
2.IDA逆向  ---第86课
  A、IDA逆向上节课代码
3、动态调试技术   ---第87课
  A、OllyDbg(OD)调试器
  B、界面介绍与配置
  C、基本操作
  D、实战破解TraceMe小程序
4、逆向程序,还原算法  ---第88课
  A、翻译反汇编每条语句
  B、分析程序流程
  C、还原C语言代码
5、OD中的各种断点  ---第89课
  A、INT 3断点
  B、硬件断点
  C、内存断点
  D、内存访问一次性断点
  E、消息断点
  F、条件断点
  G、条件记录断点
6、静态分析   ---第90课
  A、静态调试之王--IDA
  B、用IDA分析程序架构流程
  C、分析程序算法
  D、完成程序序列号验证
7、未公开的技术  ---第91课
  A、用DUMPBIN转储文件
  B、动态分析DLL文件
  C、用OD翻译未公开的函数
  D、将RtlInitializeGenericTable还原成C语言
8、注册机的制作    ---第92课
  A、明码比较软件的攻击
  B、对算法逆向并写注册机
  C、不理解细节也能写注册机
9、去掉讨厌的NAG窗口   ---第93课
  A、使用资源工具找到目标窗口
  B、逆向程序绕过NAG窗口
10、去掉时间与菜单功能限制   ---第94课
11、拆解KeyFile文件保护   ---第95课
八、歪挂技术
1.歪挂介绍   ---第96课
  A.外挂的种类
  B.外挂的原理
2.寻找窗口    ---第97课
  A.FindWindow找到窗体
  B.编程实现
3.模拟鼠标  ---第98课
  A.mouse_event
  B.编程实现鼠标模拟
4.模拟键盘   ---第99课
  A.k_event
  B.SendMessage
  C.编程实现键盘模拟
5.CALL的调用   ---第100课
  A.反汇编程序
  B.找到相关函数
  C.实现远程调用


郁金香VC++基础教程

郁金香VC++基础教程

下载链接:
游客,如果您要查看本帖隐藏内容请回复
游客,如果您要查看本帖隐藏内容请回复




温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046

    发表于 2019-9-29 05:39:06
    非常不错啊,感谢楼主无私的共享精神!

      发表于 2019-10-15 16:45:10
      啥也不说了,楼主就是给力!

        发表于 2019-10-15 22:35:39
        感谢分享,我会认真学习的!
        剑北苍 发表于 2023-4-22 12:38 详情  回复
        解压密码多少

          发表于 2019-10-21 14:47:31

          感谢分享,我会认真学习的!

            发表于 2019-10-21 16:47:58
            看完帖子至少要顶一下,还可以加入到淘帖哦!

              发表于 2019-10-21 16:48:22
              非常喜欢学逆向论坛,资源我先收下了!

                发表于 2019-10-25 14:36:44
                谢谢分享,我会好好学习的。

                  发表于 2019-11-5 11:13:14
                  郁金香VC++基础教程很好
                  发表于 2019-12-16 18:43:50
                  啥也不说了,楼主就是给力!

                  小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

                  GMT+8, 2024-12-27 08:04 , Processed in 0.211327 second(s), 86 queries .

                  Powered by Discuz! X3.4

                  Copyright © 2001-2021, Tencent Cloud.

                  快速回复 返回顶部 返回列表