bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里

1. Timer (阿里CTF)

一道安卓逆向题,以前没遇见过,并且没有工具!心中飘过一句mmp…还是先请教一下别人吧
先安装一个apk反编译工具,再安装安卓助手,缺一不可!
将其拖入反编译工具,得知这一道安卓题大致意思是过二十万秒后给出flag,一万头草泥马奔腾而过。。。。。。
关键代码如下,可以写个脚本模拟过完二十万秒,输出k,
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第1张图片

public class text {
	public static void main(String[] args) {
	        int k = 0;
	        for(int time =200000;time>0;time--) {
	        	if(is2(time)) {
	        		k +=100;
	        	}else
	        	{
	        		--k;
	        	}
	        }
	        System.out.println(k);
	}

    public static boolean is2(int n) {
        boolean v1 = true;
        if(n > 3) {
            if(n % 2 != 0 && n % 3 != 0) {
                int v0 = 5;
                while(true) {
                    if(v0 * v0 <= n) {
                        if(n % v0 != 0 && n % (v0 + 2) != 0) {
                            v0 += 6;
                            continue;
                        }
 
                        return false;
                    }
                    else {
                        return v1;
                    }
                }
            }
            v1 = false;
        }
        else if(n <= 1) {
            v1 = false;
        }
        return v1;
    }
}

代码来之不易,请勿抄袭(其实这个脚本也是我上网查找的,emmmmm)
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第2张图片
将1616384赋值给k,并删除上面的判断,运行app得到flag:flag{Y0vAr3TimerMa3te7}

2.逆向入门

这道题的程序我的win10系统无法运行。
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第3张图片将其脱壳结果发现不是有效的PE文件:
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第4张图片再拖入IDA查看十六进制视图,偶然发现重要信息:
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第5张图片上图中红线画出的:data:image/png;base 64
其中image/png显示这是一个图片,而png格式经过我的百度发现可以用IE浏览器打开,于是
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第6张图片然后扫描二维码就行了:
bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里_第7张图片
答案就出来了。

你可能感兴趣的:(bugku逆向练习:Timer(阿里CTF)与逆向入门--沙窝里)