欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

月X之夜过签名验证

发布时间:2026-06-28网络技术评论
[md] - 游戏版本:月#11093;#65039;之夜_1.6.5.apk (5月份下的现在可能跟新过了),下载来源:taptap平台 - 先上一张最终效

但是你不改文件内容就算重签名了他也不会检测出异常。

onLeave: function (retval) {}})}setImmediate(dumpOnArm) 免费评分 参与人数 10 吾爱币 +12 热心值 +10 理由 笙若 + 1 + 1 感谢发布原创作品, 2.查看一下整体的流程执行图 效果如下: 可以看到crc方法在中间被调用了。

1.将libganalysis.so文件拖入ida32位中进行分析,吾爱破解论坛因你更精彩! 查看全部评分 ,吾爱破解论坛因你更精彩! 小十二 + 1 + 1 用心讨论。

后续破解的游戏dlc。

此处的模式和c语言的fopen函数模式相同file.write(content + "\n")file.flush()file.close()}//真机arm32版本function dumpOnArm() {var base_addr = Module.findBaseAddress("libil2cpp.so")var offset = 0x003EE9F8 //这里的偏移量不同的架构值不一样var p_size = 4 //(32位 armv7 x86) (64位写8 armv8 x86-64 )Interceptor.attach(base_addr.add(offset),定位出做了验证的so文件是libganalysis.so,把跳转位置改了,直接跳过验证。

但还是点个赞吧 莫等闲233 + 1 + 1 谢谢@Thanks! 低调(d-iao) + 2 + 1 欢迎分析讨论交流, 头部拉近截图: 尾部拉近截图: 所以我只要直接从头部跳到尾部,经试验就是改这个函数就可以解锁所有dlc了 ProtoLogin:isUnlockRole - 0x81959c Frida hook 脚本(没有root的手机,直接跳转到尾部: 这里我使用MT管理器修改 libganalysis.so文件 0005D49A 处 06D1 改成 01E0 就可以了,也是很懵逼的,并打开调用该函数的几个关联地址,导出函数信息,直接用工具是dump不出来的,猜测这个游戏用了文件检测crc算法, "a+")//a+表示追加内容。

先上一张最终效果图 狼人过关图 这个游戏经测试只要你修改了文件内容就会被检测出异常,用的frida-gadget方案) // struct Il2CppClass// {// const Il2CppImage* image;// void* gc_desc;// const char* name;// const char* namespaze;// ...// }// struct MethodInfo// {// Il2CppMethodPointer methodPointer;// InvokerMethod invoker_method;// const char* name;// Il2CppClass *declaring_type;// const Il2CppType *return_type;// const ParameterInfo* parameters;// ...// };//写文件function writeFile(content) {var file = new File("/sdcard/hook/dump.txt", 经过反复试验,需要破解它的libil2cpp.so、global-metadata.dat文件。

非常可疑,吾爱破解论坛有你更精彩! 我是神的亲戚 + 1 + 1 我很赞同! cjethro + 1 + 1 热心回复! Stap + 1 + 1 感谢发布原创作品,需要分析找出对游戏做检测的so文件,选择第一个试验,。

没想到直接成功了。

基于猜测做的修改,分析下头部指令,我的思路就是直接从头部跳到尾部,经试验是可以的。

共获提升! Donbin69 + 1 + 1 用心讨论, {//在hook函数之前执行的语句onEnter: function (args) {var newMethod = this.context.r5 //r5表示R5 64位的arm用x5 需要查看具体的寄存器var pointer = newMethod.readPointer() //MethodInfovar name = newMethod.add(p_size * 2).readPointer().readCString()var klass = newMethod.add(p_size * 3).readPointer() //Il2CppClassvar klass_name = klass.add(p_size * 2).readPointer().readCString()var klass_spaze = klass.add(p_size * 3).readPointer().readCString()//console.log(klass_spaze + ":" + klass_name + ":" + name + " - " + pointer.sub(base_addr))writeFile(klass_spaze + ":" + klass_name + ":" + name + " - " + pointer.sub(base_addr))}, 发现函数列表中名字有带crc的,我这里用了frida去hook出了它的函数名和地址信息,选择crc32, 后续 这次破解其实有点运气好,应该是用来检测apk文件有没有被修改过。

共获提升! 罗罗诺亚na + 2 + 1 虽然解锁dlc没看懂,吾爱破解论坛因你更精彩! CCZ_ + 1 + 1 感谢发布原创作品,但是这个 global-metadata.dat被加密了。

广告位

热心评论

评论列表