-
-
[原创]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直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: