Comments (7)
使用b (methodinfo)解析出来的 byte[] 会带出 byte所属 class 指针( 或者是使用 findClass()去找到cls),再用m(class) 可以查看该class下面的方法,最后用callFunction(functionPtr,args....) 去调用拿值
至于byte具体要怎么改 你可以用 hexdumpA(mptr) 去读内存,Memory.writeByteArray 去写内存
from il2cpphookscripts.
我试试 多谢
from il2cpphookscripts.
我测试了上述方法,不过觉得这样查询一个值需要嵌套太多次查询。
struct System_Byte_array {
Il2CppObject obj;
Il2CppArrayBounds *bounds;
il2cpp_array_size_t max_length;
uint8_t m_Items[65535];
};
struct Il2CppClass;
struct Il2CppObject
{
Il2CppClass *klass;
void *monitor;
};
typedef uintptr_t il2cpp_array_size_t;
typedef int32_t il2cpp_array_lower_bound_t;
struct Il2CppArrayBounds
{
il2cpp_array_size_t length;
il2cpp_array_lower_bound_t lower_bound;
};
可以看到byte[] 对应结构体System_Byte_array ,那么byte的长度为max_length,数据存放在m_Items当中,
当我获取到参数byte[],那么该地址我偏移一定地址之后不就应该获取到max_length么,这里有些不懂,因为获取到的是类的地址,和这个结构体如何关联
from il2cpphookscripts.
struct Il2CppClass;
struct Il2CppObject
{
Il2CppClass *klass; 1
void *monitor; 4
};
typedef uintptr_t il2cpp_array_size_t;
typedef int32_t il2cpp_array_lower_bound_t;
struct Il2CppArrayBounds
{
il2cpp_array_size_t length; 4
il2cpp_array_lower_bound_t lower_bound; 2
};
如果我偏移11个字节,获取到的仍然不是max_length,这块比较迷糊
from il2cpphookscripts.
通过IDA发现,byte[]的长度是基址偏移24
from il2cpphookscripts.
通过IDA发现,byte[]的长度是基址偏移24
那意思是 64位 你把它当成32位再看?
from il2cpphookscripts.
数组([])类型就是Il2cppArray,直接拿来用就行了
话说你这个脚本写的好杂啊...看不懂@axhlzy
from il2cpphookscripts.
Related Issues (20)
- IOS可以支持吗 HOT 4
- 运行之后使用快捷指令提示not a function HOT 2
- listFieldsFromCls 是否可以增加静态变量 HOT 5
- 请问一下,listFieldsFromCls(klass, instance)这里的instance是啥意思呢 HOT 1
- 请问下 find_method要查找 Dictionary 实例化的函数地址 该如何写 HOT 1
- 如何查找 struct 类型的 接口 HOT 2
- 1
- 建议把namespace搜索且断点也加上 HOT 3
- 大佬有群吗
- 你好,我用模拟器找不到libil2cpp.so,用非root真机修改smali的方式,加载frida so成功,也监听端口了,就是一附加就崩溃 HOT 23
- Frida-Gadget with error Java API not available HOT 2
- 有指定 Unity 版本的方法吗? HOT 4
- Add for termux or jshook HOT 1
- 每次调用函数都会出现 "KeyError: 'message'" 报错信息 HOT 3
- Inquiry about file save function and dump function HOT 7
- 使用showComponents的时候,参数是对象地址,怎么查看当前场景中所有对象呢 HOT 3
- 大哥求助!找不到libil2cpp.so HOT 5
- 返回类型为Vector3的时候类和对象地址是同一个,且不能正确获取到值 HOT 1
- list_Methods之后就卡死了 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from il2cpphookscripts.