0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

逆向基础题:安装包是11.ab,要求密码验证登陆

Q哥学逆向 来源:Linux逆向 作者:Linux逆向 2020-11-02 11:40 次阅读

题目来源:2019XCTF MOBILE 第三题 题目:安装包是11.ab,要求密码验证登陆。 知识点:Frida objection,SQLCipher加解密,Android备份和还原。 解题过程: 根据Android备份和还原知识,知道ab文件为backup文件,可以利用abe工具解压,得到如下文件。

取出base.apk,拉入JADX分析,根据Android数据库SQLCipher加解密知识,加密的数据库密码是getWritableDatabase函数参数决定的。

下面我们利用X86模拟器安装apk和frida-servr-android-X86,然后利用Frida Objection打印出getWritableDatabase函数的入参来获取数据库密码。 首先静态分析,发现getWritableDatabase定义在net.sqlcipher.database.SQLiteOpenHelper类中,利用objection确认下getWritableDatabase原型。

然后我们hook这个getWritableDatabase函数,打印返回值、调用栈和参数信息

根据源码分析getWritableDatabase是在MainActivity类的a函数中调用的,而a函数在OnCreate中被调用,我们打开apk后,getWritableDatabase函数其实已经执行完毕了。所以我们采用堆上调用实例方法的方式。这里注意我们尝试在启动objection时添加参数-d或--startup-command=“android hooking watch…”是没法hook到MainActivity类的a函数的。 第一,查看MainActvity类中所以方法列表,可以看到a函数。

第二,查看MainActvity实例的handle值。

第三,触发实例方法a,如下所示,可以看到数据库密码是“ae56f99”。

拿到数据库密码后可以用工具查看数据库信息,根据代码知道SQLCipher版本是3.4.0。

所以下图中选择SQLCipher 3,如下所示

这样得到flag值,如下光亮处所示,很明显这是base64加密数据。

直接进行base64解码,这样我们就得到了flag为Tctf{H3ll0_Do_Y0u_Lov3_Tenc3nt!}

责任编辑:xj

原文标题:逆向基础题十一:获取Flag

文章出处:【微信公众号:Linux逆向】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Flag
    +关注

    关注

    0

    文章

    11

    浏览量

    8120
  • 安装包
    +关注

    关注

    1

    文章

    15

    浏览量

    3441
  • apk
    apk
    +关注

    关注

    0

    文章

    23

    浏览量

    4871

原文标题:逆向基础题十一:获取Flag

文章出处:【微信号:Reverse16,微信公众号:Q哥学逆向】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    苹果Vision Pro将于11月15日登陆阿联酋和韩国

    10月31日最新消息显示,苹果公司的Vision Pro产品全球推广步伐未减。苹果全球营销高级副总裁Greg Joswiak通过社交媒体平台宣布,Apple Vision Pro将于11月15日正式登陆阿联酋与韩国市场。
    的头像 发表于 10-31 15:49 173次阅读

    Xilinx Vivado SDK 2019.1安装教程

    下载这个最大的、支持所有的 OS 如 Windows/Linux 的安装包
    的头像 发表于 10-29 09:47 103次阅读
    Xilinx Vivado SDK 2019.1<b class='flag-5'>安装</b>教程

    linux版本的silvaco安装包有无?

    哪位大佬有linxu版本的silvaco安装包
    发表于 09-22 10:45

    notepad++安装的压缩

    本压缩文件为notepad++的压缩安装包,可以直接解压之后使用
    发表于 07-01 15:07 6次下载

    windows10系统下,ESP32和PC的串口链接配置中,putty登陆远程SSH时,账户名和密码怎么选择?

    windows10系统下,ESP32 和 PC的串口链接配置中,putty登陆远程SSH时,账户名和密码怎么选择?即链接到本地主机IP地址后,账户名和密码是什么?
    发表于 06-25 06:34

    Win10 PRO的系统,下载了IDF的离线安装包安装到最后总是报告错误怎么解决?

    Win10 PRO的系统,下载了IDF的离线安装包安装到最后总是报告错误,错误信息如附件中所示。 有遇到过这个情况的朋友帮忙支个招,谢谢啦!
    发表于 06-19 08:10

    用labview生成的安装包,在别的电脑上安装时直接报错,提示customresource2052.dll的错误

    提示customresource2052.dll的错误说是无法加载,但是这个dll就在安装包的supportfiles文件夹内,由于这个问题导致安装程序直接退出
    发表于 06-06 21:54

    Win11使用的是离线安装包 最后运行esp-idf 5.1 cmd报错怎么解决?

    使用的是离线安装包 最后运行esp-idf 5.1 cmd 报错,尝试了多种方法没解决
    发表于 06-06 06:50

    请问有couplefil破解版安装包

    请问有couplefil破解版安装包
    发表于 05-22 11:38

    防火墙登陆不上的问题排查

    防火墙没有其它找回密码的方法,若密码忘记,只能恢复出厂之后用初始密码admin登陆,恢复出厂方法:设备断电,按住设备面板上的clr孔,然后上电,直到面板上stat灯和alarm灯边成红
    发表于 04-19 10:11 1973次阅读
    防火墙<b class='flag-5'>登陆</b>不上的问题排查

    在进行cubemx环境搭建时,安装H7系列的安装包直接崩溃,闪退怎么解决?

    在进行cubemx环境搭建时,一切正常,但是安装H7系列的安装包时,无任何报错,直接崩溃,闪退,并且闪退后cubemx无法正常使用,除非再次安装,这个问题挺大的,我试过6.7 6.8 6.9 cubeIDE有同样的问题。该问题稳
    发表于 03-12 06:21

    下载的free_tricore_entry_tool_chain里的Compiler安装包时出现闪退,安装不了是为什么?

    为什么我打开我下载的free_tricore_entry_tool_chain里的Compiler安装包时出现闪退,安装不了啊?求助
    发表于 02-20 07:13

    如何验证ROS是否安装成功 ubuntu20.04教程

    并执行,成功后界面如下: 如果出现了以下的问题说明,之前的安装没有安装全 输入以下命令,把没安装安装一下就好了(如果显示有几个安装包无法下
    的头像 发表于 12-01 16:51 6073次阅读
    如何<b class='flag-5'>验证</b>ROS是否<b class='flag-5'>安装</b>成功 ubuntu20.04教程

    python运行环境的安装和配置

    环境的安装和配置,帮助您快速上手Python编程。 下载Python安装包 为了安装Python,我们首先需要下载Python的安装包。Python官方网站提供了各个版本的
    的头像 发表于 11-29 16:17 1067次阅读

    AB编程软件及所有组态软件安装教程

    AB编程软件及所有组态软件授权及安装教程
    发表于 11-14 09:21 1次下载