安卓手游之coco2djs.so逆向

一、解密主要逻辑代码

即将 assets\src 下的cocos2d-jsb.jscmain.js

1、解密工具:jsc解密v1.44

2、获取秘钥hook

function main() {
    Java.perform(function () {

        var coco = Java.use("org.cocos2dx.lib.Cocos2dxActivity");
        coco.onLoadNativeLibraries.implementation = function(){
            var onLoadNativeLibraries = this.onLoadNativeLibraries();
            hook_key();
        }
      
  })

 }
 function hook_key(){
    Interceptor.attach(Module.findExportByName('libcocos2djs.so','xxtea_decrypt'),{
        onEnter: function(args){
            console.log(Memory.readUtf8String(args[2]));

        },onLeave: function(retval){

        }
    }
    );
 }
setTimeout(main,100);

3、解出来的js代码格式化一下,然后搜索关键词:“ws://”,“send”,“sendmessage”,“encrypt”,“encode”,找到加密逻辑然后分析解密。

二、直接分析coco2djs.so

如果上面步骤分析出不了什么,直接so层hook试试,搜WebSocket::send

在这里插入图片描述

function get_module_address(soname,pianyi)
{
    var module_address = Module.findBaseAddress(soname);
    return module_address.add(pianyi);
}
 
function main()
{
    Java.perform(function () {
        Interceptor.attach(get_module_address("libcocos2djs.so",0x6B8F20),{
            onEnter: function (args) {
                //console.log(new Uint8Array(args[1].readByteArray(args[2].toInt32())).buffer);
                console.log(args[1].readByteArray(args[2].toInt32()));
            },
            onLeave: function (retval) {
                
            }
 
        });
    });
}
 
 
setTimeout(() => {
    main()
}, 200);
 
  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 这个错误提示是在加载数据时出现问题。原因是代码中指定的数据路径为"./coco/val2017.txt",但该路径下的文件"val2017.txt"并不存在。 我们需要检查一下以下几点来解决这个问题: 1. 首先,我们需要确认代码中指定的数据路径是否正确,即"./coco/val2017.txt"是否是正确的路径。如果路径不正确,可以根据实际情况修改代码,确保路径是正确的。 2. 如果确认路径正确,那么我们需要检查一下数据文件"val2017.txt"是否存在于指定的路径下。如果文件不存在,我们需要确保该文件已经正确地放置在了"./coco/"目录下。 3. 另外,我们还需要确认该文件名是否正确,即文件名是否为"val2017.txt"。如果文件名不正确,可能是因为文件重命名了或者文件名拼写错误,需要根据实际情况修改代码中的文件名。 总之,这个错误是由于代码无法找到指定路径下的数据文件导致的。我们需要仔细检查路径的正确性和确保数据文件存在,并且文件名正确。根据实际情况进行相应的修改,以解决这个问题。 ### 回答2: 这个错误信息表示从路径"./coco/val2017.txt"加载数据时出现了错误。val2017.txt是一个文件名,指向了一个路径为"coco\val2017.txt"的文件,但加载数据时出现了问题。 可能的原因有以下几种可能性: 1. 文件路径错误:路径中的斜杠可能不正确。在Windows系统中,文件路径使用反斜杠作为路径分隔符,应该是"coco\\val2017.txt",而不是"coco\val2017.txt"。应该检查文件路径是否正确,并确保使用了正确的路径分隔符。 2. 文件不存在:val2017.txt文件可能不存在于指定路径。请确保文件存在,并且该路径下具有必要的读取权限。可以检查路径是否正确,并使用文件资源管理器或命令行工具验证文件是否存在。 3. 文件损坏或格式错误:val2017.txt文件的内容可能已损坏或格式不正确。这可能是由于文件被意外修改或损坏。可以尝试使用其他文本编辑器打开文件,查看其内容是否正确。如有必要,可以尝试恢复文件的备份版本。 总之,要解决这个问题,需要检查文件路径是否正确,文件是否存在,并验证文件内容是否正确。根据具体情况,可能需要调整代码中指定的文件路径或修复/替换损坏的文件。 ### 回答3: 这个错误信息是因为在加载数据时发生了错误。根据错误信息,可以看出数据加载器试图从路径"./coco/val2017.txt"加载数据,但似乎无法找到或访问该路径下的文件"coco/val2017.txt"。 为了解决这个问题,我们需要确保以下几点: 1. 确认数据文件是否存在:检查"./coco/val2017.txt"路径下是否存在名为"coco/val2017.txt"的文件。如果不存在,需要确认数据文件是否被正确地存放在该路径下。 2. 检查文件路径:需要确保提供给数据加载器的文件路径是正确的。可能是文件路径输入错误导致数据加载失败。请仔细检查路径是否正确,并按照正确的路径格式提供。 3. 确认文件权限:如果文件存在,但没有适当的读取权限,也会导致加载数据失败。请确保当前用户具有读取文件的权限。 总之,以上都是关于错误信息"val: error loading data from ./coco/val2017.txt: val: coco\val2017.txt does"的可能原因和解决方法。根据具体情况,逐一排查这些问题,可以修复数据加载失败的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云霄IT

感谢感谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值