一、BUUCTF 简单注册器
需要用到jeb,一开始还以为是打开 这个东西,然后发现打开之后出来一个很奇怪的东西,而且还带配乐 然后就觉得不对劲,然后我也不知道为什么就觉得可能是这个 然后就用这个打开试试,果然可以打开。 然后用JEB打开之后是这样的 注意左下角的这个 有个flag包。 我们也不知道哪个真正的有flag,只能自己一个个看。 然后我们选中第一个 按tab键反编译,或者是直接点右键,然后点第一个解析。 然后发现都是一些奇怪的东西,并没有什么意义。 然后选中第二个,然后按tab,然后就会看到这个页面 我们发现这个里面的java代码,好像有点可以看懂。 然后继续往下看 有一个很可疑并且一看就像是flag的地方 就是这一块 我们分析一下可以看到最后一句输出语句,会输出flag{v5}, 所以说只要解出来v5就可以知道flag是什么。 然后直接拿反编译的代码开始写代码 写出来是:
package unit2;
import java.util.*;
public class revapk326 {
public static void main(String[] args) {
int v11 = 0x1F;
int v9 = 2;
int v2 = 1;
char[] v5 = "dd2940c04462b4dd7c450528835cca15".toCharArray();
v5[v9] = ((char)(v5[v9] + v5[3] - 50));
v5[4] = ((char)(v5[v9] + v5[5] - 0x30));
v5[30] = ((char)(v5[v11] + v5[9] - 0x30));
v5[14] = ((char)(v5[27] + v5[28] - 97));
int v4;
for(v4 = 0; v4 < 16; ++v4) {
char v0 = v5[0x1F - v4];
v5[0x1F - v4] = v5[v4];
v5[v4] = v0;
}
System.out.println(v5);
}
}
输出的结果是:
59acc538825054c7de4b26440c0999dd
然后提交flag,果然是对的。
|