我有一个 libcocos2djs.so 文件,大概是一个使用 Cocos2d 的手机游戏。结果file:
ELF 32 位 LSB 共享对象,ARM,EABI5 版本 1 (SYSV),动态链接,解释器 /system/bin/linker,剥离
游戏向游戏服务器发送 HTTP 请求。对于每一个请求,程序都会在请求 URL 中添加一个整数时间戳查询参数,然后计算 URL 与秘密字符串连接的 MD5 哈希值,然后将此 MD5 哈希值作为查询参数添加到 URL 中。
例子:
原始网址:/some_endpoint
带时间戳:/some_endpoint&time=324234243
使用哈希(MD5 上面的字符串与一个秘密字符串连接):/some_endpoint&time=324234243&hash=870839dba52a8fc6f47f44742116a40b
这个秘密字符串是我想找出的。
我学会了使用支持 ARM 的 objdump 版本来反汇编这个目标文件,但是由于我的汇编知识有限,我不知道从哪里开始,如果有人能指出我正确的方向就太好了。我只需要一个秘密字符串。
旧版本的游戏使用的是Unity,很容易反编译,我发现源代码中的秘密字符串是硬编码的。他们为新版本使用了一个新的秘密字符串,而且这个秘密字符串很可能仍然在源代码中进行了硬编码。不确定这些信息是否有帮助。