Skip to content
This repository has been archived by the owner on Feb 16, 2024. It is now read-only.

Remove APKTool dependency #20

Closed
Razican opened this issue Sep 15, 2016 · 10 comments
Closed

Remove APKTool dependency #20

Razican opened this issue Sep 15, 2016 · 10 comments

Comments

@Razican
Copy link
Member

Razican commented Sep 15, 2016

We should not require the use of APKTool to decompile the software.

@Razican
Copy link
Member Author

Razican commented Oct 27, 2016

We currently only use this for XML reading, so it will be easy to remove once we implement something like this.

@gnieto
Copy link
Collaborator

gnieto commented Nov 14, 2016

Hi!
I've started to work on a decoder on Rust for this kind of files, but I've just saw that you assigned this issue to you. Are you already working on this?
If you are, there's any other issue that you want that I work on?
Thanks!

@Razican
Copy link
Member Author

Razican commented Nov 14, 2016

Hmmm I'm working on it, yes, but I would of course appreciate help. I was thinking on doing something similar to aapt in Rust, as a library, but seems that it's going to be more difficult than what I thought. What do you think?

@gnieto
Copy link
Collaborator

gnieto commented Nov 16, 2016

@Razican Well, at the moment, what I understood from the issue, the main coupling with apktool is due to the binary XML that are on the APKs.
I've been working on a parser for this kind of files, but it's far for being 'production ready' (I've started this at the beginning of the week). This is what I currently have: https://github.com/gnieto/abxml-rs/tree/develop
The intention is to have a library capable to convert AndroidManifest.xml from the binary form to a valid XML, but if you look at the code, now it's only a bunch of println!

@Razican
Copy link
Member Author

Razican commented Nov 17, 2016

@gnieto Well, the thing is that binary XML only works for the Manifest, since the rest of the resources are in a resources.arsc file that contains them in an unknown format. I'm trying to reverse-engineer aapt from the Android project (you can find the code in the Android repository, it's written in C++).

Since we need all the XML files, I think that an approach like that would be better.

@gnieto
Copy link
Collaborator

gnieto commented Nov 18, 2016

Mmm ok, understood. I didn't know this.

So, if at any moment you want some help with something related with this, let me know!

@Razican
Copy link
Member Author

Razican commented Nov 19, 2016

@gnieto We will be in novemb.rs code sprint today and tomorrow, if you want to participate :)

@Razican Razican removed the novemb.rs label Nov 21, 2016
@Razican Razican modified the milestones: SUPER 0.3.0, SUPER 0.4.0 Feb 11, 2017
@gnieto
Copy link
Collaborator

gnieto commented Feb 24, 2017

About this issue, I know that you have been working on this, but, as I told you, I started working on a Rust library to decode the APKs.

I've a minimal version working that creates an almost identical XMLs output to APKTool on the APKs I've tried (some of the differences are due to rounding issues with floats).

At the moment I'm working on increasing the testing coverage, stabilizing the API and doing some clean ups on the code, but I think that in a couple of weeks I will be able to test the integration on this project

I'm doing this to learn Rust, so I don't want to "impose" this!

@Razican
Copy link
Member Author

Razican commented Feb 24, 2017

Wow, that would be awesome. Is the code open source? This requires in any case a deeper discussion. Could you send me an email to the email in my profile?

@Razican
Copy link
Member Author

Razican commented Mar 19, 2017

This is now closed. Thanks to @gnieto for his incredible work on android binary XML parsing.

@Razican Razican closed this as completed Mar 19, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants