-
-
[原创]初试so文件解密
-
发表于:
2020-7-7 13:57
8149
-
这里是2W班5月的习题。题目中对一个native函数进行了加密,导致IDA无法看到运行时的代码。加密方式来自于论坛比较久的帖子ThomasKing大佬的简单粗暴的so加解密实现 。照搬了大佬的代码,然后修改了一下加密方式即可完成解密。
通过本题学习到了so文件的格式解析,基础的加解密思路。
步骤1:尝试用Fart脱壳
顺利完成,查找相关dex
sailfish:/data/data/com.kanxue.test
# grep -ril "MainActivity" ./*.txt
./2203744_classlist.txt
./2203744_classlist_execute.txt
拷贝出2203744大小的dex
步骤2:查看Java层代码
OnCreate去绑定事件,test函数进行的字符串比较
步骤3:查看so文件中test的代码
addr_RegisterNatives:
test
addr_RegisterNatives:
(Ljava/lang/Object;)Z
addr_RegisterNatives
func: 0x8dc5
test是动态注册的,注册地址是0x8dc5
反汇编代码比较奇怪
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!