[SWPU2019] Android2

[SWPU2019] Android2

[SWPU2019] Android2

[SWPU2019] Android2

[SWPU2019] Android2

有一个超长的线程延迟和永远为假的判断条件,应该就是要修改这两点。

使用apktool反编译apk之后,直接打开MainActivity.smali文件,找到 1000000000的16进制 <span class="ne-text">0x3b9aca00</span>

[SWPU2019] Android2

全部改完之后使用apktool重新打包并签名,安装到模拟器里

[SWPU2019] Android2

这样在进入程序就会输出内容了,提示flag是之前的假flag的加密结果

[SWPU2019] Android2
char *__fastcall decode(char *a1, int a2)
{
  int i; // [xsp+10h] [xbp-10h]

  for ( i = 0; i < (unsigned __int64)strlen(a1); ++i )
  {
    if ( (unsigned __int8)a1[i] < 0x41u || (unsigned __int8)a1[i] > 0x5Au )
    {
      if ( (unsigned __int8)a1[i] >= 0x61u && (unsigned __int8)a1[i] 0x7Au )
        a1[i] = ((unsigned __int8)a1[i] - 97 + a2) % 26 + 97;
    }
    else
    {
      a1[i] = ((unsigned __int8)a1[i] - 65 + a2) % 26 + 65;
    }
  }
  return a

不难发现,解密只针对了字母进行加密,符号和数字被排除在外了,而且大写字母只会变成大写字母,小写字母只会变成小写字母,但是有一个a2未知数在捣乱,需要利用26次循坏,每个结果挨个尝试才可以,代码如下:

s = "flag{WeLcome_to-SWPU}}"
for x in range(0,26):
    for v in s:
        if v >= "A" and v "Z":
            v = chr(((ord(v) - 65) - x)%26 + 65)
        if v >= "a" and v "z":
            v = chr(((ord(v) - 97) - x)%26 + 97)
        print(v,end="")
    print()

得到的结果为:

flag{WeLcome_to-SWPU}}
ekzf{VdKbnld_sn-RVOT}}
djye{UcJamkc_rm-QUNS}}
cixd{TbIzljb_ql-PTMR}}
bhwc{SaHykia_pk-OSLQ}}
agvb{RzGxjhz_oj-NRKP}}
zfua{QyFwigy_ni-MQJO}}
yetz{PxEvhfx_mh-LPIN}}
xdsy{OwDugew_lg-KOHM}}
wcrx{NvCtfdv_kf-JNGL}}
vbqw{MuBsecu_je-IMFK}}
uapv{LtArdbt_id-HLEJ}}
tzou{KsZqcas_hc-GKDI}}
synt{JrYpbzr_gb-FJCH}}
rxms{IqXoayq_fa-EIBG}}
qwlr{HpWnzxp_ez-DHAF}}
pvkq{GoVmywo_dy-CGZE}}
oujp{FnUlxvn_cx-BFYD}}
ntio{EmTkwum_bw-AEXC}}
mshn{DlSjvtl_av-ZDWB}}
lrgm{CkRiusk_zu-YCVA}}
kqfl{BjQhtrj_yt-XBUZ}}
jpek{AiPgsqi_xs-WATY}}
iodj{ZhOfrph_wr-VZSX}}
hnci{YgNeqog_vq-UYRW}}
gmbh{XfMdpnf_up-TXQV}}

用flag{}包裹之后挨个提交尝试之后, 竟然都不正确!!!!

那么我就将前面的都改成flag,又尝试了一次, 还是不对!!!!

最后再删除一个 <span class="ne-text">}</span>符号,终于找到了结果为 <span class="ne-text">flag{BjQhtrj_yt-XBUZ}</span>,由 <span class="ne-text">kqfl{BjQhtrj_yt-XBUZ}}</span>变换而来

Original: https://www.cnblogs.com/WXjzc/p/16098024.html
Author: WXjzc
Title: [SWPU2019] Android2

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/601173/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Maven的工作机制

    Maven是 Apache 软件基金会组织维护的一款专门为 Java 项目提供 构建和 依赖管理支持的工具。 ·首先, Maven核心程序:负责Maven的总体调度,具体操作使用的…

    数据库 2023年6月16日
    082
  • 使用Docker安装FastDFS

    1. 获取镜像 可以利用已有的FastDFS Docker镜像来运行FastDFS。 获取镜像可以通过下载: sudo docker image pull delron/fastd…

    数据库 2023年6月14日
    0100
  • Java中如何遍历字符串呢?

    字符串是程序开发中我们见的最多的一种数据类型 对字符串的操作,也是我们日常涉及的最多的一种操作方式,那么如何遍历字符串为字符并输出呢? 下面笔者讲述三种操作方式,如下所示 1.直接…

    数据库 2023年6月11日
    060
  • 最新漏洞:Spring Framework远程代码执行漏洞

    Spring Framework远程代码执行漏洞 发布时间 2022-03-31 漏洞等级 High CVE编号 CVE-2022-22965 影响范围:同时满足以下三个条件可确定…

    数据库 2023年6月6日
    094
  • windows与linux查看文件md5值

    windows CertUtil -hashfile FilePath MD5 linux md5sum FilePath Original: https://www.cnblog…

    数据库 2023年6月11日
    089
  • MDC日志链路设计

    正文 本篇博客主题是MDC(MDC 全称是 Mapped Diagnostic Context,可以粗略的理解成是一个线程安全的存放诊断日志的容器),其具体流程是通过某些标识将整个…

    数据库 2023年6月6日
    0103
  • Python 学习笔记(六)–线程

    1.自定义进程 自定义进程类,继承Process类,重写run方法(重写Process的run方法)。 from multiprocessing import Process im…

    数据库 2023年6月16日
    0126
  • CMD 命令汇总

    CMD 常用命令 常用命令 作用 D: 切换到 D 盘下 dir 查看当前路径下的全部内容 cd 盘符:\目录1\目录2…… 进入多级目录 cd .. 回退…

    数据库 2023年6月6日
    071
  • MySQL快速创建800w条测试数据表&深度分页

    MySQL快速创建800w条测试数据表&深度分页 如果一条一条插入普通表的话,效率太低下,但内存表插入速度是很快的,可以先建立一张内存表,插入数据后,在导入到普通表中。 1…

    数据库 2023年6月14日
    0101
  • 实现线程的两种方式

    实现Runnable接口如果当前类 不仅要继承其他类( 非Thread类), 还要实现多线程,那么 只能通过当前类实现 Runnable接口来 创建Thread类对象。 实现Run…

    数据库 2023年6月16日
    0120
  • Java并发编程之美

    简介 《Java并发编程之美》分为三部分,第一部分为Java 并发编程基础篇,主要讲解Java 并发编程的基础知识、线程有关的知识和并发编程中的其他相关概念,这些知识在高级篇都会有…

    数据库 2023年6月6日
    0103
  • 第八章:变量、常量和基础类型

    本篇翻译自《Practical Go Lessons》 Chapter 8: Variables, constants and basic types 1 你将在本章中学到什么? …

    数据库 2023年6月6日
    0134
  • [springmvc]乱码问题解决以及JSON和java对象转换的几种方法

    在web服务器配置中直接加上下面的过滤处理 encoding org.springframework.web.filter.CharacterEncodingFilter enco…

    数据库 2023年6月16日
    079
  • 0x01MySQL环境配置与软件安装

    0x01MySQL环境配置与软件安装 工具/原料 操作系统:CentOS7.6 软件版本: MySQL5.7.28 桌面环境:Windows 10 服务器远程工具组合:远程+文件上…

    数据库 2023年6月9日
    088
  • C/C++内存泄漏检测方法

    内存泄漏 检测代码 使用链表记录每个malloc返回的指针,释放时从链表中查找并删除找到对应指针的节点。 最终输出链表,该链表记录了所有没有释放的动态内存。 #include #i…

    数据库 2023年6月14日
    086
  • 配置nginx只打印延迟超过0.1s和非2XX的accesslog

    背景 当业务accesslog全开时,写入es的qps达到了10W,评估后觉得不太值得,所以考虑抽样打印。查看相关文档后发现目前我们使用的nginx版本不支持抽样打印,所以考虑其他…

    数据库 2023年6月9日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球