Comments (4)
Error reproducible on my end. However, I have a slightly different stacktrace (are you really using v53?):
dex2jar vr-_01.20.00.apk -> .\vr-_01.20.00-dex2jar.jar
GLITCH: 0004 L_a/a/_a;-><init>()V | not enough space for reading instruction
GLITCH: 000c L_/1;-><init>()V | not enough space for reading instruction
java.lang.IllegalArgumentException: UTF8 string too large
at org.objectweb.asm.ByteVector.putUTF8(ByteVector.java:255)
at org.objectweb.asm.SymbolTable.addConstantUtf8(SymbolTable.java:774)
at org.objectweb.asm.MethodWriter.<init>(MethodWriter.java:601)
at org.objectweb.asm.ClassWriter.visitMethod(ClassWriter.java:468)
at org.objectweb.asm.ClassVisitor.visitMethod(ClassVisitor.java:365)
at org.objectweb.asm.commons.ClassRemapper.visitMethod(ClassRemapper.java:187)
at org.objectweb.asm.ClassVisitor.visitMethod(ClassVisitor.java:365)
at com.googlecode.d2j.dex.Dex2Asm.collectBasicMethodInfo(Dex2Asm.java:352)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:746)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:549)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:450)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:615)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:146)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:246)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:103)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:297)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:16)
I will see if I can do anything about that
from dex2jar.
@ThexXTURBOXx oh well... i was confused with original snapshot version π anyways thank you, I'll wait
from dex2jar.
@ThexXTURBOXx thanks for maintaining this tool-chain !
I found your repo to have an issue already open on UTF8 string too large
error, which is not the case upstream.
I used this APK com.hm.hemaiInstall1
v1.1.10:
https://apkpure.com/s-miles-installer/com.hm.hemaiInstall1/versions
As the application I want to decompile is built in China and contains quite some UTF8 unicode strings I guess that the handling of UTF8 unicode is not yet working. Also when further decompiling the resulting jar files with the jd-gui I do see quit a couple of chinese characters, but they can not be copied from the resulting source. Some non-space characters may be included in such strings.
$ sh d2j-dex2jar.sh -f s-miles.apk
dex2jar s-miles.apk -> ./s-miles-dex2jar.jar
java.lang.IllegalArgumentException: UTF8 string too large
at org.objectweb.asm.ByteVector.putUTF8(ByteVector.java:255)
at org.objectweb.asm.SymbolTable.addConstantUtf8(SymbolTable.java:774)
at org.objectweb.asm.SymbolTable.addConstantUtf8Reference(SymbolTable.java:1007)
at org.objectweb.asm.SymbolTable.addConstantString(SymbolTable.java:604)
at org.objectweb.asm.SymbolTable.addConstant(SymbolTable.java:474)
at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1280)
at org.objectweb.asm.MethodVisitor.visitLdcInsn(MethodVisitor.java:562)
at org.objectweb.asm.commons.MethodRemapper.visitLdcInsn(MethodRemapper.java:196)
at org.objectweb.asm.tree.LdcInsnNode.accept(LdcInsnNode.java:75)
at org.objectweb.asm.tree.InsnList.accept(InsnList.java:144)
at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:749)
at com.googlecode.d2j.dex.ExDex2Asm.convertCode(ExDex2Asm.java:36)
at com.googlecode.d2j.dex.Dex2jar$2.convertCode(Dex2jar.java:126)
at com.googlecode.d2j.dex.Dex2Asm.convertMethod(Dex2Asm.java:821)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:567)
at com.googlecode.d2j.dex.Dex2Asm.convertClass(Dex2Asm.java:468)
at com.googlecode.d2j.dex.Dex2Asm.convertDex(Dex2Asm.java:633)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:181)
at com.googlecode.d2j.dex.Dex2jar.doTranslate(Dex2jar.java:53)
at com.googlecode.d2j.dex.Dex2jar.to(Dex2jar.java:281)
at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:104)
at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:297)
at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:16)
from dex2jar.
I have taken a closer look at this issue and actually, string variables are limited to a size of 65535: https://gitlab.ow2.org/asm/asm/-/blob/master/asm/src/main/java/org/objectweb/asm/ByteVector.java?ref_type=heads#L254
This is also specified in the Java standard. I have pushed a workaround which still gives proper output for the rest of the files, but skips all files which have problems.
from dex2jar.
Related Issues (20)
- [BUG] The jar has problems after decompilation. HOT 11
- Come and have a look HOT 7
- Preserve the SourceFile class attribute in dex2jar HOT 1
- Using param `--optmize-synchronized` and `--reuse-reg` of `dex2jar` will consume more cpu/memory usage and time HOT 1
- dex2jar only includes class files in the converted jar HOT 1
- Make output deterministic HOT 2
- Support for two-way mapping, Asm2Dex HOT 1
- Issue with dex2jar: Index -1 out of bounds for length 0 HOT 1
- Android projecr HOT 1
- What is the best Method to edit the code of an apk? HOT 2
- Is there an IR rule document available? HOT 1
- dex decompilation problem HOT 3
- [question]Did you forget that you added a jar called ICU4J? HOT 2
- [advice] use SemVer, it's more standard HOT 2
- Failing dependency from "sootup.java.bytecode" v.1.1.2 HOT 1
- Regression at dex2jar v65+ lambda adapter HOT 2
- When the dex version is 037 and above, the class version after dex2jar is 52. However, when using dx for jar2dex operations, a stack: overflow exception will occur HOT 7
- dex2jar No errors were reported but i use jar in android studio οΌThe inheritance of the class cannot be obtained HOT 2
- Exactly what is the purposal of dex2jar... HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dex2jar.