自定义博客皮肤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++网络安全学院

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

原创 拳皇15,无限气,无限能量

拳皇是8090后的游戏,小时候想着改成无限气就无敌了

2023-11-30 14:26:47 332

原创 怀旧经典——魔力宝贝秒遇怪功能分析

这样我们就达到了秒遇敌的效果,而步步遇敌是说我们可以通过对send进行hook,每当我们移动一步,会对移动包进行hook,并进行频繁的重发

2023-11-29 15:00:16 789

原创 hook虚表,快速获取怪物动向,boss技能

我们把虚表中的虚函数地址修改成我们自己的函数地址,执行完我们的代码,我们再调用他原来的真正的虚函数

2023-11-27 16:23:37 541

原创 传奇,全职业刀刀烈火原理揭秘

相信很多朋友都玩过传奇,今天我们来揭秘一下,刀刀烈火的实现原理

2023-11-26 21:16:05 194

原创 解压游戏资源,导出游戏模型

游戏中有很多好看的角色,地图等等资源。你有没有想过,把他们导出到自己的游戏中进行魔改又或则玩换肤等操作呢?

2023-11-10 17:00:10 1017

原创 复古决战快速施法穿墙秒怪分析流程及安全防护

决战》是一款非常古老的RPG游戏,作为热血传奇同期的热门游戏也深受7080后的喜爱。在十几年前玩这个游戏时,我也使用过瞬移穿墙,快速施法秒怪等功能的辅助。下面我们就用一个自己架设的单机版来回顾一下当年辅助开发的流程,并从安全角度来对这些功能进行防护分析。

2023-04-30 12:22:58 1537 1

原创 LOL自动走A和释放技能原理及安全防护

用这些方法来防止这个科技玩家,当然相对于这款游戏来说,在这方面的保护已经比较完善了。如果判断到我们的英雄的名称,比如这里我们只加了诺手和卡莉斯塔两个英雄的技能,其他的英雄只是单纯的走A。走A和自动释放技能并不什么变态功能,他的一切操作都是符合常理的,这里面我们就主要来看一下,自动技能的一个简单的逻辑就可以了。我们要对这些鼠标,键盘的操作和伤害的结果进行一个对比。如果可以在冷却状态下,我们遍历一下周围的所有敌人,3我们代表的我们的第4个技能,500代表释放距离。这就是走A和自动释放技能的逻辑,非常简单。

2023-04-15 21:05:04 1335

原创 发送封包协议实现XXZ批量秒分解装备

通过发送封包,我们可以让一些反复的枯燥的行为变的简单,高效。

2023-04-15 14:49:39 717

原创 解除游戏多开限制,关闭互斥体句柄

(这里的防护建议是,增加多种多开限制的方法 以及 逻辑中增加多该互斥体的使用,这样可以避免直接被恶意关闭)比如说遍历窗口,遍历进程,配置文件,注册表,互斥体,mac地址,ip,公共文件,内存映射等等.方法很多.我们可以使用工具来查看互斥体,大家可以用XT,PCH等等工具。发现已经检测到我们开了一个窗口,只是没有进行限制。我们逐一关闭,看看关闭哪个之后就可以多开窗口了。出现了很多句柄, 找到Mutant类型的句柄。

2023-04-10 23:43:56 4383 5

原创 KMP算法,BM算法,sundy算法 和 特征码定位

KMP算法,BM算法,sundy算法 和 特征码定位

2023-04-01 01:17:58 877

原创 多种方法跳出线程发包

明文发包CALL是分析一款游戏功能的主要突破口,但是很多游戏都是线程发包,需要跳出线程才能得到明文CALL的位置。跳线程的方式有很多种,不同的游戏也有不同的跳出方式,下面我们来看一下都有哪些方法可以跳出线程。

2023-03-18 18:21:53 1495

原创 封包协议,加密解密,线程发包,recv,明文收包

什么是封包?封包就是按照某种协议组成的一段字节集.这个很容易理解那为什么要按照某种协议呢?这个我们一会再说所有联网的软件,包括网络游戏,客户端和服务端进行通信都是通过封包进行的.大家可以想象成2个人打电话,封包就是说话的内容.而协议呢?就是封包的语种, 2个人打电话一个用日语,一个用英文もしもし、韓さんです。那边接电话 What are you talking?这怎么交流啊?好,那么我们定好协议,本通电话我们全部采用中文,这样就可以正常交流了对吧?这就是协议。

2023-03-14 20:46:32 2616 1

原创 新手福利——x64逆向基础

此时的寻址方式并不是以rsp为基地址来传递局部变量和参数,那么如果我们想知道一个rbp+xxxx是局部变量还是参数,就需要到头部去进行一个相对复杂的运算,比如图中的rcx来源rbp-59,虽然我们明知他是一个局部变量(因为前面是lea),但是我们也要到头部去算一算,-59-5F= -B8,在头部的地址是rsp-B8,也就是说他是一个局部变量。虽然在x64程序中,我们默认的前4个参数是rcx-r9,但是也有例外,如果我们传递的参数是浮点型的话,那么传入浮点数的参数则会使用xmm0-xmm3来代替。

2023-02-20 18:06:11 3658

原创 shellcode,缓冲区溢出漏洞及 远程调call

这个函数分配了8个字节的缓冲区,然后通过 strcpy 函数将传进来的字符串复制到缓冲区中,最后输出,如果传入的字符串大于 8的话就会发生溢出,并向后覆盖堆栈中的信息,如果只是一些乱码的话那个最多造成程序崩溃,如果传入的是一段精心设计的代码,那么计算机可能回去执行这段攻击代码。我们的shellcode 不能有00,否则 strcpy 会提前结束,所以 上面的代码中有字符串00结尾,需要我们修改成其他的代码形式。我们只要把返回地址覆盖成我们要执行的代码地址,就可以让该函数返回的时候去顺利执行我们的代码了.

2023-02-13 22:48:55 1136

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

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

2022-12-06 23:07:23 3228 1

原创 函数和call详解

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

2022-11-14 22:21:18 3204 1

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

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

2022-11-03 12:54:38 4240 1

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

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

2022-10-22 13:13:53 7445

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

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

2022-10-08 19:30:00 10014

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

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

2022-09-26 21:37:54 9879 1

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

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

2022-09-22 20:44:13 3076

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

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

2022-09-19 21:37:01 3802

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

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

2022-08-19 15:03:08 3878

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

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

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

原创 任鸟飞逆向,FPS游戏(UE4,U3D引擎)方框绘制,骨骼透视,自瞄.子弹追踪.无后BT功能的原理 和反外挂策略

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

2022-03-24 19:12:58 19831 13

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

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

2022-01-14 18:19:02 3403

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

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

2022-01-07 18:15:27 5905

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

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

2022-01-07 18:13:57 5153

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

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

2021-12-24 13:53:02 1633

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

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

2021-12-23 14:41:02 532

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

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

2021-12-20 13:37:49 1317

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

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

2021-12-13 14:04:22 3936

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

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

2021-12-08 19:35:32 208

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

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

2021-12-03 14:03:23 682

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

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

2021-12-02 21:24:23 1973

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

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

2021-12-01 16:59:05 3079

原创 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 649 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 3153 2

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

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

2021-11-26 16:11:22 1897

原创 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 1425 86

空空如也

空空如也

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

TA关注的人

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