Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Apktool doesn't decompile an Instagram mod #2806

Closed
Kuriix opened this issue Apr 29, 2022 · 7 comments · Fixed by #3326
Closed

[BUG] Apktool doesn't decompile an Instagram mod #2806

Kuriix opened this issue Apr 29, 2022 · 7 comments · Fixed by #3326

Comments

@Kuriix
Copy link

Kuriix commented Apr 29, 2022

Information

  1. Apktool Version (apktool -version) - 2.6.1
  2. Operating System (Mac, Linux, Windows) - Windows 10 (x64)
  3. APK From? (Playstore, ROM, Other) - Other

Stacktrace/Logcat

I: Using Apktool 2.6.1 on Insta_v8.95.apk
I: Loading resource table...
Exception in thread "main" java.lang.ClassCastException: class brut.androlib.res.data.value.ResStringValue cannot be cast to class brut.androlib.res.data.value.ResIntValue (brut.androlib.res.data.value.ResStringValue and brut.androlib.res.data.value.ResIntValue are in unnamed module of loader 'app')
        at brut.androlib.res.data.value.ResAttr.factory(ResAttr.java:69)
        at brut.androlib.res.data.value.ResValueFactory.bagFactory(ResValueFactory.java:91)
        at brut.androlib.res.decoder.ARSCDecoder.readComplexEntry(ARSCDecoder.java:356)
        at brut.androlib.res.decoder.ARSCDecoder.readEntryData(ARSCDecoder.java:285)
        at brut.androlib.res.decoder.ARSCDecoder.readTableType(ARSCDecoder.java:261)
        at brut.androlib.res.decoder.ARSCDecoder.readTableTypeSpec(ARSCDecoder.java:184)
        at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:135)
        at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:84)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:50)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:783)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:64)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:56)
        at brut.androlib.Androlib.getResTable(Androlib.java:70)
        at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:247)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:109)
        at brut.apktool.Main.cmdDecode(Main.java:175)
        at brut.apktool.Main.main(Main.java:79)

Steps to Reproduce

  1. apktool d Insta_v8.95.apk

APK

https://www.mediafire.com/file/3wpcdvuw8pfrw60/Insta_v8.95.apk/file

@iBotPeaches
Copy link
Owner

Confirmed. Marking as bug.

@karimbenammar
Copy link

Could this be related to this issue because of the app namespace?

@jsteave
Copy link

jsteave commented Jul 27, 2022

I can confirm this Extra is still not working

@ghyath5
Copy link

ghyath5 commented Oct 30, 2022

Still the same issue

@mxsleo
Copy link

mxsleo commented Jan 6, 2023

Comfirmed on some MiuiCamera mods (stock can be easily decompliled, but, for example, Leica mod unpacking ends in the same error)

@iBotPeaches
Copy link
Owner

Took a look at this. Looks like we regressed specific handling of string-arrays way back when this was merged - https://github.com/iBotPeaches/Apktool/pull/991/files

It isn't worth reverting something so old, so I'll have to rethink how we handle ResIntValue, ResStringValue and ResIntBasedValue

@iBotPeaches
Copy link
Owner

Putting up a PR that will close this on merge.

➜  2806 apktool d Insta_v8.95.apk -f -s
I: Using Apktool v2.8.1-54-06c5f462-SNAPSHOT on Insta_v8.95.apk
I: Loading resource table...
I: Decoding file-resources...
I: Loading resource table from file: /home/ibotpeaches/.local/share/apktool/framework/1.apk
I: Decoding values */* XMLs...
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Copying raw classes.dex file...
I: Copying raw classes10.dex file...
I: Copying raw classes11.dex file...
I: Copying raw classes12.dex file...
I: Copying raw classes13.dex file...
I: Copying raw classes14.dex file...
I: Copying raw classes15.dex file...
I: Copying raw classes16.dex file...
I: Copying raw classes17.dex file...
I: Copying raw classes18.dex file...
I: Copying raw classes19.dex file...
I: Copying raw classes2.dex file...
I: Copying raw classes20.dex file...
I: Copying raw classes21.dex file...
I: Copying raw classes22.dex file...
I: Copying raw classes23.dex file...
I: Copying raw classes24.dex file...
I: Copying raw classes25.dex file...
I: Copying raw classes26.dex file...
I: Copying raw classes27.dex file...
I: Copying raw classes28.dex file...
I: Copying raw classes29.dex file...
I: Copying raw classes3.dex file...
I: Copying raw classes30.dex file...
I: Copying raw classes31.dex file...
I: Copying raw classes32.dex file...
I: Copying raw classes33.dex file...
I: Copying raw classes34.dex file...
I: Copying raw classes35.dex file...
I: Copying raw classes36.dex file...
I: Copying raw classes37.dex file...
I: Copying raw classes38.dex file...
I: Copying raw classes39.dex file...
I: Copying raw classes4.dex file...
I: Copying raw classes40.dex file...
I: Copying raw classes41.dex file...
I: Copying raw classes42.dex file...
I: Copying raw classes43.dex file...
I: Copying raw classes44.dex file...
I: Copying raw classes45.dex file...
I: Copying raw classes46.dex file...
I: Copying raw classes47.dex file...
I: Copying raw classes48.dex file...
I: Copying raw classes49.dex file...
I: Copying raw classes5.dex file...
I: Copying raw classes50.dex file...
I: Copying raw classes51.dex file...
I: Copying raw classes52.dex file...
I: Copying raw classes53.dex file...
I: Copying raw classes54.dex file...
I: Copying raw classes55.dex file...
I: Copying raw classes6.dex file...
I: Copying raw classes7.dex file...
I: Copying raw classes8.dex file...
I: Copying raw classes9.dex file...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
➜  2806 apktool b Insta_v8.95
I: Using Apktool v2.8.1-54-06c5f462-SNAPSHOT
I: Copying Insta_v8.95 classes.dex file...
I: Copying Insta_v8.95 classes23.dex file...
I: Copying Insta_v8.95 classes38.dex file...
I: Copying Insta_v8.95 classes10.dex file...
I: Copying Insta_v8.95 classes2.dex file...
I: Copying Insta_v8.95 classes11.dex file...
I: Copying Insta_v8.95 classes50.dex file...
I: Copying Insta_v8.95 classes26.dex file...
I: Copying Insta_v8.95 classes20.dex file...
I: Copying Insta_v8.95 classes44.dex file...
I: Copying Insta_v8.95 classes43.dex file...
I: Copying Insta_v8.95 classes55.dex file...
I: Copying Insta_v8.95 classes21.dex file...
I: Copying Insta_v8.95 classes29.dex file...
I: Copying Insta_v8.95 classes27.dex file...
I: Copying Insta_v8.95 classes39.dex file...
I: Copying Insta_v8.95 classes36.dex file...
I: Copying Insta_v8.95 classes15.dex file...
I: Copying Insta_v8.95 classes19.dex file...
I: Copying Insta_v8.95 classes13.dex file...
I: Copying Insta_v8.95 classes52.dex file...
I: Copying Insta_v8.95 classes34.dex file...
I: Copying Insta_v8.95 classes24.dex file...
I: Copying Insta_v8.95 classes48.dex file...
I: Copying Insta_v8.95 classes32.dex file...
I: Copying Insta_v8.95 classes3.dex file...
I: Copying Insta_v8.95 classes53.dex file...
I: Copying Insta_v8.95 classes49.dex file...
I: Copying Insta_v8.95 classes16.dex file...
I: Copying Insta_v8.95 classes12.dex file...
I: Copying Insta_v8.95 classes41.dex file...
I: Copying Insta_v8.95 classes5.dex file...
I: Copying Insta_v8.95 classes30.dex file...
I: Copying Insta_v8.95 classes28.dex file...
I: Copying Insta_v8.95 classes14.dex file...
I: Copying Insta_v8.95 classes9.dex file...
I: Copying Insta_v8.95 classes33.dex file...
I: Copying Insta_v8.95 classes35.dex file...
I: Copying Insta_v8.95 classes51.dex file...
I: Copying Insta_v8.95 classes45.dex file...
I: Copying Insta_v8.95 classes46.dex file...
I: Copying Insta_v8.95 classes4.dex file...
I: Copying Insta_v8.95 classes42.dex file...
I: Copying Insta_v8.95 classes37.dex file...
I: Copying Insta_v8.95 classes22.dex file...
I: Copying Insta_v8.95 classes18.dex file...
I: Copying Insta_v8.95 classes31.dex file...
I: Copying Insta_v8.95 classes40.dex file...
I: Copying Insta_v8.95 classes7.dex file...
I: Copying Insta_v8.95 classes6.dex file...
I: Copying Insta_v8.95 classes25.dex file...
I: Copying Insta_v8.95 classes47.dex file...
I: Copying Insta_v8.95 classes17.dex file...
I: Copying Insta_v8.95 classes8.dex file...
I: Copying Insta_v8.95 classes54.dex file...
I: Checking whether resources has changed...
I: Building resources...
I: Copying libs... (/lib)
I: Copying libs... (/kotlin)
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk into: Insta_v8.95/dist/Insta_v8.95.apk
➜  2806 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants