Java逆向
本周的题目非常之简单,所以不会像之前的解析那么详细。
直接给出解题步骤。
.class文件
.class文件是.java文件编译后的产物,它类似于C语言中的.c文件编译而成的.s文件。
我们写一个简单的C文件。
gcc main.c -S -o Main.s
然后在终端输入 more Main 就可以看到编译后的汇编文件。
那么.class文件和.s文件非常之类似,我们可以使用IDEA打开.class文件,
没有下载IDEA的同学可以在software.redrock.team下载。
02 使用IDEA打开文件
打开之后能直接看到java代码,IDEA自带反编译插件。
有同学可能会觉得我没学过java,做不出来。其实没关系的,代码的思路都是差不多的,基础的语法也是类似的。其实看两眼,和C语言也差不多了,
printf 函数还是printf函数
只不过多了System.out.
ArryList 看起来比较吓人,但其实也只是一个数组它和 int arr[]的区别在于ArryList是动态数组并且有更多的功能。比如ResultList.add(result)可以方便的向数组的加入一个新元素,而不用像C语言需要指定下标来加元素。
代码分析
import java.util.Scanner;
import java.util.ArrayList;
public class Reverse {
public Reverse() {
}
public static void main(String[] args) {
Scanner s =