XCTF (app1)

打开app。一个文本框,随便输入提示如下图。

打开JEB反编译。

v2调用getPackageInfo获取版本信息。一般 Android 通过 PackageInfo 这个类来获取应用安装包信息,比如应用内包含的所有 Activity 名称、应用版本号之类的。PackageInfo 通过 PackageManager 来获取。

然后取versionName赋值给String 类型的v3,取versionCode赋值给int类型的v4。

Android的版本可以在androidmainfest.xml中定义,主要有android:versionCode和android:versionName

  • android:versionCode:主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。
  • android:versionName:这个是我们常说明的版本号,由三部分组成<major>.<minor>.<point>,该值是个字符串,可以显示给用户。

然后打开MainFest查看。找到code和name。

结合代码写出脚本得到flag。

ss='X<cP[?PHNB<P?aj'
flag=''
for i in ss:
    flag+=chr(ord(i)^15)
print flag

 

posted @ 2019-05-28 14:38  大金刚仔  阅读(522)  评论(0编辑  收藏  举报