how to decompile an android NDK Library

5,807 views
Skip to first unread message

trizioPucci

unread,
Nov 15, 2013, 11:27:24 AM11/15/13
to andro...@googlegroups.com
I have developed an Android Application with some data crunching inside a C library (NDK).

In order to protect the library code:

- I have obfuscated the code with ProGuard and exported it in signed release version.
- I have replaced the functions and variables names inside the C Library with random sequence of letters to let it unreadable.
- I verified the library with "readelf -a" command.
- I verify the apk with ApkTool

How can I decoded/verified that the library in the apk is correctly obfuscated?

Is there any way to explore and reverse the library (.so)?

Thank you!

Jeffrey Walton

unread,
Nov 15, 2013, 12:35:30 PM11/15/13
to Android NDK List
On Fri, Nov 15, 2013 at 11:27 AM, trizioPucci <pucci.f...@gmail.com> wrote:
> I have developed an Android Application with some data crunching inside a C
> library (NDK).
>
> In order to protect the library code:
>
> - I have obfuscated the code with ProGuard and exported it in signed release
> version.
> - I have replaced the functions and variables names inside the C Library
> with random sequence of letters to let it unreadable.
> - I verified the library with "readelf -a" command.
> - I verify the apk with ApkTool
The preferred method is to remove sensitive data and code from the
distributed binary, and keep it on a server under your control.

> How can I decoded/verified that the library in the apk is correctly
> obfuscated?
APKTool and Jade will usually do the job.

> Is there any way to explore and reverse the library (.so)?
IDA Pro and friends. There's lots of free disassemblers and decompilers, too.

Jeff

limelect

unread,
Nov 16, 2013, 11:12:00 AM11/16/13
to andro...@googlegroups.com
Try my decompiler
http://www.limelect.com/android/DiCompiler_Shell.html

בתאריך יום שישי, 15 בנובמבר 2013 18:27:24 UTC+2, מאת trizioPucci:

Andrew Esh

unread,
Nov 17, 2013, 12:11:29 PM11/17/13
to andro...@googlegroups.com
objdump -x ... and other args to objdump. There is a disassembler in objdump as well.

trizioPucci

unread,
Nov 18, 2013, 7:42:41 AM11/18/13
to andro...@googlegroups.com
Thank you for your suggestion. 
I have installed (WinArm) and with its objdump now I am able to see the assembly code inside my library.
Is there any free way to see the Decompilated version (like a C Code) of this library?

Giuseppe

unread,
Nov 22, 2013, 4:20:55 AM11/22/13
to andro...@googlegroups.com
Hi trizio,
have you found a solution to better obfuscation of C code ?


Reply all
Reply to author
Forward
0 new messages