首页
社区
课程
招聘
[原创]2019看雪CTF 晋级赛Q1 第2题
发表于: 2019-3-23 22:50 4244

[原创]2019看雪CTF 晋级赛Q1 第2题

2019-3-23 22:50
4244

本题是一道android题目。首先分析apk文件
程序入口:com.zhuotong.crackme.MainActivity
入口类继承AppCompiatActivity
public class MainActivity extends AppCompiatActivity
我们看一下AppCompiatActivity内的关键信息:

static {
System.loadLibrary("oo000oo");
}

protected native boolean eq(String arg1) {}

从onStart()方法中可以看出,方法eq(mPassword)进行输入密码判断。为真,进行长度为24的pw字符串拷贝,pw长度不够时,序号补齐。紧跟着后面使用我们输入的pw作为key使用dec()方法进行解密。最终显示解密的flag字串。

通过上面的分析可以发现,此题的关键是eq()函数。

如何真机调试?如何定位JNI_OnLoad这里就不说了,不熟悉的同学可以参考这两篇文章:
定位JNI_OnLoad
搭建Android真机调试环境

JNI_OnLoad 注册了一个native函数sub_784()该函数应该就是eq()函数

如代码中的注释,代码的前半部分是算法的准备工作,与输入的password没有关系,后面才开始对password进行转换。转换是一个类似BASE解码的3变4的操作,最后与字符串“{98gal!Tn?@#fj'j$\g;;”进行比对,相等返回真。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//