自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

任鸟飞2217777779的博客

欢迎来到C++网络安全学院

  • 博客(40)
  • 收藏
  • 关注

原创 地图信息,障碍判断以及寻路算法(A星算法,B星算法和蚁群算法等)

A星不会像广度优先遍历那样探索所有的步骤,而是选择每一步中最优的方块。这样就可以大大提高效率了。

2022-12-06 23:07:23 152

原创 函数和call详解

函数定义必须放在函数调用的前面,否则找不到标识符.例如:有时候代码很多,有互相调用,我们很难确保谁在前面谁在后面.例如call1调用call2 , call2又调用call1这时候是会报错的.怎么解决这个问题呢?就涉及到了函数的声明和定义这个时候我们就需要函数声明和函数定义分开的方法,这样就可以了.把函数第一句拷贝出来 加个;即可函数声明, 不带大括号 无函数体,也叫函数原型函数定义 ,带大括号 有函数体,也叫函数实现.一般函数声明放到头文件里,函数定义放到cpp里。

2022-11-14 22:21:18 747

原创 新人福利——OllyICE和xllydbg的区别和基本用法

OllyICE简称od,这是一款很古老的动态调试工具,在过去的许多年里,深受广大逆向程序员的喜好。但是由于些年的更新较少,并且在x64的版本上又没有大量的插件支持,所以程序员从使用od逐渐转为使用xllydbg,简称xdbg。当然在32位版本里,od的功能还是非常强大的,因为年头久,多种多样的插件也为其舔砖加瓦,甚至达到了几乎无可取代的地位。但是站在高处就要承受压力,随着名声越来越大,用户量越来越多,针对od的保护措施也层出不穷,这也给了xdbg一些机会。

2022-11-03 12:54:38 310

原创 新人福利——Cheat Engine功能之基础篇

CE全称Cheat Engine,主要用于对软件内存数据的扫描和调试,其功能可以说非常强大

2022-10-22 13:13:53 538

原创 UE4引擎分析获取UWord,GName,GetName,GObjectArray

UE4引擎具有很多固定特征和特性所以我们在逆向UE4引擎开发的游戏的时候,可以利用这些特征和特性.当然,正常思路逆向也是没问题的(例如我们的ttw课程全数据逆向),你就当多了一个针对于该引擎逆向的快捷方式 或则多了一个思路即可.正常逆向+引擎分析,使逆向结果全面且快速.

2022-10-08 19:30:00 2330

原创 各种HOOK方式和检测对抗方法

hook翻译过来是拦截的意思, 我们很多时候也叫钩子,其实是很形象的.hook有什么作用呢?1.当代码执行到某行时,获取寄存器值和内存里的值,进行调试分析,例如hook明文包.2.当代码执行到某行时,插入想执行的代码.例如迅雷拦截发包函数.3.当代码执行到某行时,修改寄存器,达到某些篡改目的.

2022-09-26 21:37:54 1779

原创 任鸟飞C++逆向安全之第一个项目

黑眼探光明,逆向寻真理!为了能够更好的学习零基础逆向安全课程,我们决定C++基础开始说起,懂得正向原理,才能事半功倍的取学习逆向知识。

2022-09-22 20:44:13 1243

原创 安卓逆向之双剑合璧实现内存扫描

PC端的逆向调试工具有CE,OD,XDBG等等,那在移动端是否有工具可以调试安卓模拟器或者是手机呢?

2022-09-19 21:37:01 1510

原创 游戏安全UE4引擎之天堂W跳线程,HOOK明文收包发包并分析加密解密,实现send发包

游戏安全UE4引擎之天堂W跳线程,HOOK明文收包发包并分析加密解密,实现send发包

2022-08-19 15:03:08 542

原创 LOSTARK 失落的方舟 加速瞬移漏洞修复及逆向技术研究

很多游戏里面都存在加速,瞬移的BUG。但是这样的BUG,到底怎么挖掘和修复呢? 为什么这样的大型热门游戏,,投巨资开发,还会存在这样的bug呢?到底是什么原理呢? 是不是有很多疑问?

2022-03-26 22:48:27 8081 3

原创 FPS游戏(UE4,U3D引擎)方框绘制,骨骼透视,BT功能的原理 和反外挂策略

几何基础,多种矩阵的学习,世界坐标到屏幕坐标的两种转换方法,三种绘制方框的原理,hookd3d,hookopengl,骨骼透视,主播的秘密,FPS各种BT功能的原理 和检测对抗原理,UE4引擎,U3D引擎的逆向 和实战。游戏安全的建议策略方针 , 反外挂的思路和检测对抗 等等.

2022-03-24 19:12:58 13342 9

原创 任鸟飞FPS类型游戏绘制,骨骼,u3d,UE4和游戏安全,反外挂研究 (三)

书接上文,我们非矩阵的方式绘制 是没有那么的精确的在学习矩阵之前,我们先来了解下绘制的几种方法绘制的几种方法和反外挂建议第一种 hook d3d/opengl优点:不闪 ,代码简单缺点:非常容易被检测第二种 窗口上自行绘制,但是会闪优缺点适中第三种 自建透明窗口,覆盖游戏窗口,透明窗口上绘制优点:稳定确定:代码复杂,会闪反外挂:无非就是针对外挂使用的函数进行检测深入学习矩阵对象的世界坐标列向量xyzw(w为了兼容4*4矩阵以及可以NDC坐标转化而设计存在的,大家可以暂且不

2022-01-14 18:19:02 2676

原创 任鸟飞FPS类型游戏绘制和游戏安全,反外挂研究(二)

我们接着上文继续,如果没有看上文基础的同学建议先看完上文再继续本文章本文章中均以单机游戏为例,每一种功能仅提供给网络安全工作者反外挂建议和安全对抗方法.请勿用作非法用途另外提示对于此类游戏安全和反外挂研究,单机和网络游戏的原理毫无区别,区别仅仅在于个别数据网络验证部分先整理cs1.6数据如下:(属于基础范畴,任鸟飞2020前80课即可轻松搞定这里不赘述)矩阵地址 hl.exe+1820100//这个暂时先不要管,下文会有详细讲解的地方高低朝向值 hl.exe+19E10C4 //从低到高 8

2022-01-07 18:15:27 5076

原创 任鸟飞FPS类型游戏绘制和游戏安全,反外挂研究(一)

本套课程主题为FPS类型游戏的设计研究和游戏安全,反外挂研究学习这套课程的基础包含少量的汇编知识和编程知识,一定的数学知识和内存知识基础建立在 任鸟飞2020课程 前100课的前提下即毫无压力的学习.当然我们要从最简单的概念开始学习,请勿急躁这个课题本着最简单易懂,从本质完全解析的态度,所以有任何细节不懂,哪怕是三角函数,都可以找我探讨向量可能大家问为什么要学习向量, 原因是向量是矩阵的元素,而矩阵是帮助我们快速计算的朋友所以就算不能完全掌握,了解一下是必要的.指具有大小和方向的量.一

2022-01-07 18:13:57 4519

原创 【飞郁2022新课程】32 - xdbg的认识与设置

xdbg的简介Xllydbg(简称xdbg)和OD的用法和界面都是很像的,由于网络安全的发展,OD无法满足大部分人的需要了,更多的人习惯对xdbg进行处理,来达到正常调试的目的.从官网下载一款xdbg,安装后双击下图的exe程序,可以打开32位的xdbgxdbg的初始设置打开xdbg并随便附加一款程序,我们先来对xdbg进行一些设置,这些设置更多是针对64位的程序的我们在选项中点选择选项,可以看到事件设置这里的断点没有特殊需求可以全部取消,然后在异常中添加区间为0-0xFFFFFFFF,保证不

2021-12-24 13:53:02 854

原创 【飞郁2022新课程】31 - OD更多技巧

上一节课,给大家介绍OD的一些基本的使用方法,当然OD不仅仅只有这些功能和指令,这节课咱们就来更深入的了解一下OD对命令行插件进行操作首先我们来了解一下数据窗口的命令行插件都支持哪些命令之前说了DD是在数据窗口中查看一个地址,其实这只是将数据用堆栈格式转存,是不是和堆栈窗口的结构很像?其实还有一个命令是dump,他和dd的效果是类似的还有几种转存方式我们来看下DA,转存为反汇编代码DB,转存为十六进制字节格式DC,用ASCII转存还有很多很多,下面我们就不截图了,简单来说下DU,用UNIC

2021-12-23 14:41:02 200

原创 【飞郁2022新课程】23 - CE找偏移表达式

基地址和动态地址是一对好基友,他们相隔十万八千里,却紧密联系着他们不用像唐僧取经一样翻山越岭,经历九九八十一难,因为他们有一种如同月光宝盒一样的交通工具,我们叫它偏移这节课我们就用CE来查找基地址和偏移的表达式1.1扫描表达式何为偏移?简单来说偏移就是两个地址之间内存距离,他的单位是字节.当然并不是说所有的地址之间的偏移都是有意义的,就好比两个城市之间没有直达的交通工具,你只能通过其他城市进行中转一样而这个中转的过程,我们就叫它偏移表达式我们来到教案游戏的第三层,在这一层里有很多的怪物,我

2021-12-20 13:37:49 240

原创 二十.C++网络安全学院之基地址和动态地址

基地址每一次程序启动,内存都会重新分配,我们在CE中扫描的地址大多会发生改变,但也有一些是不会随着游戏重启而变化的,这里面就有一部分是基地址.基地址是相对静态的,我们所说的基地址不变,只是说这个地址不会变,他指向的内容的意义通常也是不变的,但是指向的数值大多会随着程序重启而变化.内存的角度和程序的角度看基地址基地址在程序中的本质是全局变量如果我们在CE中取扫描一个数值,可以发现有一部分结果是绿色的这些绿色的地址,往往就是基地址,他们是不会随着程序重启而

2021-12-13 14:04:22 3085

原创 十九.C++网络安全学院之局部,全局,静态变量

在前面的课中 我们讲了常量和变量这里我们讲下变量的作用域 和 局部变量 全局变量 全局静态变量 局部静态变量在讲到这些之前 还需要了解下程序的内存分配问题一、程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链

2021-12-08 19:35:32 75

原创 十八.C++之网络安全学院之CE的使用技巧

接着上一课,过第二列黄色钥匙以后。神秘老头告诉我们,血量地址还有第二个,但是我们只扫描到了一个,为什么呢?有三种可能,第一种加密,第二种数据类型不对,不是DWORD类型。第三种歪指针,即不是048C结尾的指针。而如果我们勾选上快速扫秒4,那么只会扫描048C结尾的指针技巧1:快速扫描的原理(歪指针)这里面我们不勾选快速扫描 再扫描可以扫描到2个学地址了NPC问我们偏移表达式是什么?这里不用会追表达式,因为是歪偏移,所以只有一个歪偏移表达式 直接就是答.

2021-12-03 14:03:23 361

原创 十七.C++网络安全学院之CE扫描和基础

1.打开CECheat Engine是网络安全数据分析的一款很重要的工具,我们可以在官网下载他的最新版本Cheat Engine当然也可以使用课程推荐的修改版本在CE下载并安装好之后,我们在文件夹里找到以下exe文件,双击打开2.附加进程打开CE之后,我们将弹出的其他界面都关闭掉,只留下以下窗口单击 对程序进行附加, 光标选中的程序就是我们教学使用的小工具,双击或者点下面的 都可以对程序进行附加。3.初始扫描选项成功附加之后,我们就可以对程序进行扫描了.

2021-12-02 21:24:23 493

原创 十六.网络安全学院之操作运算符

一、运算符1.首先我们来看看C语言有哪几种运算符,先了解下2.算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符(sizeof 三目运算符)3.这些运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。4.是不是想迫切的知道这些运算符怎么使用呢?5.下面我们先介绍算数运算符 关系运算符 逻辑运算符 ,其他运算符我们后面的章节再讲二、算数运算符+ - * / % ++ --2.1.+ 加号int i1 = 1;int i2 = 2;int i3 =

2021-12-01 16:59:05 2983

原创 3.2021-11-30学员作业

一.多选题:以下那些变量命名规范 (??)A.int iAge=1;B.Int _iNum=66;C.DWORD1dwNum=88;D.char s001='a';E.BOOL _1bInit=TRUE;F.int int=1;G.int num-one=220;H.byte return =550;I.float f面积=11.25;J.Int _isize=100;二.变量定义和声明的区别?三.以不同...

2021-12-01 13:53:06 407 55

原创 十五.C++网络安全学院之数组和字符串

一、数组首先我们讲解数组 那么什么是数组呢?我们把数组 这2个字拆开理解1."数":数据2.“组”:编组 编制成一个组 一个队伍3.合起来就是:把一些相同类型的数据编制到一个组里 方便管理 写法:数据类型 变量名[数组成员数大小];数据类型 变量名[数组成员数大小]={0};//初始化版本int iArray[7];//没有初始化int iArray[7]={0};//初始化为0int iArray[7]={1,2,3,4,5,6,7};//初始化值...

2021-11-29 18:31:25 3041 2

原创 十四.C++网络安全学员之强制转换类型

一、强制转换类型1.从名字上来理解关键在于类型转换中“转换“二字的理解2.想必大家也能理解 其实就是 一种类型转换为另一种类型3.类型转换分为: 显示转换 和 隐示转换4.区别在于 显示需要再变量名前加(需要转换的类型名) 而隐示转换是不需要加的 会自动根据定义的类型自动转换5.虽然说是自动转换 但是也要做注意 可不是任何类型都可以任意转换的哦二、强制转换注意事项1.转换的类型 和 被转换的类型 的数据宽度2.数据类型三、显示转换3.1 有符号和无符号在数

2021-11-26 16:11:22 1747

原创 2.2021-11-24学员作业

1.用print()输出函数在控制台上打印出2个菱形(另外一个用0填充空白处)如图:字符填充可以任意字符,这里是‘1’ 字符2.%s %c %d %X %x 分别格式化什么类型的数值?3.选择题:自己口算不要去编译运行char c1=0;char c2=0;printf("请输入c1=:");scanf_s("%c",&c1);printf("c1=%d\n",c1);rewind(stdin);printf("请输入c2=:");scanf_s("%d",&am

2021-11-25 10:16:58 1299 86

原创 十三.C++网络安全学员之无符号和有符号及其反码补码原码

一、原码 反码 补码从不同的角度去看情况,往往会得到不同的结果,在前面的课程我们举得例子都是正数,没有看到负数,难道计算机没有负数一说?当然不是,在讲有符号 和 无符号的时候 我们需要了解一下计算机是怎么存储数据.1.1 原码 补码 反码计算的二进制数据有3种表现形式分别为:原码 补码 反码.首先我们看到原码是可以理解的,例如:以1个字节计算,10的原码是:0000 1010那为什么会有补码和反码的存在呢?这是由于CPU的关系,等会我们再细致讲解.我们的计算机在内存中其实存放二进

2021-11-24 18:51:01 811

原创 1.2021-11-23学员作业

一.合适的运用数据类型来定义以下数据并printf()打印出来:(初始化值自定义就行)1.学生的年龄 编号 姓名 性别2.一棵树的直径 周长 面积3.一块硬币的正反面二.sizeof和strlen的区别:三.打印自己的名字字符串并输出对应字符的整数值备注:1.中文名就用拼音,第一个汉字的拼音就行2.英文名就全打印四.打印输出到控制台上 \ '' % 字符...

2021-11-23 22:51:20 1153 58

原创 十二.C++网络安全学院之浮点数在内存中的储存方式

一个小数,无论是单精度的float型还是双精度的double型,在内存中都会储存为三个部分,即符号位,指数位,尾数符号位就是小数的正负,0代表正数,1代表负数那指数位是什么呢?其实小数在内存中都是以科学计数法去存放的,而指数位则用来存放科学计数法的指数数据,一会我们再细说尾数用来存放科学计数法后的尾数,也就是小数部分听起来是不是有些懵?不要紧,咱们举一个例子就明白了比如我们有一个float型的8.25,要计算出他在内存中是如何存放的首先将其转化为二进制整数部分的转化我们之

2021-11-23 13:28:01 269

原创 十一.C++网络安全学院之整数的储存方式

整数的储存方式还记得之前的课程,变量在内存中,看到是反着排列的吗?当时我们没有深究这个问题但是我们现在学习内存了,就有疑惑了为什么4字节数据是反着排列的呢?原因是,实际上在内存中,没有正反之分,都是按一字节 一字节顺序排列的,只是我们要按照什么方式去拿。例如上图 内存中就是 78 56 34 12而我们拿的时候 是从后面开始拿放在高位而已 变成0x12345678但是整数类型,为什么是反着拿呢?而不是 正着拿,变成0x7856...

2021-11-22 22:41:15 350

原创 十.C++网络安全学院之字符内存中的储存方式

不同的数据在内存中的存放方式是不同的我们说内存中每一位只存放了0和1,用来表示整数很容易,那怎么表示小数怎么表示?文字符号呢?这就需要不同的存放方式,用正确的方式也就是数据类型读取数据才能得到正确的值。例如小数型的1.23,如果我们用整数的形式去读取他就不是1.23了。如下图:你可以猜结果会是1,毕竟1.23小数 硬转成整数的话,应该是1。但是这和我们现实生活中是不一样的,内存中存放不同类型的数据储存方式是不同的,比如小数点,负数这些东西他是没有办法直接存放的

2021-11-19 14:36:16 2535

原创 九.C++网络空间安全学院之内存

什么是内存内存是计算机中重要的部件之一。计算机中所有程序的运行都要在内存中进行。其作用是用于暂时存放cpu中的运算数据。我们调试软件时所说的内存,往往是指虚拟内存。计算机中软件执行后 ,会用到很多数据 ,这些数据都是被装载在该程序的进程空间的虚拟内存中。虚拟内存是在硬盘上的 ,操作系统为该软件的进程分配4GB的虚拟内存空间用来存放数据。注意没注意一个细节,我说到了分配4GB的虚拟内存空间为什么是4GB这个大小 ?这里指定的32位系统所谓的32位指的是32位2进制那么.

2021-11-18 19:40:09 179

原创 八.C++网络空间安全之常量和变量

相信大家在上一节课的代码中看到过很多 变量的定义和声明int a=1;bool b=TRUE;char c='h';float f=1.0f;double d=2.0f;等等 这些代码不明白这是干什么的 其实这就是在申请一个变量那么今天我们就讲解一下变量和常量好了 开始我们今天的讲解一、变量首先讲解变量,这个变量从字面意思 在于一个"变" 字,怎么变呢?,说的通俗点,有一个盒子 里面能放各种物品 变量就类似这样,可能说的有点不太懂 那么我们先从变量开始,这里先举例

2021-11-17 11:21:32 440

原创 七.C++网络安全学院之输入与输出

在上一节课中咱们的代码中涉及到了printf()函数以及一些参数的设置这里肯定有很多同学不知道怎么使用这个函数那么,今天咱们的主题就是 输入和输出 函数帮助大家进一步了解,好了,开始我们的讲解.一、输出输入函数printf();这个函数大家之前也见过.现在我们看看他的参数:首先第一个参数:是一个字符串 也就是 "" 双引号里面的 最终会被格式化输出在控制台上 显示出来的那么这里肯定有同学会问 格式化? 到底是什么意思?简单的来说就是 把某个数据 按照一定的 格式

2021-11-16 13:24:32 503

原创 六.C++网络安全学院之数据类型和数据宽度

一、数据宽度首先在了解数据类型之前 我们要了解数据宽度任何的数据类型都是有宽度的,宽度就是表示这种数据类型的数据占多大的空间。数据宽度的两个基本单位是字节和位。这里的位说的是二进制,一位就是一位二进制(只能用0或者1 来表示)位是计算机最小的储存单位 。一字节等于8位,等于两位16进制,字节是我们应用的最小单位。这里有同学可能会问道?为什么等于2位十六进制那是因为比如:8个二进制1 组成1字节 1111 1111 每4个二进制位最大表示的数为 也就是说4个二进制位表.

2021-11-15 19:11:13 1534

原创 五.C++网络安全学院之创建第一个Hello world程序和项目简单介绍

创建第一个程序1.创建项目:点击文件菜单-选择新建-选择项目2.此时会弹出一个对话框:选择Windows桌面-选择控制台应用-设置项目存放路径-点击确认-即可完成C语言项目创建3.这样我们就创建了一个只有一个CPP的项目4.我们点击网络安全学员.cpp可在编译器中查看到相关代码5.注意:如果没有解决方案资源管理器窗口或则不小心关掉了,可以通过以下方法打开视图-解决方案资源管理器选择试图菜单-选择解决方案资源管理器-即可打开解决方案资源管理器:主要是..

2021-11-12 17:28:47 1774

原创 四.C++网络安全学院之高级语言和低级语言

高级语言和低级语言低级语言:机器语言和汇编语言。高级语言:主要是相对于汇编语言和机器语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。像我们使用的C/c++,易语言,java这些都是属于高级语言。说白了,越容易看懂月容易理解的语言越高级。和其他没有关系,不是高级就厉害。机器语言机器语言是用二进制代码表示的,计算机能直接识别和执行的一种机器指令的集合。所有的指令都是由0和1组成的一串串数字汇编语言汇编...

2021-11-11 12:37:30 1807

原创 三.C++网络安全学院之十六进制以及其他进制

拓展内容:十进制转其他进制十进制数12 如何转成二进制?其实上节课我们已经讲过了,我们来复习一下我们把数值都放到个位,看看他怎么进位即可我们12全放在个位是不行的,二进制只有1和0,那么我们需要进位,所以12/2 = 6 余0代表我们有6个2进位到十位,余0代表个位为0,我们暂且可以写成60,当然2进制不能有6,所以我们继续进位6/2 = 3 余 0代表我们有3个2进位到百位 ,余0代表十位为0,我们暂且写成300,但是2进制不能有3,所以我们继续进位3/2 =...

2021-11-10 10:19:23 2374

原创 二.C++网络安全学院之进制的理解

从进制开始学习的原因由于我们要学习编程的原理,而不只是单单的学习编程,所以就要去学习计算机底层实现的原理。但是计算机只认识2进制,那么我们想要了解其本质,就必须了解进制。刨根问底,方能成就大业,否则这些知识一定带不走...(Call back)实际上我们无论写出什么样的代码,最后都是变成2进制被计算机执行的,也就是说我们要学习进制,其实主要就是要学习2进制。从10进制的角度看待进制10进制非常简单,我们现实生活中最常用的就是十进制。10进制是由 0,1,2,3,4,5,6,7,8

2021-11-09 10:44:20 427

原创 一.C++网络安全学院之Visual Studio的安装和简单的项目创建

1.引言工欲善其事,必先利其器。学习编程,学习网络空间安全,我们首先要认识的一款叫做Visual Studio的工具。连写字都需要一张纸,代码也一样,Visual Studio就是这张纸,就是这个开发环境。Visual Studio是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等,简称VS 。上面这段话看不懂? 不理解? 其实暂时不用懂,在这里只要知道我们写代码需要在这个环境下即可,后面会了解他的更多功能。

2021-11-08 13:30:33 354

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除