Android逆向-java代码基础
作者:I春秋作家——HAI_
0×00 前言
看这篇可以先看看之前的文章,进行一个了解。 Android逆向-java代码基础(1) Android逆向-java代码基础(2) 之前看到有大佬用smali写了一个demo,是一个加法程序。这篇也主要是讲一下关于java的基本的计算,毕竟这个是基础。可能要同时写一下Android基础。 文章里的内容可以选读,里面会有一些问题的解决方式。也可以读一下。0×01 java 加法运算
这个运算和数学里运算一样,这里写一个简单的demo。1.int加法
1.1 简单的demo
public class add{
public static void main(String[]args)
{
int a=10;
int b=11;
b=a+b;
System.out.println(b);
}
}
1.2 编译运行输出结果。

1.3 class文件探索。
1.3.1 这里是上两节讲的常量池。

1.3.2 访问标志(access_flags)

1.3.3 该文件探索

1.4 更简单的查看方式。

javap -v name;
直接查看即可。
1.5 smali文件分析
这里就不详细介绍,class文件是怎样转换成smali文件的方法了。详细请参考 Android逆向-java代码基础(1)1.5.1这个是smali代码的整体情况。

1.5.2必备的一个

1.5.3 main函数

2 float加法
2.1 demo
public class add{
public static void main(String[]args)
{
float a=1.1f;
System.out.println(a+a);
}
}
2.2 class文件分析

2.3 smali文件分析
2.3.1 必备

2.3.2main

add-float/2addr vx,vy #Adds vy to vx.
也就是说把vx和vy的值相加。
其他的语法我们都是见过的,而且在Android逆向-java代码基础(2)中非常详细的讲解过,这里就不赘述了。
3尝试使用smali写一段代码。
3.1demo
.class public Ladd;
.super Ljava/lang/Object;
.source "add.java"
.method public constructor <init>()V
.registers 1
.prologue
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static main([Ljava/lang/String;)V
.registers 3
.prologue #start
const v0,0x3f8ccccd
const v1,0x4f8ccccd
sget-object v2,Ljava/lang/System;->out:Ljava/io/PrintStream;
add-float/2addr v0,v1
invoke-virtual {v2,v0},Ljava/io/PrintStream;->println(F)V
return-void
.end method
3.2jar编译

0×02 结束语
1.又写了一天,很多东西等着我去学习,在学习的过程中,越理解明白的就越多。今天勉强算是完成了一个应该完成的东西。smali文件的结构也差不多可以了。我觉得同步Android Studio学习可以开始了。 2.当然java还是要接着复习的,不过以我现在的这种进度,真的是有一点慢呢。不过慢归慢,还是可以学到之前没有学到的东西。 3.准备每一天破解一个简单的apk,虽然是简单,但是也可以增强自己对APP的了解。至于破解的教程就不进行说明了。 不过可能会进行一个资料的收集。微博:HAI_AI_ZHUZHU
>>>>>>黑客入门必备技能 带你入坑,和逗比表哥们一起聊聊黑客的事儿,他们说高精尖的技术比农药都好玩!关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 让乡亲们的生活芝麻开花节节高 7936077
- 2 中央一号文件:推进农村高额彩礼治理 7940701
- 3 DeepSeek预测《哪吒2》最终票房 7882627
- 4 以“真金白银”为企业加油 7773545
- 5 不允许城镇居民到农村买农房、宅基地 7681196
- 6 95后情侣夜市摆摊卖麻糍日入4000元 7527682
- 7 塌房大主播集体“复活” 7470413
- 8 姚晨闷声干大事 7324906
- 9 《哪吒3》催更到联合国了 7277369
- 10 调查称韩国半导体技术全面落后中国 7154773