An open API service indexing awesome lists of open source software.

https://github.com/puntorigen/ti_recover

Appcelerator Titanium APK source code recovery tool
https://github.com/puntorigen/ti_recover

apk appcelerator decompiler extraction titanium titanium-alloy

Last synced: 6 months ago
JSON representation

Appcelerator Titanium APK source code recovery tool

Awesome Lists containing this project

README

        

![ti_recover](https://user-images.githubusercontent.com/57605485/133170750-20244127-1ea0-4cd0-9c67-ac5ca44f17bc.png)

![license](https://img.shields.io/npm/l/ti_recover) ![lines](https://img.shields.io/tokei/lines/github/puntorigen/ti_recover)

Package and command-line (CLI) that helps you recover your lost source code from almost any APK made using Appcelerator Titanium, either be in development or distribution mode.

## INSTALL
```bash
npm install -g puntorigen/ti_recover
```

## USAGE
It comes with a command-line (CLI), that uses all methods of this package, and that you can use as follows:

```bash
ti_recover apkfile.apk outputdir
```

As part of my blog post: link to my blog

As a package contains the following methods:

### init (config, onReadyCB).
Initializes the component.

Can have the keys:

**apk** (apkfile to open),

**apk_dir** (optional apk_unpack dir already create to re-utilize it),

**out_dir** (outputdir)

### test (onReadyCB).
This returns true/false on the callback, indicating the given APK was made or not using Titanium.

### extract (onReadyCB).
This does the extraction of assets and js sources into memory.

### reconstruct (onReadyCB). `in progress`
This attempts to rebuild the source code from memory into a structure that can be opened as a Titanium Project.
Can be called before writeToDisk to have a well formed Titanium project.

### writeToDisk ().
This creates the files and directories of the source code in memory to the given outputdir.

### copyAssets ().
This retrieves the APK image and resources assets into the outputdir.

### clean ().
This cleanses the temporal directory used to process the files.

### info (callback(err,data)). `in progress`
Retrieves Titanium information about the current APK using the extracted resources. Must be called after 'extract' method.

## UPDATES

version 1.1.1:
- now assets are put on the correct directories.

version 1.0.9:
- updated to latest apk_unpack to use jadx.
- now resources and manifest are also copied to outputdir

version 1.0.6:
- added ability to recover APKs created in development mode.

version 1.0.5:
- improved readability of CLI, added prettyfier to source code, and bugfix several issues.

version 1.0.4:
- fixed tmp dir location bug. Now CLI works ok.

version 1.0.2-3:
- added delay before decrypting files, to account for slower hdd disks

version 1.0.1:
- fixed console debug

version 1.0.0:
- first version
- Add readme.md file