[0xFA-2021][Buuctf]Java逆向1

本文介绍了Java逆向的基础,通过查看.class文件并使用IDEA进行反编译。虽然涉及Java语法,但作者强调基础概念与C语言相似。文章中给出了一个解密脚本,用Python实现,提到了需要掌握的知识点,包括Python的列表、for-in循环、chr()和ord()函数以及列表解析式。
摘要由CSDN通过智能技术生成

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 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值