packagedefpackage;importjava.util.ArrayList;importjava.util.Scanner;/* renamed from: Reverse reason: default package *//* loaded from: Reverse.class */publicclassReverse{publicstaticvoidmain(String[] args){Scanner s =newScanner(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);}publicstaticvoidEncrypt(char[] arr){ArrayList<Integer>Resultlist=newArrayList<>();for(char c : arr){int result =(c +'@')^32;Resultlist.add(Integer.valueOf(result));}int[] KEY ={180,136,137,147,191,137,147,191,148,136,133,191,134,140,129,135,191,65};ArrayList<Integer>KEYList=newArrayList<>();for(int i : KEY){KEYList.add(Integer.valueOf(i));}System.out.println("Result:");if(Resultlist.equals(KEYList)){System.out.println("Congratulations!");}else{System.err.println("Error!");}}}
使用jadx打开文件 浏览下代码 发现关键代码
publicstaticvoidEncrypt(char[] arr){ArrayList<Integer>Resultlist=newArrayList<>();for(char c : arr){int result =(c +'@')^32;Resultlist.add(Integer.valueOf(result));}int[] KEY ={180,136,137,147,191,137,147,191,148,136,133,191,134,140,129,135,191,65};ArrayList<Integer>KEYList=newArrayList<>();for(int i : KEY){KEYList.add(Integer.valueOf(i));}System.out.println("Result:");if(Resultlist.equals(KEYList)){System.out.println("Congratulations!");}else{System.err.println("Error!");}}
#include<stdio.h>intmain(int argc,charconst*argv[]){char key[]={180,136,137,147,191,137,147,191,148,136,133,191,134,140,129,135,191,65};char flag[18];for(int i =0; i <sizeof(key); i++){
flag[i]=(key[i]^32)-64;}printf("%s", flag);return0;}
JavaScript实现
let key =[180,136,137,147,191,137,147,191,148,136,133,191,134,140,129,135,191,65];let flag =""for(let i =0; i < key.length; i++){
flag += String.fromCharCode((key[i]^32)-64);}