自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (4)
  • 收藏
  • 关注

原创 一品威客登陆接口逆向

直接搜索这个关键字,可以找到两个位置,第二个是小写的,跟我们要分析的字段没什么关系。断下以后,这个函数就是我们需要的signature字段,那么就需要分析这个函数。字段其实就是时间戳加上五个随机字符的拼接,既然是随机的我们就可以直接写死。这里直接把函数拿下来,补齐缺失的代码,放到JS代码里调用就可以了。这里的第一个参数U我们已经分析完了,接下来分析参数M。先抓一个登陆的包,payload里面没有需要分析的数据。需要分析的数据在请求头里面,我们的目标是分析这个。都是需要分析的,其他都是固定的。

2024-02-01 15:44:28 1024

原创 有道翻译JS逆向分析

就是用于发送网络请求的函数,既然我们要找返回加密的位置,就必须找到发送请求成功后的回调函数,所以我们这里查看一下当前函数断下后的调用栈。这个案例,直接把加密算法扣处理,用nodeJS还原就可以了,是最快的方案。首先来进行抓包,一共有三个请求,通过接口名字,其实就可以猜测出关键接口是第二个。函数里面,这个sign的值由两个字段生成,一个是时间戳,另一个是一个固定的字符串。返回的数据是加密的,那么我们需要通过逆向分析的方式找到数据解密的位置。这个就是解密函数,o是密文,第二个参数是key,第三个参数是iv。

2024-01-27 11:50:28 937

原创 RSA和cookie逆向案例

我们已经登陆了,但是后续请求数据的时候拿不到说句,只能说明一个问题就是cookie的数据不全,间接说明有一部分的cookie是从JS中生成的,那么我们需要找到JS中登陆成功之后做了什么。往上找一层,这里的n是ajax的success回调,所以n的内容实际上是ajax访问该接口的返回内容。这个案例很有意思,涉及到一个RSA加密,和一个cookie处理问题,比较适合在学习阶段积攒相关经验。getTime接口和login接口,都是这种模式,先传入param,发送请求,再调用回调函数。

2024-01-25 09:00:00 1429

原创 网易云音乐JS逆向分析

实际上这个逻辑背后的原理是这个按钮后面对应的是一个url,这个地址是通过ajax来进行局部刷新的。这里一共提交了两个参数,params和encSecKey,那么这两个参数从哪来的就是我们要进行分析的。如果你想要其他的数据,比如评论,获取评论的接口也是用的这两个参数,只不过传入的参数不一样,那就得去扣。另外,评论的接口,也是用的这两个参数,需要扣,只不过传入的加密参数不一样,各位有兴趣可以自行分析。发现就是这个音乐本身,那么这个url就是我们要的音频的下载地址。也可以通过补全第三方库的方式,来解决这个问题。

2024-01-23 21:29:33 1397

原创 数美点选验证协议全面剖析

这样就可以完成这个网站的自动化登陆了。organization是一个ID,这个是固定的,多测几次就会发现,而callback是一个时间戳,那么对于conf这个请求,我们只需要去分析captchaUuid这个字段就可以了。添加一个Mapping,设置了这个以后,当有网络请求访问了我们指定的这个map页面,就会被替换为本地保存的html文件,这样就可以保证JS一直是固定的了。找到conf请求的调用堆栈,在中间的一个位置打一个断点,反正都是混淆的,在哪都没区别,只要在附近找到了需要跟踪的字段,一直往上找就行了。

2024-01-18 12:47:46 1328

原创 JS滑块协议逆向

当我们滑动滑块之后,发送了两个请求,一个是snapshot,提交的是滑块的轨迹信息,一个是SendLoginCode,是发送短信的接口,其他的都是在检测你是否扫描了当前页面上的二维码。这几个函数就是轨迹的生成算法,通过鼠标的点击事件记录鼠标滑动的坐标信息,保存到一个数组里面。这个位置发送了一个ajax请求,里面对应了抓包的四个参数,其他三个参数都是固定的,我们主要关心的是里面的a。在snapshot请求里面,我们需要找到data参数生成的位置,才能模拟这个请求,并发送出去。接下来把AES加密算法扣下来。

2024-01-15 15:47:50 1033

原创 webpack原理和逆向实战

webpack是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),负责分析翻译压缩打包代码。上面的官网的一张示例图。找到加载器,在调用模块的地方下断点,刷新网页构造自执行函数找到调用的模块编写调用函数。

2024-01-13 08:00:00 2133

原创 JS逆向之加密参数定位

当我们对网络请求进行抓包分析之后,需要用开发者工具对加密参数进行全局搜索。当搜索不到加密参数的时候,应该采取什么解决方法去定位。还有一个应用场景是我们发现请求服务端的时候有一个cookie,而这个cookie又不是服务端返回的,那么它很有可能就是JS生成的,怎么快速定位这个cookie生成的地方。

2024-01-11 08:00:00 1467

原创 JS逆向之无限debugger对抗

优先尝试 Never pause here (最方便快捷,但是最卡,也最容出问题)次优先尝试重写调用函数使用 AutoResponse/mapping/overrides 替换。

2024-01-09 21:38:24 1446

原创 使用爬虫爬取热门电影

既然要把视频切成非常多个小碎片. 那就需要有个文件来记录这些小碎片的路径. 该文件一般为M3U文件. M3U文件中的内容经过UTF-8的编码后, 就是M3U8文件. 今天, 我们看到的各大视频网站平台使用的几乎都是M3U8文件.更好的方案是对视频进行切片(ts),切完了以后每个切片都有一个独立的url,当我们把所有的切片都获取到以后,再把切片文件的正确顺序进行保存,然后合并就可以得到一个完整的视频。里面最重要的就是每一个ts文件的路径了,而且这个ts文件是没有加密的。现在的视频网站用的几乎都是这种方案。

2024-01-05 20:33:58 4720 1

原创 VT虚拟化框架编写

学习VT相关的知识,需要具备WIN32基础和内核相关的知识,包括Windows段机制,页机制等等,VT里面都会有所涉及,也就是得把Windows编程和驱动基本通关,新手建议劝退。整个VT的知识结构有大量的新的概念,新的寄存器,新的指令还有各种标志位,初次学习VT建议结合代码来理解相关的理论基础,重点在于梳理整个VT的流程,不要深究具体的某个细节。整个流程走完之后就有了阅读别人代码的能力,等实际应用的时候再去查阅相关资料补齐技术细节的部分。我的笔记,很多能省的基本都省掉了,只把整体必须的流程整理出来。

2023-02-11 23:08:16 5006

原创 驱动无模块注入dll

Windows驱动无模块注入姿势全解 包含三环和零环的多种注入方式

2022-12-10 13:57:39 8593 6

原创 Windows x64隐藏可执行内存

Windows x64隐藏可执行内存

2022-12-04 15:16:06 5973

原创 驱动保护进程 句柄降权 杀软自保 游戏破图标技术原理和实现

驱动保护进程 句柄降权 杀软自保 游戏破图标技术原理和实现

2022-11-26 18:04:16 6122 5

原创 019 自动任务功能的设计和实现

文章目录任务详情的设计任务表的设计TaskManager类自动接任务自动完成任务自动任务最后的总结之前我们已经完成了自动打怪,自动技能和自动吃药的功能,这一次我们来完成自动任务的功能。自动任务的难度要比前三个高很多,涉及到要处理的细节也很多,我这里写的也不是百分百完美的,只是提供一个基本的思路,如果想要实现一个完美的自动任务的脚本,还需要花时间慢慢完善。首先新建一个类,命名为TaskManager任务详情的设计所谓的自动任务,就是将角色从1级到满级所有的任务全部的数据,记录到一张表。然后挨个遍历并执

2022-05-03 12:22:21 1631 1

原创 018 打开NPC交接任务功能分析

文章目录打开NPC交任务接任务打开NPC来到明文封包call头部,点击NPC,然后断下。这里最好新建一个1级的小号,去分析,这样周围没有其他玩家会少很多干扰项。返回上层,这个call应该就是我们要的选择NPC的call但是我们再次点击NPC时,发现这个call并不断,那么说明这个call并不是选择NPC的call,可能是选怪call或者其他的选择call这个call的作用应该是点击之后将选择的NPC在上方出现一个血条。那么我们应该在这个出现血条的状态下,再去点击NPC此时会返回到一个c

2022-05-01 12:17:54 1861

原创 017 寻路画线功能分析

文章目录定位走路call定位寻路点地图ID和名字数据寻路点遍历定位走路call首先来到明文发包call头部下断返回上层,这一层对坐标进行了加密,我们跳过这个位置再返回上层来分析这个call,最后一个参数r12d,是一个标志位,0代表走路,1代表跑步rcx是一个基地址r9是目的地坐标r8是角色自己的坐标。最后一个edx就是角色对象+0xA84的值。这样的话走路call就分析完成了定位寻路点之前我们已经找到了走路call,但是测试了之后发现只能走一小段距离。如果我们想要实现寻路

2022-04-24 10:46:49 1918

原创 016 可接任务遍历(链表+二叉树)

文章目录可接任务遍历可接任务ID可接任务链表数据整理可接任务属性数据整理可接任务遍历首先搜索一下任务名字找到当前可接任务的地址然后搜索上一层偏移对这个地址下访问断点点击全部追踪,此时会刷新右侧的界面,让断点断下[rbp]就是我们要追的任务名字,但是这里可以直接跳过追踪的过程直接来到第三层返回地址,往上翻来到任务名字库的地方。任务名字库的可接任务和已接任务都会经过这个地方,但是返回的时候,返回的位置是不一样的。可接任务ID这里继续追任务ID->ediedi来源于

2022-04-18 21:59:40 1689

原创 015 已接任务链表和任务库二叉树遍历

文章目录任务名字库已接任务对于游戏的任务数据来说,分为三大块,已接任务,可接任务和任务库。对于任务数据来说,一般都是从名字入手任务名字库首先来找任务的名字库从任务名字入手直接搜索名字,然后把中间的这一块连续地址的任务名字拉下来。这一块很明显就是属于任务库里的内容,只要下访问断点,就能追到相关的数据结构在苏醒一的地址下断,然后点开任务面板,点击全部追踪此时断点断下返回上层,这里要追rcx再返回上层,这里要追r8,得到下面的偏移rsi+0x74rsi来源于rdx返回上

2022-04-11 11:32:23 1595

原创 014 怪物过滤的设计和实现

文章目录怪物过滤的设计之前我们已经完成了自动打怪,自动技能和自动吃药的功能。接下来需要实现自动任务。那么现在就会遇到这么一个问题,大部分的任务都是指定去打某些怪物,但是我们的自动打怪都是默认攻击最近的怪物,这里就需要用到怪物过滤的功能了。怪物过滤的设计新建一个类,命名为MonsterFilter//过滤的列表vector<wstring> m_FilterList;首先准备一个过滤的怪物列表,把不需要攻击的怪物放到这个列表里 。//攻击的列表vector<wstring&

2022-04-05 22:42:37 1804 3

原创 013 自动吃药功能的设计和实现

文章目录功能设计药品表设计代码实现补充之前我们已经完成了自动打怪和自动技能的功能,但是会存在一个问题,当技能释放多了以后,MP就不够了。这个时候我们就需要通过自动吃药的功能,给前两个功能持续输出动力。功能设计自动吃药的逻辑和自动技能的逻辑思想一样,都是通过建表的思想,判断各种条件,筛选出当前最适合的一个药品,然后调用吃药call。现在假设有三种药药1 回血100 1级药2 回血500 10级药3 回血1000 20级当角色在1-10级的时候只需要使用药1即可;在10-20级的时候,优先使用

2022-03-30 17:17:47 1896 1

原创 012 背包二叉树遍历分析和代码编写

文章目录背包属性遍历物品名字库遍历数据整理代码编写背包属性遍历[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmv8DqwV-1645430806268)(012 背包二叉树遍历分析和代码编写.assets/1641096682839.png)]从物品数量入手,搜索2字节筛选出唯一的值下两字节的访问断点,鼠标移动到物品上面,断点断下物品数量=r14+0x10这里就能得到一个+0x10的偏移。然后记录下每层的返回地址r14来源于r9r9来源于rsi

2022-03-25 19:48:09 2580 1

原创 011 吃药call功能分析和代码编写

文章目录定位吃药call代码编写定位吃药call在编写自动吃药功能之前还需要两个数据,一个是吃药的功能call,另一个是当前的背包遍历,我们先来找吃药call。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0i3dHnw-1645430627467)(011 吃药call功能分析和代码编写.assets/1642770885951.png)]首先来到明文封包call头部吃药让断点断下返回上一层,这一层是明文的发包call,继续返一层到功能call这里就是

2022-03-22 10:23:08 2743

原创 010 自动技能的设计和实现

文章目录自动技能的设计技能表的设计初始化全局技能表获取最优技能自动技能的设计首先新增一个技能管理类。我们先说最简单的自动技能的逻辑,实际上就是让玩家自己将技能设置好,然后挨个释放技能。这种逻辑写起来并不复杂,只需要将所有的技能数据全部放到容器里,然后挨个释放即可。在这个基础上,可以再增加一些逻辑,例如有一部分技能是回血技能,那么我们就去判断当前的人物血量,只有当血量到一定的阈值才进行释放。技能表的设计接着我们来设计一套自己的选技能的逻辑。首先设计一个技能详情的结构体//技能使用详情stru

2022-03-19 10:34:06 1198

原创 009 自动打怪功能的设计和实现

文章目录界面代码流程设计取最近怪物自动打怪界面代码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pY3AZ993-1645430370274)(009 自动打怪功能的设计和实现.assets/1642605046746.png)]首先新增一个复选框,绑定控件变量和按钮事件,然后在按钮事件添加如下代码//自动打怪void MainWnd::OnBnClickedCheck1(){ static HANDLE hThread = 0; if (m_Auto_At

2022-03-15 18:17:25 3484 1

原创 008 释放技能call分析

文章目录释放技能分析定位普通攻击call数据整理代码编写释放技能分析接着我们需要拿到释放技能的数据首先来到明文发包call头部释放技能让断点断下此时第一次返回的call是选怪的封包call。所有的传奇类的游戏,都需要先选中怪物,然后在走近怪物,最后攻击我们在人物打怪的中途断下,此时返回的第一层地址才是技能call。这一层的call被加密了。我们需要返回到第二层。| mov dword ptr ss:[rsp+0x30],eax | rsp+0x30 计

2022-03-13 10:44:44 3072

原创 007 定位明文封包call

文章目录明文封包call的作用定位发包函数定位线程发包跳出线程发包定位喊话callTip明文封包call的作用在网络游戏中,客户端和服务器的通信基于一系列的数据包。每个数据包都类似于一条指令,客户端和服务器在这个系列指令中完成指定动作。客户端要与服务器进行通信,必须调用下面的三个发包函数发送数据包send();sendto();WSASend();那么我们只要在这三个函数下断点,然后进行堆栈回溯分析,就能准确定位关键的函数调用链。在这条链上,快速排查出需要的功能call。明文封包call的

2022-03-10 20:55:11 3609

原创 006 技能数组分析和代码编写

文章目录技能遍历技能名字数据整理代码编写现在我们已经有了人物的数据和周围对象的数据,还差一个技能数据和释放技能call,就可以完成自动打怪的功能。接着我们来找技能遍历的数据技能遍历以技能的当前经验为突破口直接搜索当前经验值筛选得到唯一的一个数值下访问断点,让断点断下,此时[rax]就是我们要追的数值[rax]rax来源于上面的call这个call传入了一个技能ID和一个基地址作为参数,我们进入call内追rax的来源经过这三个步骤rax变成了[rax*10+rdx+4]

2022-03-07 18:39:20 1187 1

原创 005 周围遍历二叉树分析和代码编写

文章目录周围遍历分析定位角色名字偏移玩家名字偏移NPC名字偏移数据整理代码编写所谓的周围遍历,其实就是人物附近所有的怪物 NPC 和玩家信息,拿到了这些数据,我们就可以实时获得当前人物对象周围有哪些数据。对于编写自动打怪来说,需要的是周围的怪物的数据,ID 名字血量坐标等等。周围遍历分析首先从怪物的血量入手直接搜索血量然后筛选出唯一的值对血量下访问断点,断在了我们之前找人物血量的地方[rax+0x65C]+0x1ACrax来源于rbxrbx来源于rcxrcx来源于rax,再进

2022-03-04 20:51:49 2592 1

原创 004 人物数据查找和代码编写

文章目录角色血量基址查找分析角色其他属性分析角色名字搜索角色坐标数据整理代码编写接着我们来开始找游戏数据,以编写自动打怪为目标,找齐这个功能所需要的所有的数据。第一个需要用到的数据就是角色属性。角色血量基址查找直接搜索当前人物的血值修改血值之后再次扫描接着我们修改第二个数值,然后打开角色属性。发现第一个数值也会跟着修改,说明第一个数值的来源是第二个地址对这个地址下内存访问断点,断点断下。[rax+0x1AC]是人物血量,这里就可以获得人物血量的两层偏移[[rsi+0x65C]+0x1A

2022-03-02 10:01:59 2086 3

原创 003 辅助框架的代码实现

文章目录StuCPublic公共函数MemOper 内存操作GlobalData 全局数据接着上一篇文章,我们来聊关于整个辅助框架的代码实现Stu按照常规的思路,我们来构想一下接下来的开发过程。首先我们需要找到人物的数据,然后编写代码的时候设计一个人物数据的结构体;接着周围遍历的数据,又要设计一个周围遍历的结构体;后续用到每一个新的数据,都要设计一个结构体来存放。等写了两三个游戏以后就会发现,很多代码都在重复写。那么这就引出了一个数据管理的问题,怎么样用最高效的方式去管理这些数据。其实很多对象有一

2022-02-28 09:54:05 1515 1

原创 002 辅助框架的设计

文章目录新建MFC项目辅助框架设计小结如果你大概了解过游戏引擎的概念,就会知道 游戏引擎是指一些已编写好的核心组件。为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。游戏引擎有一套通用的框架可以复用,那么游戏辅助当然也有。新建MFC项目首先新建一个MFC的项目,命名为GamePluginFrame。新建一个对话框资源然后添加一个窗口类。记得将项目属性设置为x64,因为传奇永恒是64位的游戏。然后在MFC项目的InitInsta

2022-02-25 10:56:45 1825

原创 001 环境准备

文章目录前言学习目标游戏选择前置知识环境准备游戏数据准备前言这个系列的文章会带领大家从零开始完成一个完整的游戏辅助的设计,整个过程包括所需要游戏数据的查找分析,和代码编写。最后会带大家完成一个具有自动打怪,自动选择技能,自动吃药,自动任务的游戏辅助,并且整个游戏辅助的代码可以作为一套框架套用到任何一个游戏上面。学习目标完成一个具有自动打怪,自动选择技能,自动吃药,自动任务的游戏辅助游戏选择对于一个新手来说,选择一个适合入门的游戏至关重要。个人认为需要考虑下面几个因素:游戏反调试和检测相对弱

2022-02-24 23:30:00 1263

原创 最强黑客库Blackbone使用教程

最强黑客库Blackbone揭秘

2022-01-14 19:37:49 13149 4

原创 Android之Frida框架完全使用指南

文章目录Frida简介环境搭建python安装与虚拟环境配置Frida安装配置代码提示Server环境配置Frida Hook执行HOOKJava层hookHook普通方法重载方法构造方法修改类字段hook内部类和匿名类枚举所有类和方法hook动态加载的DexClassNative层hookhook有导出函数hook无导出函数Frida简介Frida是一款基于Python + JavaScript 的hook框架,本质是一种动态插桩技术。可以用于Android、Windows、iOS等各大平台,其执行脚

2021-10-20 22:00:46 12698 17

原创 Android之Xposed框架完全使用指南

文章目录Xposed环境搭建Xposed简介Xposed原理Xposed的安装Xposed插件开发Xposed插件编写流程Xposed开发之Hook构造函数相关API无参构造函数的hook有参构造函数的hook实际效果Xposed开发之修改属性相关API修改静态字段和成员字段实际效果Xposed开发之hook一般函数相关APIhook一般函数实际效果Xposed开发之主动调用函数相关API调用静态函数调用成员函数实际效果Xposed开发之加壳APP处理实际效果Xposed指纹检测Xposed环境搭建Xp

2021-10-17 19:41:22 9870

原创 VMP分析之VMP2.13插件化分析(四)

文章目录Zeus插件相关介绍初始化Key并解密加载操作码解密操作码取handler解密handler进入handler保存堆栈指令流解密KeyVMP分析插件相关介绍VM分析插件的使用插件化分析VM代码VM指令集说明FKVMP相关介绍使用方法VMSweeper相关介绍使用方法Zeus插件相关介绍开发者: ximo更新时间:2012-1可以分析VM的基本信息,包括解析VM入口信息及handler名,大致是阉割版fkvmp(无解析流程功能)可以自动脱壳保护的壳,包括IAT,资源保护,heap ant

2021-10-10 15:55:45 2100 2

原创 VMP分析之VMP2.13流程分析(三)

文章目录VMP2.X版本特点VMP2.13加壳VMP2.13代码分析进入VM虚拟机保存堆栈保存eflags和edx保存ecx和edi保存ebx保存eax保存ebx ebp和esiVM解码循环解密指令流key解密操作码取加密过的handler解密handler解密操作数执行handler功能VMP2.13流程总结VMP2.X版本特点2.X版本的VMP相对于1.0版本来说有下面的变化自我膨胀,增加了大量混淆指令VM_Context的存放方式由内存改为栈,vmp1区段也没有了有专门分析插件,可以帮助分

2021-10-10 15:50:28 1566

原创 VMP分析之VMP1.09虚拟化架构分析(二)

文章目录示例代码VM完整流程分析VM解码循环保存寄存器环境压入EBP和偏移执行函数恢复寄存器环境总结示例代码示例代码如下:#include "stdafx.h"#include <Windows.h>int Calc(int a,int b){ return a + b;}int main(int argc, char* argv[]){ Calc(2,3); getchar(); return 0;}同样用VMP1.09对程序进行加壳,只对两句代

2021-10-10 15:46:28 1016

原创 VMP分析之VM解码循环与基本架构(一)

文章目录示例代码VMP区段概览VM基本流程跟踪步入虚拟机解密操作码取handlerVMP解码循环保存寄存器环境总结->VM寄存器的基本架构示例代码接下来通过一个简单的Demo来大概了解下VMP代码的整体流程,示例代码如下#include <windows.h>int Calc(int a, int b){ return a + b;}int main(){ Calc(2, 3); system("pause");}这里只对Calc函数中的两条汇编指令进行V

2021-10-10 15:42:54 3925

C++驱动无模块注入代码

驱动无模块注入代码

2022-12-10

x64下隐藏可执行内存

x64隐藏可执行内存..........

2022-12-01

驱动保护进程 句柄降权 杀软自保 游戏破图标技术实现代码

驱动保护进程 句柄降权 杀软自保 游戏破图标技术实现代码

2022-11-19

自己实现的通用游戏辅助框架源码

自己实现的通用游戏辅助框架源码

2022-02-06

VEH+硬件断点实现无痕HOOK

VS2019源码 VEH+硬件断点实现无痕HOOK

2021-09-24

ApkPackTool.zip

JAVA实现简单的APK加固工具 代码可用于学习基础的APK加固过程

2021-09-18

DNGuardUnpackerFr4源码.rar

著名强壳DNGuard的脱壳器源码 只能在XP和VBox下运行,是研究.NET脱壳的非常好的资料

2021-08-04

空空如也

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

TA关注的人

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