CTF came (안 드 로 이 드 버 전)
알고리즘 1. 키 를 가 져 옵 니 다.
if ((iArr[i] & 255) != ((str.charAt(i) ^ str2.charAt(i % str2.length())) & 255)) {
// throw new RuntimeException();
// }
잘 하면 폭력 으로 풀 겠 습 니 다.
key : bobdylan
:blow,in the winD
소스 코드
public class allen {
// key
public static String getKey() {
return "bobdylan";
}
public static void main(String[] args){
check("allen");
// System.out.println("allenboy");
}
public static void check(String str) {
int i = 0;
if (str.length() != 16) {
//throw new RuntimeException();
}
String str2 = "";
try {
str2 = getKey();
} catch (Exception e) {
System.out.println("allenboy");
str2 = getKey();
System.arraycopy(str2, 0, str, 5, 5);
}
int[] iArr = new int[16];
iArr[0] = 0;
iArr[12] = 14;
iArr[10] = 7;
iArr[14] = 15;
iArr[15] = 42;
try {
iArr[1] = 3;
iArr[5] = 5;
System.out.println();
} catch (Exception e2) {
iArr[5] = 37;
iArr[1] = 85;
}
iArr[6] = 15;
iArr[2] = 13;
iArr[3] = 19;
iArr[11] = 68;
iArr[4] = 85;
iArr[13] = 5;
iArr[9] = 7;
iArr[7] = 78;
iArr[8] = 22;
System.out.println(str2);
while (i < 16) { //str str2 key
for(int j=0;j<128;j++){
char c=(char)j;
if ((iArr[i] & 255) == ((c^ str2.charAt(i % str2.length())) & 255)) {
System.out.print(c);
}
}
i++;
}
}
}
// public void check(String str) {
// int i = 0;
// if (str.length() != 16) {
// throw new RuntimeException();
// }
// String str2 = "";
// try {
// str2 = getKey();
// } catch (Exception e) {
// str2 = getKey();
// System.arraycopy(str2, 0, str, 5, 5);
// }
// int[] iArr = new int[16];
// iArr[0] = 0;
// iArr[12] = 14;
// iArr[10] = 7;
// iArr[14] = 15;
// iArr[15] = 42;
// try {
// iArr[1] = 3;
// iArr[5] = 5;
// System.out.println();
// } catch (Exception e2) {
// iArr[5] = 37;
// iArr[1] = 85;
// }
// iArr[6] = 15;
// iArr[2] = 13;
// iArr[3] = 19;
// iArr[11] = 68;
// iArr[4] = 85;
// iArr[13] = 5;
// iArr[9] = 7;
// iArr[7] = 78;
// iArr[8] = 22;
// while (i < str.length()) {
// if ((iArr[i] & 255) != ((str.charAt(i) ^ str2.charAt(i % str2.length())) & 255)) {
// throw new RuntimeException();
// }
// i++;
// }
// }
//
// public String getKey() {
// return "bobbydylan";
// }
다음으로 전송:https://blog.51cto.com/haidragon/2136366
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.