Jieming's Blog

To Be A Loyal Dependable Person!

修改内核绕过反调试

本文是在lcweik大神一文的基础上,使用dd命令来辅助实现内核的提取与刷写,实现手机内核的逆向与二进制修改,从而绕过app程序的反调试。 详细教程点我查看,教程已经详细介绍了实现过程中的每个步骤,这里分享下我在实现过程中的几点感悟: 1.教程中提供的abootimg工具是在Mac系统下使用,Ubuntu系统直接去Ubuntu Software Center下载安装。 2.教程中有个小错误。......

0ctf 2015 simple writeup

本文为2015年0ctf中simple的writeup。 Writeup首先点我下载题目。直接使用jeb反编译,关键代码如下: 找到flag.txt,但是里面的内容并不是flag。 在smali基础上进行动态调试,调试教程点我查看。在关键位置下断,查看存放flag的寄存器的值。 flag是0ctf{It's_More_Than_Meets_The_Eye!}。 ...

pragyan-ctf 2015 Fast and Furious writeup

本文为2015年pragyan-ctf中Fast and Furious的writeup。 Writeup首先点我下载题目。直接使用jeb反编译,关键代码如下: 程序逻辑简单,flag只可能存在于①或②,首先对Timer.schedule()分析。 运行程序发现Toast.makeText()的内容不断变化,并且从代码中没有看出flag存在的迹象。 给出①的运算过程: 12345678......

lctf 2016 android100 writeup

本文为2016年lctf中android100的writeup。 Writeup首先点我下载题目。直接用jeb反编译,发现本题没有涉及到so,都是在Java层进行加密。 题目简单,所以直接给出解密程序。 ...

ssctf 2016 Seclreg writeup

本文为2016年ssctf中Seclreg的writeup。 Seclreg writeup首先点我下载题目。直接使用jeb反编译,关键代码如下: getResources().getString(2131034119)是为了得到strings.xml中username字符串的值,结果是secl-007,故编号是secl-007。 IDA反汇编so,入口函数是Java_com_......

京津冀挑战赛 2016 sysndhy writeup

本文为2016年京津冀挑战赛中sysndhy的writeup。 Writeup首先点我下载题目。直接使用jeb反编译,关键代码如下: Base64.encode(input.getBytes())是对输入进行base64编码。 IDA反汇编so,发现check进行了加密处理。so中没有JNI_Onload,故只可能在init.array中解密check。 将init_array的c......

京津冀挑战赛 2016 possible writeup

本文为2016年京津冀挑战赛中possible的writeup。 Writeup首先点我下载题目。直接使用jeb反编译,关键代码如下: 在SO层通过反射得到num和indexArray两个数组,当符合一定条件时将answerNum设置成解密密钥,继而进行三重AES解密。符合SO层条件的answerNum会有多个,但是只有一个answerNum能解密密文,其他answerNum解密密文......

google-ctf 2016 ill-intentions writeup

本文为2016年google-ctf中ill-intentions的writeup。 ill-intentions writeup首先点我下载题目。直接使用jeb反编译,分析APK后觉得flag只会存在于广播的msg。 在smali中插入Log日志,打印msg。 对Acitivity设置android:exported="true"属性,用命令的形式启动Act......

2015 MSC_2 writeup

本文为2015年MSC中第二题的writeup。 MSC_2 writeup首先点我下载题目。本题中的反调试检测都是通过读取/proc/pid/status中TracerPid值来判断是否被调试,如果不为0则退成程序。通过修改Nexus 4手机内核让TracerPid恒为0来绕过反调试,修改内核教程点我查看。 在Java层有对APK进行签名校验,通过修改smali可以绕过。 解题思路:把精力......

lctf 2016 android200 writeup

本文为2016年lctf中android200的writeup。 Writeup首先点我下载题目。直接用jeb反编译,入口代码如下: 使用IDA反汇编,先看init_array。在init_array中看到secret和base码(后面用到的加密算法就是base64算法)。 JNI_Onload中将form和f0rm进行了对调,所以真正调用的截取字符串的方法是f0rm。 查看checkP......