sun_shb 发表于 2023-2-7 12:25

使用objection对吾爱破解2023春节安卓初级题进行快速解题

本帖最后由 sun_shb 于 2023-2-7 12:31 编辑

一、解题领红包之三 {Android 初级题}
1、分析代码
可以知道调用函数decrypt("hnci}|jwfclkczkppkcpmwckng\u007f", 2)可以直接得到答案。


2、使用objection命令得到flag
启动frida环境,启动APP。
使用objection附加APP,附加命令:objection -g com.zj.wuaipojie2023_1 explore
首先搜索对象:android heap search instancescom.zj.wuaipojie2023_3.MainActivity
直接调用实例的方法decrypt(),调用方法:android heap evaluate 5921857,其中5921857为实例句柄
然后输入:console.log("result:"+clazz.decrypt("hnci}|jwfclkczkppkcpmwckng\u007f",2))
输入完成后,按ESC退出编辑器,按回车执行,得到结果。

最终得到答案:flag{zhudajiaxinniankuaile}
二、解题领红包之四 {Android 初级题}
1、分析代码
可以看出输入uid和flag后,会调用函数com.zj.wuaipojie2023_1.A.B(Stringstr, String str2),在B()中最终调用Intrinsics.areEqual(substring,c.cipher(mD5Utils.MD5(base64Utils.encodeToString(bytes)), 5))进行比较,areEqual的第二个参数就是我们需要的flag。


2、使用objection命令得到flag
启动frida环境,启动APP。
使用objection附加APP,附加命令:objection -g com.zj.wuaipojie2023_1 explore
对方法areEqual进行hook,命令格式:android hooking watch class_methodkotlin.jvm.internal.Intrinsics.areEqual --dump-args --dump-return
然后在APP中输入uid=123456,flag随便输入,比如输入flag{aaaa}
在objection中就可以打印出函数areEqual的参数,第二个参数为i72jgg589f9i013f80gh1j5k31h3i925,所以uid=123456对应的答案为:flag{i72jgg589f9i013f80gh1j5k31h3i925}。其他用户可以在APP输入自己的uid得到对应的flag。

jackyyue_cn 发表于 2023-2-7 13:06

这个办法好,对付初级题简单粗暴{:1_921:}{:1_921:}

sun_shb 发表于 2023-2-7 13:12

jackyyue_cn 发表于 2023-2-7 13:06
这个办法好,对付初级题简单粗暴

省略了写代码的工作量。

laustar 发表于 2023-2-7 13:51

这个办法好,对付初级题简单粗暴

sun_shb 发表于 2023-2-7 13:55

laustar 发表于 2023-2-7 13:51
这个办法好,对付初级题简单粗暴

objection用来分析安卓app还是不错的,就是可惜so搞不了。

sun_shb 发表于 2023-2-7 18:54

15208939712 发表于 2023-2-7 17:22
学习到了,感谢楼主分享

互相学习。。。。。。。。。。。。:handshake

晒太阳的猫 发表于 2023-2-8 09:38

学习到了,感谢楼主分享
页: [1]
查看完整版本: 使用objection对吾爱破解2023春节安卓初级题进行快速解题