Skip to content

Commit 3577853

Browse files
committed
Update readme
1 parent ec0b09c commit 3577853

File tree

2 files changed

+27
-79
lines changed

2 files changed

+27
-79
lines changed

README.md

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ For more information on what this tool can be used for, check out:
1616
* [Detecting Pirated and Malicious Android Apps with APKiD](http://rednaga.io/2016/07/31/detecting_pirated_and_malicious_android_apps_with_apkid/)
1717
* [APKiD: PEiD for Android Apps](https://github.com/enovella/cve-bio-enovella/blob/master/slides/bheu18-enovella-APKID.pdf)
1818

19-
# Installing
19+
## Installing
2020

2121
```bash
2222

@@ -31,7 +31,7 @@ Finally, install APKiD:
3131
pip install apkid
3232
```
3333

34-
## Docker
34+
### Docker
3535

3636
You can also run APKiD with [Docker](https://www.docker.com/community-edition)! Of course, this requires that you have git and Docker installed.
3737

@@ -47,7 +47,7 @@ docker/apkid.sh ~/reverse/targets/android/example/example.apk
4747
|-> compiler : dx
4848
```
4949

50-
# Usage
50+
## Usage
5151

5252
```
5353
usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
@@ -76,7 +76,7 @@ output:
7676
-o DIR, --output-dir DIR write individual results here (implies --json)
7777
```
7878

79-
# Submitting New Packers / Compilers / Obfuscators
79+
## Submitting New Packers / Compilers / Obfuscators
8080

8181
If you come across an APK or DEX which APKiD does not recognize, please open a GitHub issue and tell us:
8282

@@ -87,13 +87,13 @@ We are open to any type of concept you might have for "something interesting" to
8787

8888
Pull requests are welcome. If you're submitting a new rule, be sure to include a file hash of the APK / DEX so we can check the rule.
8989

90-
# License
90+
## License
9191

9292
This tool is available under a dual license: a commercial one suitable for closed source projects and a GPL license that can be used in open source software.
9393

9494
Depending on your needs, you must choose one of them and follow its policies. A detail of the policies and agreements for each license type are available in the [LICENSE.COMMERCIAL](LICENSE.COMMERCIAL) and [LICENSE.GPL](LICENSE.GPL) files.
9595

96-
# Hacking
96+
## Hacking
9797

9898
If you want to install the latest version in order to make changes, develop your own rules, and so on, simply clone this repository, compile the rules, and install the package in editable mode:
9999

@@ -112,35 +112,19 @@ pip install -e .[dev,test] --user
112112

113113
If you update any of the rules, be sure to run `prep-release.py` to recompile them.
114114

115-
# For Maintainers
115+
## For Maintainers
116116

117117
This section is for package maintainers.
118118

119-
To update the PyPI package:
119+
Make sure the version has been updated in [apkid/__init__.py](apkid/__init__.py)
120+
121+
Update the compiled rules, the readme, build the package and upload to PyPI:
120122

121123
```bash
122-
./prep-release.py readme
124+
./pre-release.py readme
123125
rm -f dist/*
124126
python setup.py sdist bdist_wheel
125127
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
126128
```
127129

128-
Update the generated `README.rst` until Pandoc learns how to translate Markdown with images that are links into reStructuredText:
129-
```rst
130-
.. image:: https://travis-ci.org/rednaga/APKiD.svg?branch=master
131-
:target: https://travis-ci.org/rednaga/APKiD
132-
133-
.. image:: https://img.shields.io/pypi/v/apkid.svg
134-
:target: https://pypi.python.org/pypi/apkid
135-
136-
.. image:: https://img.shields.io/pypi/pyversions/apkid.svg
137-
:target: https://pypi.python.org/pypi/apkid
138-
139-
.. image:: https://img.shields.io/pypi/format/apkid.svg
140-
:target: https://pypi.python.org/pypi/apkid
141-
142-
.. image:: https://img.shields.io/pypi/l/apkid.svg
143-
:target: https://pypi.python.org/pypi/apkid
144-
```
145-
146130
For more information see [Packaging Projects](https://packaging.python.org/tutorials/packaging-projects/).

README.rst

Lines changed: 16 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,14 @@ For more information on what this tool can be used for, check out:
2323
Apps <https://github.com/enovella/cve-bio-enovella/blob/master/slides/bheu18-enovella-APKID.pdf>`__
2424

2525
Installing
26-
==========
27-
28-
Installation is unfortunately a bit involved until a `pull
29-
request <https://github.com/VirusTotal/yara/pull/1073>`__ is merged in a
30-
dependency. Here’s how you do it:
26+
----------
3127

3228
.. code:: bash
3329
34-
git clone --recursive -b "v3.10.0" https://github.com/VirusTotal/yara-python.git /tmp/yara-python
35-
cd /tmp/yara-python/yara
36-
curl https://patch-diff.githubusercontent.com/raw/VirusTotal/yara/pull/1073.patch | git am
37-
cd ..
38-
python setup.py build --enable-dex
39-
python setup.py install
40-
41-
Without this patch to Yara, the dexlib1 detection rule will fail as will
42-
any rule relying on string sizes.
4330
44-
If this patch wasn’t needed, here’s how you’d install. First, install
45-
`yara-python <https://github.com/VirusTotal/yara-python>`__ with
46-
``--enable-dex`` to compile Yara’s DEX module:
47-
48-
.. code:: bash
49-
50-
# Don't use this method, for now.
51-
#pip install --upgrade wheel
52-
#pip wheel --wheel-dir=/tmp/yara-python --build-option="build" --build-option="--enable-dex" git+https://github.com/VirusTotal/yara-python.git@v3.10.0
53-
#pip install --no-index --find-links=/tmp/yara-python yara-python
31+
pip install --upgrade wheel
32+
pip wheel --wheel-dir=/tmp/yara-python --build-option="build" --build-option="--enable-dex" git+https://github.com/VirusTotal/yara-python.git@v3.11.0
33+
pip install --no-index --find-links=/tmp/yara-python yara-python
5434
5535
Finally, install APKiD:
5636

@@ -59,7 +39,7 @@ Finally, install APKiD:
5939
pip install apkid
6040
6141
Docker
62-
------
42+
~~~~~~
6343

6444
You can also run APKiD with
6545
`Docker <https://www.docker.com/community-edition>`__! Of course, this
@@ -78,7 +58,7 @@ Here’s how to use Docker:
7858
|-> compiler : dx
7959
8060
Usage
81-
=====
61+
-----
8262

8363
::
8464

@@ -108,7 +88,7 @@ Usage
10888
-o DIR, --output-dir DIR write individual results here (implies --json)
10989

11090
Submitting New Packers / Compilers / Obfuscators
111-
================================================
91+
------------------------------------------------
11292

11393
If you come across an APK or DEX which APKiD does not recognize, please
11494
open a GitHub issue and tell us:
@@ -125,7 +105,7 @@ Pull requests are welcome. If you’re submitting a new rule, be sure to
125105
include a file hash of the APK / DEX so we can check the rule.
126106

127107
License
128-
=======
108+
-------
129109

130110
This tool is available under a dual license: a commercial one suitable
131111
for closed source projects and a GPL license that can be used in open
@@ -137,7 +117,7 @@ are available in the `LICENSE.COMMERCIAL <LICENSE.COMMERCIAL>`__ and
137117
`LICENSE.GPL <LICENSE.GPL>`__ files.
138118

139119
Hacking
140-
=======
120+
-------
141121

142122
If you want to install the latest version in order to make changes,
143123
develop your own rules, and so on, simply clone this repository, compile
@@ -163,39 +143,23 @@ If you update any of the rules, be sure to run ``prep-release.py`` to
163143
recompile them.
164144

165145
For Maintainers
166-
===============
146+
---------------
167147

168148
This section is for package maintainers.
169149

170-
To update the PyPI package:
150+
Make sure the version has been updated in
151+
`apkid/init.py <apkid/__init__.py>`__
152+
153+
Update the compiled rules, the readme, build the package and upload to
154+
PyPI:
171155

172156
.. code:: bash
173157
174-
./prep-release.py readme
158+
./pre-release.py readme
175159
rm -f dist/*
176160
python setup.py sdist bdist_wheel
177161
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
178162
179-
Update the generated ``README.rst`` until Pandoc learns how to translate
180-
Markdown with images that are links into reStructuredText:
181-
182-
.. code:: rst
183-
184-
.. image:: https://travis-ci.org/rednaga/APKiD.svg?branch=master
185-
:target: https://travis-ci.org/rednaga/APKiD
186-
187-
.. image:: https://img.shields.io/pypi/v/apkid.svg
188-
:target: https://pypi.python.org/pypi/apkid
189-
190-
.. image:: https://img.shields.io/pypi/pyversions/apkid.svg
191-
:target: https://pypi.python.org/pypi/apkid
192-
193-
.. image:: https://img.shields.io/pypi/format/apkid.svg
194-
:target: https://pypi.python.org/pypi/apkid
195-
196-
.. image:: https://img.shields.io/pypi/l/apkid.svg
197-
:target: https://pypi.python.org/pypi/apkid
198-
199163
For more information see `Packaging
200164
Projects <https://packaging.python.org/tutorials/packaging-projects/>`__.
201165

0 commit comments

Comments
 (0)