-
Notifications
You must be signed in to change notification settings - Fork 532
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #102 from Surendrajat/master
Merge from an updated clone
- Loading branch information
Showing
32 changed files
with
329 additions
and
247 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,63 +1,53 @@ | ||
[APK Studio](https://github.com/vaibhavpandeyvpz/apkstudio) is a **cross-platform** IDE for reverse-engineering (decompiling/editing) & recompiling of android application binaries within a single user-interface. It features a friendly layout, with a code editor which support syntax highlighting for Android SMALI (*.smali) code files. | ||
|
||
[![Build status (Linux)](https://travis-ci.org/vaibhavpandeyvpz/apkstudio.svg)](https://travis-ci.org/vaibhavpandeyvpz/apkstudio) [![Build status (Windows)](https://ci.appveyor.com/api/projects/status/8v8g7qbfxix8cth3?svg=true)](https://ci.appveyor.com/project/vaibhavpandeyvpz/apkstudio) [![Download](https://api.bintray.com/packages/vaibhavpandeyvpz/generic/apkstudio/images/download.svg) ](https://bintray.com/vaibhavpandeyvpz/generic/apkstudio/_latestVersion) | ||
|
||
Instructions: | ||
-------- | ||
- Make sure **JAVA_HOME** point to a valid **JDK** (*JRE* may not work) | ||
- You should also install or have **ADB** in *PATH*. This can be done on debian{-based} distros as follows: | ||
```bash | ||
sudo apt-get install android-tools-adb | ||
``` | ||
- You can then download, install & start de/re-compiling | ||
|
||
**Note**: If you encounter any problems, make sure to check **Console Output** at bottom of IDE to get the output of command which was actually executed by program. Report any issues related to APK Studio [here](https://github.com/vaibhavpandeyvpz/apkstudio/issues) on Github. Please note, an issue with [apktool](http://ibotpeaches.github.io/Apktool/) is not an issue with **APK Studio**. Please verify the context of issue before opening a ticket. | ||
|
||
Download: | ||
-------- | ||
- Native installers for supported platforms are [here](https://bintray.com/vaibhavpandeyvpz/generic/apkstudio/view). | ||
<br> | ||
[![Installers by BitRock](https://raw.githubusercontent.com/vaibhavpandeyvpz/apkstudio/master/external/bitrock.png "Many thanks to BitRock for donating license for InstallBuilder.")](http://installbuilder.bitrock.com/) | ||
|
||
|
||
Building (Linux): | ||
-------- | ||
- Make sure you have **GCC 4.6+**, **QT 5.2+** | ||
- Run below commands in a writable directory | ||
```bash | ||
git clone https://github.com/vaibhavpandeyvpz/apkstudio.git | ||
cd apkstudio | ||
lrelease res/lang/en.ts | ||
qmake apkstudio.pro CONFIG+=release | ||
# {IF} On KDE 5.x | ||
export CXXFLAGS="$CXXFLAGS -DNO_NATIVE_DIALOG" | ||
# {/IF} | ||
make | ||
``` | ||
- More information on building from source is provided in the [Wiki](https://github.com/vaibhavpandeyvpz/apkstudio/wiki) | ||
|
||
Features: | ||
--------------------------------- | ||
- Decompile/Recompile APK | ||
- Flexible Keystore & Key-Alias Chooser | ||
- Automatic Zip-align | ||
- Syntax Highlighting (*.java; *.smali; *.xml; *.yml) | ||
- Image Viewer For Resources | ||
- One-click **Install** To Device | ||
- Frameworks Support | ||
|
||
TODO: | ||
------------- | ||
- Code Completion | ||
|
||
Screenshots: | ||
------------- | ||
![Windows Screenshot #1](https://raw.githubusercontent.com/vaibhavpandeyvpz/apkstudio/master/external/screenshots/windows-1.png "Windows Screenshot #1") | ||
|
||
![Linux Screenshot #1](https://raw.githubusercontent.com/vaibhavpandeyvpz/apkstudio/master/external/screenshots/linux-1.png "Linux Screenshot #1") | ||
|
||
![Linux Screenshot #2](https://raw.githubusercontent.com/vaibhavpandeyvpz/apkstudio/master/external/screenshots/linux-2.png "Linux Screenshot #2") | ||
# APK Studio [![Codacy Badge](https://api.codacy.com/project/badge/Grade/9709de5012824c36b54fda9c2c6390bf)](https://app.codacy.com/app/Surendrajat/apkstudio?utm_source=github.com&utm_medium=referral&utm_content=Surendrajat/apkstudio&utm_campaign=badger) [![Build Status(Linux)](https://travis-ci.org/Surendrajat/ApkStudio.svg)](https://travis-ci.org/Surendrajat/ApkStudio) [![Build status(Windows)](https://ci.appveyor.com/api/projects/status/mnr254lm0mlshmfb?svg=true)](https://ci.appveyor.com/project/Surendrajat/apkstudio) [![Join the chat at https://gitter.im/apk-studio/ideas](https://badges.gitter.im/apk-studio/ideas.svg)](https://gitter.im/apk-studio/ideas?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
>**A Cross-Platform IDE for Reverse-Engineering (Disassembling, Hacking & Rebuilding) Android applications - featuring a friendly UI and Code editor with Syntax-highlighting support** | ||
### Features | ||
- Disassembling & Rebuilding APKs | ||
- Code Editor with Syntax Highlighting (`java` `smali` `xml` `yml`) | ||
- Built-in Image viewer for Resources | ||
- Single-click APK Signing with embedded key-store *(New)* | ||
- Android Signing scheme v2 Support *(New)* | ||
- Flexible Keystore & Key-Alias import | ||
- Automatic Zip-Aligning with embedded `zipalign` *(New)* | ||
- Single-click App Install to device | ||
- Frameworks Support | ||
|
||
Disclaimer: | ||
------------- | ||
Same as [apktool](http://ibotpeaches.github.io/Apktool/), **APK Studio** is neither intended for piracy nor other non-legal uses. It could be used for localizing, adding some features or support for custom platforms, analyzing applications & much more. | ||
### Download | ||
>[![Download](https://img.shields.io/github/release/surendrajat/apkstudio/all.svg?longCache=true&style=for-the-badge)](https://github.com/Surendrajat/apkstudio/releases) | ||
### Requirements | ||
- **JDK >= 8** | ||
- **Apktool** | ||
>Download latest [`apktool.jar`](https://bitbucket.org/iBotPeaches/apktool/downloads/) and put it in the following path: | ||
>- Linux: `/home/{your-user-name}/.apkstudio/vendor/apktool.jar` | ||
>- Windows: `C:\Users\{your-user-name}\.apkstudio\vendor\apktool.jar` | ||
>If you've `apktool.jar` already installed in the specified path, replace it with the new one and execute the following command in same path: `java -jar apktool.jar empty-framework-dir --force` | ||
- **uber-apk-signer** | ||
>Download latest [`uber-apk-signer.jar`](https://github.com/patrickfav/uber-apk-signer/releases) and put it in the following path: | ||
>- Linux: `/home/{your-user-name}/.apkstudio/vendor/uber-apk-signer.jar` | ||
>- Windows: `C:\Users\{your-user-name}\.apkstudio\vendor\uber-apk-signer.jar` | ||
- **adb** (optional) and **zipalign** (linux_x86 only) | ||
>- Ubuntu: `sudo apt-get install android-tools-adb zipalign` | ||
>- Windows: [adb driver](https://lifehacker.com/the-easiest-way-to-install-androids-adb-and-fastboot-to-1586992378) | ||
### Links | ||
- [Building (Command line)](https://github.com/Surendrajat/ApkStudio/wiki/Building#building-linux) | ||
- [Building (Qt Creator)](https://github.com/Surendrajat/ApkStudio/wiki/Building#building-with-qt-creator) | ||
- [Bug Reporting](https://github.com/surendrajat/apkstudio/issues) | ||
- [Contributors](https://github.com/Surendrajat/ApkStudio/graphs/contributors) | ||
- [Special Thanks](https://github.com/Surendrajat/ApkStudio/wiki/SpecialThanks) | ||
- [XDA Thread](https://forum.xda-developers.com/showthread.php?t=3761033) | ||
|
||
### TODO | ||
- [Framework management](https://ibotpeaches.github.io/Apktool/documentation/#frameworks) within IDE | ||
- Opcode Hex Viewer | ||
|
||
### Screenshots | ||
>![Screenshot #1](https://raw.githubusercontent.com/surendrajat/apkstudio/master/external/screenshots/apkstudio881.png "Screenshot #1") | ||
>![Screenshot #2](https://raw.githubusercontent.com/surendrajat/apkstudio/master/external/screenshots/apkstudio882.png "Screenshot #2") | ||
### Disclaimer | ||
>Same as [Apktool](http://ibotpeaches.github.io/Apktool/), **APK Studio** is neither intended for piracy nor other non-legal uses. It could be used for localizing, adding some features or support for custom platforms, analyzing applications & much more. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
theme: jekyll-theme-cayman |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,25 @@ | ||
branches: | ||
only: | ||
- master | ||
|
||
install: | ||
- set QTDIR=C:\Qt\5.5\mingw492_32 | ||
- set PATH=%PATH%;%QTDIR%\bin;C:\MinGW\bin | ||
- set QTDIR=C:\Qt\5.8\mingw53_32 | ||
# - choco install -y InnoSetup | ||
- set PATH=%QTDIR%\bin;C:\Qt\Tools\mingw530_32\bin;%PATH%;"C:\Program Files (x86)\Inno Setup 5" | ||
build_script: | ||
- qmake apkstudio.pro | ||
- lrelease res\lang\en.ts | ||
- qmake apkstudio.pro | ||
- mingw32-make | ||
test: off | ||
after_build: | ||
- windeployqt release/apkstudio.exe --release --no-translations | ||
# - cmd: cp LICENSE release/LICENSE.txt" | ||
# - iscc innosetup.iss | ||
- rm release/*.o | ||
- rm release/*.cpp | ||
- rm release/*.h | ||
- tree | ||
|
||
artifacts: | ||
- path: release | ||
type: zip | ||
name: apkstudio |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#ifndef UBERAPKSIGNER_H | ||
#define UBERAPKSIGNER_H | ||
|
||
#include <QStringList> | ||
#include "macros.h" | ||
#include "java.h" | ||
|
||
APP_NAMESPACE_START | ||
|
||
class UberApkSigner : public Java | ||
{ | ||
private: | ||
QString _jar; | ||
static UberApkSigner *_self; | ||
private: | ||
explicit UberApkSigner(QObject *parent = 0); | ||
public: | ||
// Result build(const QString &project, const QString &apk); | ||
// Result decode(const QString &apk, const QString &project, const QString &framework, const bool sources, const bool resources); | ||
Result sign(const QString &src, const QString &keystore, const QString &keystorePass, const QString &key, const QString &keyPass = QString()); | ||
Result signDebug(const QString &src); | ||
inline Result exec(const QString &arg) { return exec(QStringList(arg)); } | ||
Result exec(const QStringList &args = QStringList()); | ||
static UberApkSigner *get(); | ||
QString getVersion(); | ||
}; | ||
|
||
APP_NAMESPACE_END | ||
|
||
#endif // UBERAPKSIGNER_H | ||
|
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.