最近想要逆向一个Unity游戏,游戏使用的Unity版本是2020.3.17 无奈dnSpy官方仓库提供的版本直到2019.2.1,想要2020的dll只能自己生成,踩了非常多的坑,特地记录一下首先进入dnSpy-Unity-mono官方仓库,然后跟着它的README一步步走。第一步Pull in the latest Unity mono.dll source code (either git
转载
2024-04-15 23:26:23
264阅读
当前版本的Unity(截至Unity5.5.x)中TextAsset类不支持后缀为lua的文件,将lua文件导入到项目中后,其会被识别为类型为DefaultAsset的文件,即不被Unity原生支持。此外在编辑器模式下也无法直接创建lua文件,需要在文件夹中手动进行创建。经过一番探索,简单实现了在编辑器中创建lua文件和预览lua文件的功能。 一.在编辑器下创建Lua文件打开
工具ILSpy_6.0 GitHub - icsharpcode/ILSpy: .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!Visual Studio 2017需求是对某款单机游戏做本地修改,查看内置的游戏数值,便于制定游戏策略。PS:
前言最近在反编译Unity游戏的时候,遇到了需要增加反作弊机制的要求。一开始利用网上的Process进程读取去操作,经过多番尝试,发现类似于Cheat Engine和变速精灵这类型的进程,居然查找不到Process的Name,同时据网上所说的读取Handle方法,我分别测试了C#(其实使用Unity实现的,但是本质还是C#)的Handle结合User32.dll来读取Handle,但是很遗憾,通过
转载
2024-08-21 10:53:20
248阅读
Android inline hook一般基于这个函数,使用ptrace函数attach一个目标进程,注入定制的so库进入目标进程的地址空间,然后用so里边的函数地址替换目标进程地址空间里原有的函数地址,目标进程运行到原有函数地址时,就会进入你的so库中的函数,而你的函数一般需要将当时目标进程现场保存起来(原函数
转载
2024-03-21 10:51:30
102阅读
手潮了,长时间不做逆向水平就会下降。再次记录一次逆向手段。这次争取写的更全面一些。之前的CSGO只是在windows上的一次简单实践,只是完成了glow esp。这次在Mac OS上进行实践。目标:血量、子弹、弹夹数的修改。TODO:透视、auto aim手段:找到血量、子弹等属性的内存地址,通过这些内存地址反向推理player对象或者结构体的base address和属性的offset。知识:内
转载
2024-04-25 16:55:19
197阅读
2017-05-20聚会回来一如既往的看了会羽毛球比赛,然后想到前几天和朋友讨论的逆向映射的问题,还是简要总结下,免得以后再忘记了!可是当我添加时间……这就有点尴尬了……520还在写技术博客…… 闲话不多说,之前一个问题是想要根据物理页框号得到映射的虚拟地址,一时间不知道如何下手了,在群里和一个朋友讨论了一番,记得之前看swap机制的交换缓存时,记载说系统当要换出一个页面时,可以很容易找
题目是新手笔记,大佬别看了.最重要的第一点,一定要懂正向,了解数据结构,脑中构思功能间的调用关系.比如打怪功能.,点击怪物之后触发的功能调用可能如下鼠标点击CALL { ..判断点的什么东西call { ....选中怪物call { ......走路call { ..........攻击call { 技能CALL { ... ... } } } } } } 这是调用关系的构思,同时还要捋
cocos2d-x先clonegit clone地址 https://github.com/cocos2d/cocos2d-x.gitlua虚拟机相关代码在cocos2d-x\cocos\scripting\lua-bindings\manual里CCLuaEngine.h 引擎CCLuaStack.h 栈进入虚
转载
2024-07-31 20:42:55
237阅读
前言 上一篇,聊到逆向分析是找偏移,有依据地找,效率会快。这一篇聊下找偏移方法。只说概念,具体的细节,后续会配合实战再展开细说。 找偏移的方法1、内存 逆向的目的,是找功能或者数据在内存的地址。最直接的方法,就是在内存里面搜索。 对于数据:可以直接在内存搜索。 对于功能:如果知道代码的特征码,也可以直接在内存寻找。 (所谓代码的特征码,具体是一串字符串,在内存是唯一
一些公用类: @interface ClassCustomClass :NSObject{
NSString *varTest1;
NSString *varTest2;
NSString *varTest3;
}
@property (nonatomic,assign)NSString *varTest1
lua 中,我们可以用 userdata 保存一个 C 结构。当我们为 lua 写扩展时,C 函数中可以利用 lua_touserdata 将 userdata 转换为一个 C 结构指针。 但是,有时候我们却需要把一个指针转换回 lua 中的 userdata 对象。用到它的最常见的地方是封装 GUI ,通常 GUI 的底层是用 C 编码的。当 engine 把鼠标位置或是别的消息拦
转载
2024-05-09 10:26:06
96阅读
C语言的循环结构有for循环、while循环、do循环和goto循环。本文介绍前3种循环方式。1. for循环结构for循环也可以称为步进循环,它的特点是常用于已经明确了循环的范围。看一个简单的C语言代码,具体如下:#include
int main()
{
int nNum=0,nSum=0;
for ( nNum=1; nNum<= 100; nNum ++ )
{
nSum += nN
转载
2024-04-28 19:37:39
73阅读
单向散列算法之——MD5算法MD5算法(Message-Digest Algorithm 5)属于单向散列算法的一种。它的功能是将任意长度的消息在经过处理后输出一个128位的信息,从而实现加密,此加密不可逆,即无法通过密文反推出输入的信息。1、算法原理(1)数据填充填充待加密的消息使其长度与448模512同余(即消息长度=448mod512,byte=56mod64)。因此,消息的长度被拓展至N*
转载
2024-03-15 05:34:29
201阅读
Modern Binary Exploitation是教授二进制漏洞和逆向工程方面的实战攻击技巧的课程,课程安排结合课程教授和动手实践提供学生探索快速发展的安全领域中常用思路和技巧的机会。这里记录笔者根据课程网站学习的 lecure 1 关于逆向以及其常用工具的知识,以供参考和查阅。 lecure 1:逆向及常用工具 主要思路:(1)静态 + 动态调试结合
转载
2024-05-04 17:10:08
38阅读
除此以外,还需要:PETools:查看exe基本信息,在GitHub上开源。UPX.exe:exe加壳工具,也可以用来去UPX壳(但连变种的UPX壳都没法去~),在GitHub上开源。JEB:参考h鶸的文章安装即可?
uncompyle6:把pyc转为python。pip install uncompyle6
Linux的file命令可以帮助我们分析一个未知文件的基本信息。 文章目录buu-eas
转载
2024-05-10 13:54:39
67阅读
前言NSA开源的逆向工具Ghidra,使用Java开发,可作为IDA的替补。下面以bugku逆向模块第一题为例,使用Ghidra分析可执行文件。使用过程首先新建项目,并导入这道题的文件baby.exe。下图是导入的文件的摘要: 导入后,要分析的文件已在项目中显示,如下图所示。双击baby.exe,Ghidra将对其分析,然后进入代码浏览器。分析前弹出一个方框,勾选分析选项:在此先将这些选项的含义记
转载
2024-04-24 07:11:43
248阅读
一、所需工具一台已Root的手机(不建议安卓版本高于8.1,IOS不会)xposed、xposed Install(XAppDebug、Build PropEnhancer、JustTrystMe…)charles(或其他抓包http工具)、Wireshark(socket、tcp、ip、tcp/ip 等)非http请求需要它Android Studio(我使用的是Smail打桩进行动态调试,需要
转载
2024-05-27 12:39:27
163阅读
文章目录0x01、逆向分析基础介绍1、逆向分析概述2、逆向分析准备工作基础知识准备-汇编语言基础逆向分析工具准备3、逆向分析的学术价值0x02、逆向分析的作用方向1、破解软件破解软件思路2、木马、病毒等恶意代码的分析3、内部算法的分析4、对软件进行修改、二次开发、扩展其功能0x03、逆向分析工具的简单介绍查找软件是否加壳(PEID)识别软件使用什么语言编写的(DIE)反汇编调试工具(OllyDb
创新项目实训学习笔记-Unity-1前言Transform类成员变量函数 前言刚刚接触unity时,有一种耳目一新的感觉,这是一种可以实时看到效果,而且十分简单好上手的综合型游戏开发工具,也是一个专业的游戏引擎。通过鼠标简单的点选就可以创造出许多在开发工具中内置的简单的形状,为脚本中的变量赋值只许使用简单的点选即可实现,同时也可以随时切换2D的界面和3D的游戏场景进行编程,十分的简单明了。Tra