网站结构合理,百度网盘帐号登录入口,网页设计风格,wordpress 中文seo题目#xff1a;BUUCTF Java逆向解密 没壳#xff0c;是java文件#xff08;大概#xff09; ida打开看不懂#xff0c;找了网页上的java反编译 Decompiler.com 没用过java啊…暂且用sublime打开 还好还挺好懂的
import java.util.ArrayList;
import java.util.Scanner;p…题目BUUCTF Java逆向解密 没壳是java文件大概 ida打开看不懂找了网页上的java反编译 Decompiler.com 没用过java啊…暂且用sublime打开 还好还挺好懂的
import java.util.ArrayList;
import java.util.Scanner;public class Reverse {public static void main(String[] args) {Scanner s new Scanner(System.in);System.out.println(Please input the flag );String str s.next();System.out.println(Your input is );System.out.println(str);char[] stringArr str.toCharArray();//大概是输入的字符串转字符数组Encrypt(stringArr);}public static void Encrypt(char[] arr) {ArrayListInteger Resultlist new ArrayList();for(int i 0; i arr.length; i) {int result arr[i] 64 ^ 32;Resultlist.add(result);}int[] KEY new int[]{180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65};ArrayListInteger KEYList new ArrayList();for(int j 0; j KEY.length; j) {KEYList.add(KEY[j]);}//KEYList和KEY的元素完全相同就是一个是ArrayListInteger一个是int数组System.out.println(Result:);if (Resultlist.equals(KEYList)) {//Resultlist和KEYList相同System.out.println(Congratulations);} else {System.err.println(Error);}}
}唯一有的说的就是那句
int result arr[i] 64 ^ 32;注意加优先级比异或高逆推得到
arr[i] (result ^ 32) - 64写代码
int a[] {180, 136, 137, 147, 191, 137, 147, 191, 148, 136, 133, 191, 134, 140, 129, 135, 191, 65};for (int i 0; i sizeof(a) / sizeof(int); i)cout char((a[i] ^ 32) - 64);