Reverse-engineering for beginners. Protect Android apps from reverse engineering

Date:

2018-03-28 04:48:11

Views:

635

Rating:

1Like 0Dislike

Share:

Table of contents:

Sometimes someone wants to see what is filling in a specific program? Then he has to use reverse-engineering. What is it? How does it work? How is this process? All this you can learn from this article.

What is reverse-engineering software?

reverse engineeringSo we call the process of parsing the application to understand how it works in order to recreate this process by making the necessary changes. Usually for these purposes, a debugger and an assembler. Depending on the quality of the software used will differ with the result and the amount of time that should be spent on its adaptation to a normal appearance. To explain reverse-engineering for beginners the best example. As a thereof will act as an application written for Android. Now, let's learn what and how.

Android applications

reverse engineering of programsFirst we need to clarify some points. In applications that use byte-code and LogCat. It is the local analogues of the previously mentioned debugger and assembler. It is also necessary to understand the structure of applications themselves. So, every program is a file with extension apk. Packed zip it’om. We are interested in its contents – application resources, classes.dex and AndroidManifest.xml. If you are programming for Android, then issues with the first and last should not be. But classes.dex – is the byte-code program that is compiled specially for the virtual machine. To get the java source code presented on the Internet means fail. But it is possible to receive the dalvik opcodes – a special set of commands that are used for the virtual machine. For an analogy, we can say that this is assembler local flood. Also classes.dex can be turned into a file with the extension jar. In this case, after decompiling you can get java code that will be more or less readable. In this way we will go.

Recommended

How to get out of

How to get out of "Skype" on the "Android" and not only

How to get out of "Skype" "Android"? This question bothers many users. The thing is that the messenger is not so difficult. But there are features that are only for mobile versions. To log out of Skype in this case more difficult than it seems. But i...

Kingo ROOT: how to use the program to gain administrative rights on Android

Kingo ROOT: how to use the program to gain administrative rights on Android

The Gadgets on the platform Android regained the lion's share of the market. Developers are continually perfecting the OS, trying to fit the needs of the users, but from year to year admit palpable mistake: forbid the owner to "stuffing" of his gadge...

How to get from Stormwind to Tanaris: practical tips

How to get from Stormwind to Tanaris: practical tips

World of Warcraft is an iconic MMORPG, uniting millions of players around the world. There are many locations and puzzles, secret trails and larger, but rather dangerous paths. Sooner or later, every player chose the side of the Alliance, we have to ...

Compilation

This process will be conducted with the program Manger Apk. Before you begin, you must ensure that there are appropriate drivers for operation of the device, and also functions mode, USB debugging. Initially we will need to move the file to understand the Directive apk_managerplace-apk-here-for-modding. After that you should run the Script.bat. If no problems, then start the console, which will be green. Select the item number nine – “reverse engineer”. After the process is initiated, it is necessary to close the console. Then you should open interested in apk file with WinZip or WinRar and extract classes.dex, which should be processed by the program dex2jar. For necessary result it is necessary to move the object with the extension .bat. The file will appear, which will end in .jar. So far, the window does not close.

Analyzing the data

reverse engineering for beginnersTo obtain information about the application, you must access its manifest. It is defined that acts as the main activity. It is of the utmost importance. It is also advisable to look at the bottom of the program. If below is the information on the license Manager, it will significantly complicate the conduct of reverse engineering. If you switch to jd-gui and expand the tree, we see multiple namespaces. Let's say that the three of them. The first contains files that are associated with advertising. The second will classes license Manager. In the third are we need data. It is where we go. Here you will need to find and remove the key, and then other lines that check whether a license of working version. All of this needs to be cleaned. Then in our Apk Manager looking for a place where provided place of byte code. Now make a small digression and comment out the teams that can potentially cause problems. After that, we just have to compile the program.

The building

reverse engineering android appsThis will help us all the same Apk Manager. In the console window which was not closed, select No. 14. Next trick is. If the application is fairly complex, when you start it may partially or completely lose its functionality. Do not worry, it means that we are only halfway and there is still much to go. Continue to reverse-engineering Android applications. To say that you need to do in a particular case, in General terms, alas, impossible. So look for the problem have their own. So, if the application window blocked by a pop up window, that you want to view the code and remove the part that is responsible for this dialogue. To help with this will be able jd-gui. As you can see, reverse engineering is not easy, and it requires significant knowledge. Even if all without problems start, it will be necessary to test the performance of the application. That is, reverse-engineering is time-consuming action. Continue to work until you have identified all the problems.

Security

What if we need protecting Android apps against reverse-engineering? In this case, there are two options: the use of special programs or the creation of a code structure,which will interfere to make the analysis says. The last option is suitable only for experienced specialists, so we will consider only the first method of protection. As the specialized software we use ProGuard. It is an application that is used for shortening, obfuscation, and code optimization. If the program is “chase” through him, we will receive a file with the extension *.apk of a smaller size than he was. In this case, it will be much more difficult to disassemble. Moreover, the advantage of this program is that it even was implemented in the build system the Android applications with the r9 update. Therefore, it can use any developer who has the standard tools of creation and development.

Conclusion

protect android apps from reverse engineeringNot to say that reverse-engineering can be thought of as something uniformly good or bad. Of course, from the point of view of the developers who created the app, it's not a happy event. But on the other hand, in many cases, the experienced programmers writing the necessary files can be time less expensive than the use of such tools. Although novice developers reverse-engineering can render good service, if you have no idea how to implement something, even an approximate and not very intuitive sketches can help with achieving this goal.


Article in other languages:

AR: https://tostpost.com/ar/computers/4048-reverse-engineering-for-beginners-protect-android-apps-from-reverse-en.html

BE: https://tostpost.com/be/kamputary/7170-revers--nzhyn-ryng-dlya-pachatko-ca-abarona-android-prykladannya-ad-re.html

DE: https://tostpost.com/de/computer/7170-reverse-engineering-f-r-anf-nger-schutz-von-android-anwendungen-von-re.html

ES: https://tostpost.com/es/los-ordenadores/7176-ingenier-a-inversa-para-los-principiantes-protecci-n-android-aplicacio.html

HI: https://tostpost.com/hi/computers/4051-android.html

JA: https://tostpost.com/ja/computers/4049-android.html

KK: https://tostpost.com/kk/komp-yuterler/7173-revers-inzhiniring-bastaushylar-a-arnal-an-or-au-android-ot-revers-inz.html

PL: https://tostpost.com/pl/komputery/7174-reverse-engineering-dla-pocz-tkuj-cych-ochrona-aplikacji-android-od-re.html

PT: https://tostpost.com/pt/computadores/7170-a-engenharia-reversa-para-iniciantes-prote-o-android-aplica-es-da-enge.html

TR: https://tostpost.com/tr/bilgisayarlar/7177-ters-m-hendislik-i-in-yeni-ba-layanlar-koruma-android-uygulamalar-ters.html

UK: https://tostpost.com/uk/komp-yuteri/7174-revers--nzhin-ring-dlya-pochatk-vc-v-zahist-android-dodatk-v-v-d-rever.html

ZH: https://tostpost.com/zh/computers/4391-reverse-engineering-for-beginners-protect-android-apps-from-reverse-en.html






Alin Trodden - author of the article, editor
"Hi, I'm Alin Trodden. I write texts, read books, and look for impressions. And I'm not bad at telling you about it. I am always happy to participate in interesting projects."

Comments (0)

This article has no comment, be the first!

Add comment

Related News

"Digger" - what is it?

If the modern gamer, who was born closer to the turn of the Millennium, to ask about if he knows what "Super Mario", "PAC-man" or "digger", he is unlikely to find the answer. And to blame him is impossible, because these games hav...

If fonit microphone

If fonit microphone

Just a couple of decades ago, a microphone connected to the computer, it seemed something incredible. To record ‘true digital" sound, to immortalize his “one-two-three… check” CD – it was cool a...

What is the screen refresh rate

What is the screen refresh rate

In the days of monitors and TVs, established on the basis of a CRT (cathode ray tube), each person should at least have a General idea of what the screen refresh rate. Unless, of course, it was important for him to keepvision, not...

CyberLink Power2Go: what is this program and is it worth it to install

CyberLink Power2Go: what is this program and is it worth it to install

a Few years ago in the Internet appeared a very unusual a software package called CyberLink Power2Go. What is this program, many users do not know. However, its potential can be judged by the name of the developer who was famous f...

The paging file Windows 7. Where is and how to configure it correctly

The paging file Windows 7. Where is and how to configure it correctly

In cases where the computer doesn't have enough RAM, use the paging file of Windows 7. Where is this file you will learn after reading the article. In addition, following the advice of an experienced user, you will be able to dete...

How to watch 3D on the computer?

How to watch 3D on the computer?

In recent years, most films in cinemas are shown in 3D-format. Its popularity is because it gives you a different look at the special effects, as when viewing the impression of spatial depth. However, not everyone can afford to wa...