java逆向helloworld代码 复原

package com.example.asus.helloword;

import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

//AppCompatActivity
//继承Activity的话,菜单选项没有作用  onCreateOptionsMenu
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private static String TAG = "MainActivity";
    private Button btn_answer;
    private Button btn_register;
    private EditText edit_sn;
    private EditText edit_userName;
          
    private static String toHexString(byte[] paramArrayOfByte, String paramString) {
        StringBuilder localStringBuilder = new StringBuilder();
        int j = paramArrayOfByte.length;
        int i = 0;

        Log.v(TAG, "paramArrayOfByte = " + paramArrayOfByte);

        for (; ; ) {
            if (i >= j) {
                Log.v(TAG, "paramString = " + paramString);
                return localStringBuilder.toString();
            }
            String str = Integer.toHexString(paramArrayOfByte[i] & 0xFF);
            if (str.length() == 1) {
                localStringBuilder.append('0');
            }
            localStringBuilder.append(str).append(paramString);
            i += 1;
        }
    }
    private boolean checkSN(String paramString1, String paramString2)
    {
        if (paramString1 != null) {
            try
            {
                if (paramString1.length() == 0) {
                    return false;
                }
                if ((paramString2 != null) && (paramString2.length() == 16))
                {
                    Object localObject = MessageDigest.getInstance("MD5");
                    ((MessageDigest)localObject).reset();
                    ((MessageDigest)localObject).update(paramString1.getBytes());
                    paramString1 = toHexString(((MessageDigest)localObject).digest(), "");
                    localObject = new StringBuilder();
                    int i = 0;
                    for (;;)
                    {
                        if (i >= paramString1.length())
                        {
                            if (!((StringBuilder)localObject).toString().equalsIgnoreCase(paramString2)) {
                                break;
                            }
                            return true;
                        }
                        ((StringBuilder)localObject).append(paramString1.charAt(i));
                        i += 2;
                    }
                }
                return false;
            }
            catch (NoSuchAlgorithmException paramString11)
            {
                paramString11.printStackTrace();
            }
        }
        return false;
    }

    private boolean checkSNfalse(String paramString1, String paramString2)
    {
        if (paramString1 != null) {
            try
            {
                if (paramString1.length() == 0) {
                    return false;
                }
                Object localObject = MessageDigest.getInstance("MD5");
                ((MessageDigest)localObject).reset();
                ((MessageDigest)localObject).update(paramString1.getBytes());
                paramString1 = toHexString(((MessageDigest)localObject).digest(), "");
                localObject = new StringBuilder();
                int i = 0;
                for (;;)
                {
                    if (i >= paramString1.length())
                    {
                        paramString1 = ((StringBuilder)localObject).toString();
                        //Toast.makeText(this, "竟然作弊,好丢人的哦", Toast.LENGTH_LONG).show();

                        this.edit_sn.setText(paramString1);
                        if (!paramString1.equalsIgnoreCase(paramString2)) {
                            break;
                        }
                        return true;
                    }
                    ((StringBuilder)localObject).append(paramString1.charAt(i));
                    i += 2;
                }
                return false;
            }
            catch (NoSuchAlgorithmException paramString12)
            {
                paramString12.printStackTrace();
            }
        }
        return false;
    }


    public void onClick(View paramView) {
        switch (paramView.getId()) {

            case R.id.button_register:
                if (!checkSN(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim())) {
                    Toast.makeText(this, R.string.unsuccessed, Toast.LENGTH_SHORT).show();
                    return;
                }
                Toast.makeText(this, R.string.successed, Toast.LENGTH_SHORT).show();
                this.btn_register.setEnabled(false);
                setTitle(R.string.registered);
                return;
            default:
                //return;
        }
        checkSNfalse(this.edit_userName.getText().toString().trim(), this.edit_sn.getText().toString().trim());
        this.btn_answer.setVisibility(android.view.View.GONE);
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle(R.string.unregister);
        this.edit_userName = ((EditText) findViewById(R.id.edit_username));
        this.edit_sn = ((EditText) findViewById(R.id.edit_sn));
        this.btn_register = ((Button) findViewById(R.id.button_register));
        this.btn_answer = ((Button) findViewById(R.id.button_answer));
        this.btn_answer.setOnClickListener(this);
        this.btn_register.setOnClickListener(this);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);
        switch(item.getItemId()) //得到被点击的item的itemId
        {
            case  R.id.menu_setting: //这里的Id就是布局文件中定义的Id,在用R.id.XXX的方法获取出来
                finish();
                break;
            default:
                return super.onOptionsItemSelected(item);
        }
        return true;
    }

    @Override
    protected void onStop() {
        super.onStop();
        finish();
    }

}


 

你可能感兴趣的:(java逆向helloworld代码 复原)