美高梅4688.com某Android手游的lua源码逆向分析及回复

美高梅4688.com 1



lib目录下so的名称

  • 解密函数定位
  • 动态跟踪解密函数流程
  • 静态分析解密函数流程
  • 编写程序进行解密

4.修解密程序解密脚本文件夹验证

美高梅4688.com 2

解密后结果好一直看到lua源码

美高梅4688.com 3

lib目录下so的名称

2. 动态跟踪解密函数流程。

开行游戏后,动态调节该so,loadbuffer上亦然步之操作也其解密函数跟踪分析。(最终跳转的函数为bt_decrypt)

1.getFileData函数

美高梅4688.com 4

2.doGetFileData

美高梅4688.com 5

3.bt_decrypt函数

美高梅4688.com 6

2. 动态跟踪解密函数流程。

起步游戏后,动态调试该so,loadbuffer上一致步的操作也该解密函数跟踪分析。(最终跳转的函数为bt_decrypt)

1.getFileData函数

美高梅4688.com 7

2.doGetFileData

美高梅4688.com 8

3.bt_decrypt函数

美高梅4688.com 9

  • 解密函数定位
  • 动态跟踪解密函数流程
  • 静态分析解密函数流程
  • 编写程序进行解密

新近分析有平等慢性Android上面的手游,反编译后再从asset目录下可看加密了之台本,lib目录下发现lua的so
初步怀疑其利用lua本子实现之

3. 静态分析解密函数流程。

1.分析bt_decrypt函数,有众所周知的脑袋判断操作。

美高梅4688.com 10

美高梅4688.com 11

解析该操作也读取第八号后即1,左移两各类1<<2 == 4 在给定40底各移
刚好4c对应之操作以及函数_Z13decrypt_basicPhi

2.分析decrypt_basic函数,有过滤掉前32员无效操作与读取第九位作为偏移量进行函数操作。

美高梅4688.com 12

不巧移的函数列表

美高梅4688.com 13

3.分析历函数操作,以encrypt_hash_odd为例。(主要对HASH_BITS进行操作,步骤2面临的解密最后得改哈希表进行异或解密)

美高梅4688.com 14

4.法则总结:读取加密脚本的第九号判断,使用相应偏移函数针对性哈希表前32字节进行操作,最后用修改的位数填充到哈希表128各。完成对哈希表的操作,使用该哈希表进行异或解密。

4.编制解密程序解密脚本文件夹验证

美高梅4688.com 15

解密后结果可以一直观看lua源码

美高梅4688.com 16

1. 解密函数定位。

IDA加载SO,导出函数搜索关键字loadbuffer,定位及lua脚本加载的地方。Android
so中使用lua脚本需利用loadbuffer函数进行加载该脚本。

美高梅4688.com 17

3. 静态分析解密函数流程。

1.分析bt_decrypt函数,有显而易见的头颅判断操作。

美高梅4688.com 18

美高梅4688.com 19

解析该操作也读取第八各类后即使1,左移两各项1<<2 == 4 在给定40底个移
刚好4c对应之操作以及函数_Z13decrypt_basicPhi

2.分析decrypt_basic函数,有了滤掉前32位无效操作及读取第九号作为偏移量进行函数操作。

美高梅4688.com 20

不巧移的函数列表

美高梅4688.com 21

3.分析一一函数操作,以encrypt_hash_odd为例。(主要对HASH_BITS进行操作,步骤2饱受之解密最后索要改哈希表进行异或解密)

美高梅4688.com 22

4.原理总结:读取加密脚本的第九各项判断,使用相应偏移函数针对哈希表前32字节进行操作,最后将改的位数填充到哈希表128员。完成对哈希表的操作,使用该哈希表进行异或解密。

美高梅4688.com 23

1. 解密函数定位。

IDA加载SO,导出函数搜索关键字loadbuffer,定位及lua脚本加载的地方。Android
so中使用lua脚本需采取loadbuffer函数进行加载该脚本。

美高梅4688.com 24

新近分析有平等缓缓Android上面的手游,反编译后又打asset目录下可望加密了之台本,lib目录下发现lua的so
初步怀疑其行使lua剧本实现之

发表评论

电子邮件地址不会被公开。 必填项已用*标注