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值测试通过。

您可能还喜欢...