zoukankan      html  css  js  c++  java
  • 攻防世界Mobile6 app1 XCTF详解

    XCTF_app1

    先安装看看

    点击芝麻开门之后会弹出“年轻人不要耍小聪明噢”

    这大概就能看懂是点击之后进行判断,那就直接去看JEB,看看判断条件是什么

      V1是输入的字符串,V2获取包信息(百度的),V3获取版本名(百度的),V4获取版本号(还是百度的)。剩下的就简单明了了,先判断输入的长度跟版本名长度是否相同,若不相同跳出,若相同继续判断。再循环判断输入的字符串V1的每一个字符是否都等于版本名(V3)与版本号(V4)的异或值相等。

      所以我们逆向要的就是输入的flag==版本名与版本号的异或

      百度看看获取版本名与版本号的方法,发现aapt工具,这个工具其实也挺常用的(指我第一次听说,但是用everything搜到了),在APK改之理(APKIDE)中就有集成

    cmd cd到aapt所在路径,使用aapt dump badging 【apk路径】命令就可以获取相关信息了

    versionCode就是版本号,versionName就是版本名,很简单就能获得这个的异或值

    1 str = "X<cP[?PHNB<P?aj'"
    2 for i in str:
    3     sum = ord(i) ^ 15
    4     print(chr(sum), end='')

  • 相关阅读:
    2021.5.16 Android聊天功能
    2021.5.15 Android Gestures示例
    2021.5.14 程序员修炼之路:从小工到专家阅读笔记02
    KL 散度和交叉熵
    UBOOT学习
    UCOSII学习
    cortex-M3/M4体系学习
    一步步写RTOS
    38 操作系统-中断处理与特权级转移
    MDK、IAR将变量定义到指定位置
  • 原文地址:https://www.cnblogs.com/CimeLi/p/12286821.html
Copyright © 2011-2022 走看看