Build an application using more confusing code?

I recently opened some real applications using this

So, I get the source code. In this source code, I found that most of the code is designed this way

public class LockActivity extends Activity {
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        if (GlobalDataHolder.m9617e()) {
            bm.m8771b(getApplicationContext(), getPackageManager());
            finish();
        }
    }

    protected void onResume() {
        super.onResume();
        if (GlobalDataHolder.m9617e()||this.f4719a.m9124j()) {
            bm.m8771b(getApplicationContext(), getPackageManager());

            finish();
            return;
        }
        startActivity(new Intent(getApplicationContext(), LaunchActivity.class));
    }

    public void onPause() {
        super.onPause();
    }

    public void onDestroy() {
        super.onDestroy();
    }
}

And also a java file called Garbled text, for example

aa.java

bh.java

cj.java

My question

1) Why does the developer create a function called "m8771b", "m9617e"

2) Why are most applications designed this way?

3) Is it more secure so that others cannot copy their code?

4) Should we also create such an application?

5) How can they remember where they put the function?

+4
source share
1 answer

... , . , , / - , Obfuscation, -, .

Obfuscation Wiki,

, ProGuard, . - , . , - , , ( ) .

Java -, , , . ProGuard .

+4

Source: https://habr.com/ru/post/1655033/


All Articles