我下载了dex2jar,现在尝试使用它,但是如果我键入'sh d2j-dex2jar.sh',它会显示以下消息.
d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied
Run Code Online (Sandbox Code Playgroud)
起初我认为权限被拒绝是因为程序需要root权限,所以我也尝试在命令中添加'sudo',但它也没有用.我该如何解决这个问题?
我使用dex2jar反编译了一个apk文件,并在jd-gui中打开了生成的jar文件.我可以很好地查看几乎所有的代码,但是一个部分 - 常量 - 只显示// INTERNAL ERROR //而没有别的.有没有办法检索常量?
我尝试从.apk获取源代码
我按照这里的步骤
有没有办法从APK文件中获取源代码?但是在步骤2.4,当我在我的cmd上写道时,我dex2jar path> d2j-dex2jar classes.dex得到了
" 'd2j-dex2jar'未被识别为内部或外部命令,可操作的程序或批处理文件. "
任何解决方案
我正在开发一个 Android 项目,但我的笔记本电脑被格式化了,所以我丢失了所有代码,但我的手机上有该文件的签名 apk .. 每当我尝试使用 dex2jar 时,它都会因此错误而停止转换。我怎样才能增加堆大小或者有其他出路。我可以使用签名密钥反编译 apk
C:\~dex2jar>d2j-dex2jar --force
classes.dex
dex2jar classes.dex -> classes-dex2jar.jar
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.objectweb.asm.Type.getInternalName(Unknown Source)
at com.googlecode.dex2jar.v3.V3ClassAdapter.searchEnclosing(V3ClassAdapt
er.java:179)
at com.googlecode.dex2jar.v3.V3ClassAdapter.build(V3ClassAdapter.java:13
0)
at com.googlecode.dex2jar.v3.V3ClassAdapter.visitField(V3ClassAdapter.ja
va:303)
at com.googlecode.dex2jar.reader.DexFileReader.acceptField(DexFileReader
.java:603)
at com.googlecode.dex2jar.reader.DexFileReader.acceptClass(DexFileReader
.java:439)
at com.googlecode.dex2jar.reader.DexFileReader.accept(DexFileReader.java
:330)
at com.googlecode.dex2jar.v3.Dex2jar.doTranslate(Dex2jar.java:84)
at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:239)
at com.googlecode.dex2jar.v3.Dex2jar.to(Dex2jar.java:230)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java
:109)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:168)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:34)
Run Code Online (Sandbox Code Playgroud) 我反编译了一个APK文件,然后尝试编译它并收到一个"无法访问的语句"编译器错误,我想知道它是一个混淆器技巧,还是反编译失败?这怎么可能?使用 dex2jar 和 Java Decompiler
这是反编译的方法
public void onSensorChanged(SensorEvent paramSensorEvent) {
float[] arrayOfFloat = paramSensorEvent.values;
switch (paramSensorEvent.sensor.getType())
{
}
do
{
return;
} while (this.aDegree == arrayOfFloat[0]);
this.aDegree = arrayOfFloat[0];
invalidate();
}
Run Code Online (Sandbox Code Playgroud) 我尝试使用dex2jar and apktool.我的apk文件从Google Play解码已发布的应用程序,但我成功地设法获取其源代码,但我想知道为什么我得到这套代码(附图)?我无法清楚地获得此应用程序的软件包和活动名称.我非常需要它.

是因为封装?我怎样才能获得真正的代码?