Reverse-engineering is the analysis of a program, including its project and technical documentation in order to study functions that are not described in the documentation, to make corrections or create an analogical software with similar functions that however must be unique in comparison with the original product.
Reverse engineering of Android applications
We have a vast experience in reverse-engineering of software, including Java applications in .jar/.jad file formats, as well as Android application written in C# (Xamarin) and Java. We can decompile obfuscated applications and decipher protocols of interaction with a web-server. We can show the products and code on demand.
We also have completed jobs in reverse engineering of device drivers in our portfolio:
- Reverse engineering of the Windows driver and development of SANE back-end module for scanner HP Scanjet 2400 to work on GNU/Linux
- Reverse engineering of the USB protocol and the implementation of is as a module
Tools we use:
Wireshark — is a tool for Ethernet traffic analysis. With the help of this tool one can see all the traffic transferred through the net in real-time mode, as Wireshark switches the Network Interface Controller.
Charles Web Debugging Proxy – is a proxy server that became widespread due to the high functionality, work speed and fine user-friendly design.
dex2jar — is a tool used for disassembling files in .dex format.
JD-GUI — is a tool with graphical user interface which is used to view the source code of Java files of .class file format. It gives the opportunity to view the reconstructed source code with the access to methods and fields.
is used for decompilation and disassembling .NET application and dynamic linked libraries.
a software package for reverse engineering of Java applications. It includes 5 different Java decompilers, 2 byte-code editors, Java compiler, plugins, search engine, support for loading data from Classes, Jars, Android APK.
We also use such tools as Ollydbg, APK Studio.