在 ida 中,函数签名是:
int __fastcall cocos2d::Image::initWithImageFile(cocos2d::FileUtils *a1, int a2)
我已经做了一个调用函数:
{
Java.perform(function () {
var aes_addr = Module.findBaseAddress("libcocos2dlua.so").add(0x00ad02d0);
var aes_128 = new NativeFunction(aes_addr , 'int', ['pointer','pointer']);
var key = Memory.allocUtf8String('assets/res/spine/E51008/action4.png');
console.log("The result is: ", (aes_128(Java.vm.getEnv().handle, key )));
});
}
setImmediate(main)
但它不正确,因为第一个参数不是 JNIEnv。并且每次运行此功能时都会更改。我不知道现在该怎么办。
------break-----
argc[0] : 0xc36e5440
jvm: 0xc6bc5580
argv[1]:string
------break-----
argc[0] : 0xc36e5e00
jvm: 0xc6bc5580
argv[1]:string