[英]How to convert Java code to smali - dalvik bytcode
我有 java 代码(android studio),如何将其转换为 .smali?
例子:java
public void onStart() {
super.onStart();
a(this.a.a());
}
.smali(达尔维克代码)
.method public onStart()V
.locals 1
.line 80
invoke-super {p0}, Landroid/support/v7/app/e;->onStart()V
.line 82
iget-object v0, p0, Llkstudio/uchannel/ManHinhDangNhapActivity;->a:Lcom/google/firebase/auth/FirebaseAuth;
invoke-virtual {v0}, Lcom/google/firebase/auth/FirebaseAuth;->a()Lcom/google/firebase/auth/FirebaseUser;
move-result-object v0
.line 83
invoke-direct {p0, v0}, Llkstudio/uchannel/ManHinhDangNhapActivity;->a(Lcom/google/firebase/auth/FirebaseUser;)V
return-void
.end method
一种选择是ApkTool反编译 APK,即提取 smali 文件。
例子:
java -jar apktool.jar d -f MyApp.apk -o MyApp_Decompiled/
ls -lha MyApp_Decompiled/
-rw-r--r-- 1 狼用户 12K Mar 26 21:16 AndroidManifest.xml
drwxr-xr-x 143 狼用户 4.0K Mar 26 21:16 res
drwxr-xr-x 13 wolf users 4.0K Mar 26 21:16 smali
drwxr-xr-x 8 狼用户 4.0K Mar 26 21:16 smali_classes2
drwxr-xr-x 4 狼用户 4.0K Mar 26 21:16 smali_classes3
ls -lha MyApp_Decompiled/smali/com/airbnb/android/react/maps/
-rw-r--r-- 1 狼用户 4.8K Mar 26 21:16 AirMapCalloutManager.smali
-rw-r--r-- 1 狼用户 956 Mar 26 21:16 AirMapCallout.smali
-rw-r--r-- 1 狼用户 6.5K Mar 26 21:16 AirMapCircleManager.smali
如果你只想转换一个文件,我推荐使用这个 Jar 工具。
java -jar Java2Smali.jar <JavaSourceFile>
如果您想查看更多选项,请尝试:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.