破解TexturePacker加密资源:使用IDA

    之前我使用动态库注入和API拦截的方法破解过TexturePacker加密资源(详见博文《破解TexturePacker加密资源》)。后来有热心的网友提醒我,用IDA也可以,而且更方便,今天下载IDA 6.6试了一下,这里记录一下操作方法。

    1. 把IDA目录下android_server传到android 目录中
        adb push IDA安装目录\dbgsrv\android_server /data/local/tmp/
        adb shell 进入模拟器
        cd /data/local/tmp
        chmod 755 android_server    给android_server运行权限
        ./android_server    运行android_server,给IDA提供远程调试服务,可以看到它的侦听端口是23946
        su            获得root用户权限(如果提示没有权限,请先root手机)
        

    2. win+r新开一个cmd窗口
        adb forward tcp:23946 tcp:23946    转发windows到手机的端口

    3. 打开IDA,选择Debugger > Attach to process...
        在options里的hostname栏填localhost或127.0.0.1,port填23946

    4. 选择你要debug的进程,然后选择module。
        这里我要debug的是libcocos2djs.so,选中它,然后会列出所有的接口,Ctrl+F可以搜索接口名。
        cocos2d-x纹理解密的接口是ccDecodeEncodedPvr,双击搜到接口可以在IDA-View窗口显示,然后Tab键会显示Pseudocode(或者F5显示单个函数伪代码,Ctrl-F5显示整个文件),然后就可以下断点了。F9是Continue Process。下面是我debug出的微信平台上某游戏的密码:

        组合起来,密码就是:AA6D76770A82E8857AAXXXXX2E082244。打开TexturePacker,选择游戏包里的ccz文件,粘贴密码,解密成功!
        

没有更多推荐了,返回首页