DIVA系列教程 part 6 – 硬编码问题2
DIVA的12关也是关于硬编码的,之前第2关做过一次
- 目标:找出硬编码的内容和位置
- 提示:开发者有时为了方便会硬编码敏感信息
查看 Hardcode2Activity 源代码
根据源码了解到访问控制跟 djni.access() 有关,定义在 DivaJni 中
查看DivaJni源码
分析源码,这是加载 divajni 库来调用其中的access() 函数
这个写法是 java调用c/cpp程序常用的jni接口。查看源码发现确实存在jni文件夹以及 divajni.c程序
查看jni文件夹下divajni.c文件
分析c源码和注释信息,知道access()函数使用strncmp()比较输入的key值与系统中 vendorkey值是否相等,如果匹配返回1,反之为0。
根据程序有:
vendorkey = olsdfgad;lh
输入key值测试通过。