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

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


image1.png (32.47 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传



image2.png (27.76 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传

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退出编辑器,按回车执行,得到结果。


image3.png (63.98 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传

最终得到答案: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。


image4.png (43.89 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传



image5.png (42.7 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传

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。


image6.png (100.02 KB, 下载次数: 0)
下载附件
2023-2-7 12:26 上传

仿宋, 下载次数

jackyyue_cn   

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


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

省略了写代码的工作量。
laustar   

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


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

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

谢谢分享!
15208939712   

学习到了,感谢楼主分享
sun_shb
OP
  


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

互相学习。。。。。。。。。。。。
晒太阳的猫   

学习到了,感谢楼主分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部