Git Product home page Git Product logo

Comments (4)

ThexXTURBOXx avatar ThexXTURBOXx commented on August 25, 2024

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.

aeongdesu avatar aeongdesu commented on August 25, 2024

@ThexXTURBOXx oh well... i was confused with original snapshot version πŸ˜” anyways thank you, I'll wait

from dex2jar.

stefan123t avatar stefan123t commented on August 25, 2024

@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.

ThexXTURBOXx avatar ThexXTURBOXx commented on August 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.