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

- #2283

Closed
ghost opened this issue Jan 18, 2020 · 17 comments
Closed

- #2283

ghost opened this issue Jan 18, 2020 · 17 comments

Comments

@ghost
Copy link

ghost commented Jan 18, 2020

@nnelas
Copy link

nnelas commented Jan 21, 2020

Hi @Deberk, unfortunately, TikTok uses resources obfuscation (like AndroResGuard), which means that apktool cannot compile/recompile since it uses AOSP framework APK to manage these operations and these resource IDs aren't found on AOSP.
If you only want to decompile Java (smali) code, you can always use flag --no-res and everything should work normally

@el1s7
Copy link

el1s7 commented Jan 27, 2020

Any ways to get around Tik Tok SSL pinning guys?

@iBotPeaches
Copy link
Owner

I just recently closed a ticket that didn't have enough details for represented this stacktrace - #2285

It appears as you noticed the split apks are making it difficult to decode and re-encode an application, probably due to that.

I'm not sure if we have a split ask issue yet. So I'm going to claim this one as it. So we can first research and answer the question.


Can the base.apk live on its own and all splits are just additional qualifiers? Or do you require a split in order to make a feasible package?

@iBotPeaches iBotPeaches changed the title TikTok decompiling and compiling many issues TikTok decompiling - split apks Apr 12, 2020
@vinhjaxt
Copy link

vinhjaxt commented Apr 14, 2020

You can use option -r to not decompile resources.
When install split apk, using SAI (Split APK Installer)

@el1s7
Copy link

el1s7 commented Apr 19, 2020

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

@limbodin
Copy link

limbodin commented May 5, 2020

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

Hey,
which emu and frida version you used?

thanks

@igorpyan
Copy link

igorpyan commented Sep 8, 2020

There is similar case for jp.naver.line.android app (received from PlayStore).
Environment: Ubuntu 20.04.1 LTS, apktool_2.4.1.jar

$ java -jar ~/temp/apktool_2.4.1.jar d jp.naver.line.android.apk -o src2 -s
I: Using Apktool 2.4.1 on jp.naver.line.android.apk
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Invalid chunk type: expected=0x00000200, got=0x00000203
	at brut.androlib.res.decoder.ARSCDecoder.checkChunkType(ARSCDecoder.java:542)
	at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:88)
	at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:82)
	at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
	at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:786)
	at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:67)
	at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:59)
	at brut.androlib.Androlib.getResTable(Androlib.java:66)
	at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:236)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:118)
	at brut.apktool.Main.cmdDecode(Main.java:170)
	at brut.apktool.Main.main(Main.java:76)

But, for example, jadx does this job successfully:

$ jadx jp.naver.line.android.apk -d . -s
INFO  - loading ...
INFO  - processing ...
INFO  - done

@androidethiopia

This comment has been minimized.

@iBotPeaches
Copy link
Owner

Classifying this ticket as the feature request for split apks. Not sure what Apktool is going to do it. Maybe just gracefully fail and request a merged application.

@not-eexto
Copy link

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

Are you still working on it or have you given up? Maybe I have some news... and then I wanted to ask you something

@androidethiopia
Copy link

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

Are you still working on it or have you given up? Maybe I have some news... and then I wanted to ask you something

Yes, I managed to merge decompile/recompile all versions of tiktok (17.6.4 - 18.4.7)

@Liquid44
Copy link

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

Are you still working on it or have you given up? Maybe I have some news... and then I wanted to ask you something

Yes, I managed to merge decompile/recompile all versions of tiktok (17.6.4 - 18.4.7)

How may I ask? Using jadx or skipping resources?

@Ali666-jeo
Copy link

Sparkle Photo Effect & Pip Editor Pip Editor - Masterlogix best app to make your photo fully attractive and heart touching.
You can use four tools in this app with many effects like photo frames, overlays effects, twinkle effects, photo cropping, photo filters and photo borders in this best Photo Editor App - Pip Camera - Sparkle Effect (Blur)

@ghost ghost changed the title TikTok decompiling - split apks - Feb 24, 2021
@ghost ghost closed this as completed Feb 24, 2021
@androidethiopia
Copy link

Just an update if anyone needs it, i managed to intercept traffic using frida. Android emulator & frida, worked great.

Are you still working on it or have you given up? Maybe I have some news... and then I wanted to ask you something

Yes, I managed to merge decompile/recompile all versions of tiktok (17.6.4 - 18.4.7)

How may I ask? Using jadx or skipping resources?

I decompiled the resources also , i made my own code to reconstruct the obufuscated resource name. using both aapt and aapt2.

@sakibguy
Copy link

Thanks guys

for your input and effort
to make Tiktok decompile/recompile work.

@boemekeld
Copy link

i made my own code to reconstruct the obufuscated resource name. using both aapt and aapt2.

could you share this solution?

@boemekeld
Copy link

Thanks guys

for your input and effort to make Tiktok decompile/recompile work.

it's not working now for 21.7.6 version 🙁

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

No branches or pull requests