游戏被注册机加密,这个是完整的代码,怎么删除有关激活码的相关信息(输入邀请码进入游戏,如果错误直接退出)(邀请码过期,错误直接退出),成功进入游戏(Tip:游戏免费的,被加密之后群主也不会解码了,发了算法助手挺麻烦的,所以希望直接从apk入手)
# classes.dex
.class public Lcom/yukon/apkeditorloader/RegistMachine;
.super Ljava/lang/Object;
.source "RegistMachine.java"
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic access$000(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "x0" # Landroid/app/Activity;
.param p1, "x1" # Ljava/lang/String;
.param p2, "x2" # Ljava/lang/String;
invoke-static {p0, p1, p2}, Lcom/yukon/apkeditorloader/RegistMachine;->showRegister(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$100(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.param p0, "x0" # Landroid/content/Context;
.param p1, "x1" # Ljava/lang/String;
.param p2, "x2" # Ljava/lang/String;
invoke-static {p0, p1, p2}, Lcom/yukon/apkeditorloader/RegistMachine;->setConfig(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static convertByteToHex([B)Ljava/lang/String;
.registers 5
.param p0, "byteData" # [B
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.local v0, "sb":Ljava/lang/StringBuilder;
const/4 v1, 0x0
.local v1, "i":I
:goto_6
array-length v2, p0
if-ge v1, v2, :cond_20
aget-byte v2, p0, v1
and-int/lit16 v2, v2, 0x193
add-int/lit16 v2, v2, 0x197
const/16 v3, 0x66
invoke-static {v2, v3}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_6
.end local v1 # "i":I
:cond_20
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method private static getByteToHex([B)Ljava/lang/String;
.registers 5
.param p0, "byteData" # [B
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.local v0, "sb":Ljava/lang/StringBuilder;
const/4 v1, 0x0
.local v1, "i":I
:goto_6
array-length v2, p0
if-ge v1, v2, :cond_20
aget-byte v2, p0, v1
and-int/lit16 v2, v2, 0xff
add-int/lit16 v2, v2, 0x100
const/16 v3, 0x10
invoke-static {v2, v3}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x1
invoke-virtual {v2, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_6
.end local v1 # "i":I
:cond_20
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method public static getFinalDate(Ljava/lang/String;)Ljava/util/Date;
.registers 4
.param p0, "num" # Ljava/lang/String;
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object v0
.local v0, "c":Ljava/util/Calendar;
new-instance v1, Ljava/util/Date;
const-string v2, "2019/12/1"
invoke-direct {v1, v2}, Ljava/util/Date;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1}, Ljava/util/Calendar;->setTime(Ljava/util/Date;)V
invoke-static {p0}, Lcom/yukon/apkeditorloader/RegistMachine;->hexDecode(Ljava/lang/String;)I
move-result v1
const/4 v2, 0x6
invoke-virtual {v0, v2, v1}, Ljava/util/Calendar;->add(II)V
invoke-virtual {v0}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
move-result-object v1
return-object v1
.end method
.method public static getFingerPrint(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.param p0, "param" # Ljava/lang/String;
.param p1, "keyCode" # Ljava/lang/String;
const/4 v0, 0x0
.local v0, "fingerPrint":Ljava/lang/String;
:try_start_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/yukon/apkeditorloader/RegistMachine;->getMD5Hex(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x6
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
:try_end_1a
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_1 .. :try_end_1a} :catch_1c
move-object v0, v1
goto :goto_20
:catch_1c
move-exception v1
.local v1, "e":Ljava/security/NoSuchAlgorithmException;
invoke-virtual {v1}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
.end local v1 # "e":Ljava/security/NoSuchAlgorithmException;
:goto_20
return-object v0
.end method
.method public static getMD5Hex(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.param p0, "inputString" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "MD5"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
.local v0, "md":Ljava/security/MessageDigest;
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/security/MessageDigest;->update([B)V
invoke-virtual {v0}, Ljava/security/MessageDigest;->digest()[B
move-result-object v1
.local v1, "digest":[B
invoke-static {v1}, Lcom/yukon/apkeditorloader/RegistMachine;->getByteToHex([B)Ljava/lang/String;
move-result-object v2
return-object v2
.end method
.method public static getUniqueId(Landroid/content/Context;)Ljava/lang/String;
.registers 6
.param p0, "context" # Landroid/content/Context;
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "android_id"
invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.local v0, "androidID":Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v2, Landroid/os/Build;->SERIAL:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.local v1, "id":Ljava/lang/String;
:try_start_1b
invoke-static {v1}, Lcom/yukon/apkeditorloader/RegistMachine;->toMD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
const/4 v4, 0x6
invoke-virtual {v2, v3, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
:try_end_25
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_1b .. :try_end_25} :catch_26
return-object v2
:catch_26
move-exception v2
.local v2, "e":Ljava/security/NoSuchAlgorithmException;
invoke-virtual {v2}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
return-object v1
.end method
.method public static hexDecode(Ljava/lang/String;)I
.registers 4
.param p0, "num" # Ljava/lang/String;
const/16 v0, 0x10
const/4 v1, -0x1
:try_start_3
invoke-static {p0, v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v0
.local v0, "res":I
rem-int/lit8 v2, v0, 0x17
if-nez v2, :cond_d
div-int/lit8 v1, v0, 0x17
:try_end_d
.catch Ljava/lang/NumberFormatException; {:try_start_3 .. :try_end_d} :catch_e
:cond_d
return v1
.end local v0 # "res":I
:catch_e
move-exception v0
.local v0, "e":Ljava/lang/NumberFormatException;
return v1
.end method
.method public static hexEncode(I)Ljava/lang/String;
.registers 2
.param p0, "num" # I
mul-int/lit8 v0, p0, 0x17
invoke-static {v0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static hexUniqueId(Landroid/content/Context;)Ljava/lang/String;
.registers 6
.param p0, "context" # Landroid/content/Context;
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "android_id"
invoke-static {v0, v1}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.local v0, "1British":Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v2, Landroid/os/Build;->SERIAL:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.local v1, "id":Ljava/lang/String;
:try_start_1b
invoke-static {v1}, Lcom/yukon/apkeditorloader/RegistMachine;->toMD5(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const/16 v3, 0x8
const/16 v4, 0x14
invoke-virtual {v2, v3, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
:try_end_27
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_1b .. :try_end_27} :catch_28
return-object v2
:catch_28
move-exception v2
.local v2, "e":Ljava/security/NoSuchAlgorithmException;
invoke-virtual {v2}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
return-object v1
.end method
.method private static setConfig(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.param p0, "context" # Landroid/content/Context;
.param p1, "key" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/String;
const-string v0, "apkeditor_regcode"
const/4 v1, 0x0
invoke-virtual {p0, v0, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
.local v0, "preferences":Landroid/content/SharedPreferences;
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v1
.local v1, "editor":Landroid/content/SharedPreferences$Editor;
invoke-interface {v1, p1, p2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->commit()Z
return-void
.end method
.method public static show(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
.registers 10
.param p0, "context" # Landroid/app/Activity;
.param p1, "tips" # Ljava/lang/String;
.param p2, "strKeyCode" # Ljava/lang/String;
move-object v0, p2
.local v0, "keyCode":Ljava/lang/String;
const-string v1, "apkeditor_regcode"
const/4 v2, 0x0
invoke-virtual {p0, v1, v2}, Landroid/app/Activity;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v1
.local v1, "preference1":Landroid/content/SharedPreferences;
const-string v3, "final_date"
const-string v4, ""
invoke-interface {v1, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_81
new-instance v5, Ljava/util/Date;
invoke-interface {v1, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-direct {v5, v6}, Ljava/util/Date;-><init>(Ljava/lang/String;)V
new-instance v6, Ljava/util/Date;
invoke-direct {v6}, Ljava/util/Date;-><init>()V
invoke-virtual {v5, v6}, Ljava/util/Date;->compareTo(Ljava/util/Date;)I
move-result v5
if-gtz v5, :cond_4f
new-instance v3, Landroid/app/AlertDialog$Builder;
invoke-direct {v3, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
invoke-virtual {v3}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
move-result-object v3
.local v3, "dialog1":Landroid/app/AlertDialog;
const-string v4, "您的激活码已经过期,请获取新的激活码!"
invoke-virtual {v3, v4}, Landroid/app/AlertDialog;->setMessage(Ljava/lang/CharSequence;)V
const-string v4, "提示信息"
invoke-virtual {v3, v4}, Landroid/app/AlertDialog;->setTitle(Ljava/lang/CharSequence;)V
invoke-virtual {v3, v2}, Landroid/app/AlertDialog;->setCancelable(Z)V
const/4 v2, -0x2
new-instance v4, Lcom/yukon/apkeditorloader/RegistMachine$1;
invoke-direct {v4, p0, p1, v0}, Lcom/yukon/apkeditorloader/RegistMachine$1;-><init>(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
const-string v5, "确定"
invoke-virtual {v3, v2, v5, v4}, Landroid/app/AlertDialog;->setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V
invoke-virtual {v3}, Landroid/app/AlertDialog;->show()V
return-void
.end local v3 # "dialog1":Landroid/app/AlertDialog;
:cond_4f
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "错误!残缺的激活码设置"
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v5, Ljava/text/SimpleDateFormat;
const-string v6, "~"
invoke-direct {v5, v6}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
new-instance v6, Ljava/util/Date;
invoke-interface {v1, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-direct {v6, v3}, Ljava/util/Date;-><init>(Ljava/lang/String;)V
invoke-virtual {v5, v6}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "祝游戏愉快"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.local v2, "tips1":Ljava/lang/String;
const/4 v3, 0x1
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v3
invoke-virtual {v3}, Landroid/widget/Toast;->show()V
.end local v2 # "tips1":Ljava/lang/String;
:cond_81
const-string v2, "is_reg_ok"
invoke-interface {v1, v2, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "true"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_90
return-void
:cond_90
invoke-static {p0, p1, v0}, Lcom/yukon/apkeditorloader/RegistMachine;->showRegister(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private static showRegister(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
.registers 14
.param p0, "context" # Landroid/app/Activity;
.param p1, "tips" # Ljava/lang/String;
.param p2, "keyCode" # Ljava/lang/String;
new-instance v0, Landroid/widget/LinearLayout;
invoke-direct {v0, p0}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
.local v0, "view":Landroid/widget/LinearLayout;
new-instance v1, Landroid/widget/TextView;
invoke-direct {v1, p0}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
.local v1, "tvTips":Landroid/widget/TextView;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ""
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
new-instance v2, Landroid/widget/TextView;
invoke-direct {v2, p0}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
.local v2, "tvMachineCodeLable":Landroid/widget/TextView;
const-string v3, "前往群聊免费解码\t游戏群聊:example\n(双击可复制机器码,私信发送给群主获取解码)"
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
invoke-virtual {v0, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
new-instance v3, Landroid/widget/EditText;
invoke-direct {v3, p0}, Landroid/widget/EditText;-><init>(Landroid/content/Context;)V
.local v3, "tvMachineCode":Landroid/widget/EditText;
invoke-static {p0}, Lcom/yukon/apkeditorloader/RegistMachine;->hexUniqueId(Landroid/content/Context;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V
new-instance v4, Landroid/view/ViewGroup$LayoutParams;
const/4 v5, -0x1
invoke-direct {v4, v5, v5}, Landroid/view/ViewGroup$LayoutParams;-><init>(II)V
const/4 v4, 0x0
invoke-virtual {v3, v4}, Landroid/widget/EditText;->setInputType(I)V
new-instance v6, Lcom/yukon/apkeditorloader/RegistMachine$2;
invoke-direct {v6, p0, v3}, Lcom/yukon/apkeditorloader/RegistMachine$2;-><init>(Landroid/app/Activity;Landroid/widget/EditText;)V
invoke-virtual {v3, v6}, Landroid/widget/EditText;->setOnClickListener(Landroid/view/View$OnClickListener;)V
invoke-virtual {v0, v3}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
new-instance v6, Landroid/widget/TextView;
invoke-direct {v6, p0}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
.local v6, "tvRegistLable":Landroid/widget/TextView;
const-string v7, ""
new-instance v7, Landroid/widget/EditText;
invoke-direct {v7, p0}, Landroid/widget/EditText;-><init>(Landroid/content/Context;)V
.local v7, "tvRegistCode":Landroid/widget/EditText;
new-instance v8, Landroid/view/ViewGroup$LayoutParams;
invoke-direct {v8, v5, v5}, Landroid/view/ViewGroup$LayoutParams;-><init>(II)V
invoke-virtual {v7, v8}, Landroid/widget/EditText;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
invoke-virtual {v0, v7}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
const/4 v8, 0x1
invoke-virtual {v0, v8}, Landroid/widget/LinearLayout;->setOrientation(I)V
const/16 v8, 0xa
invoke-virtual {v0, v8, v8, v8, v8}, Landroid/widget/LinearLayout;->setPadding(IIII)V
new-instance v8, Landroid/app/AlertDialog$Builder;
invoke-direct {v8, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
invoke-virtual {v8}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
move-result-object v8
.local v8, "dialog":Landroid/app/AlertDialog;
const-string v9, "输入邀请码可体验该版本"
invoke-virtual {v8, v9}, Landroid/app/AlertDialog;->setTitle(Ljava/lang/CharSequence;)V
invoke-virtual {v8, v0}, Landroid/app/AlertDialog;->setView(Landroid/view/View;)V
new-instance v9, Lcom/yukon/apkeditorloader/RegistMachine$3;
invoke-direct {v9, v7, p0, v3, p2}, Lcom/yukon/apkeditorloader/RegistMachine$3;-><init>(Landroid/widget/EditText;Landroid/app/Activity;Landroid/widget/EditText;Ljava/lang/String;)V
const-string v10, "进入游戏"
invoke-virtual {v8, v5, v10, v9}, Landroid/app/AlertDialog;->setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V
new-instance v5, Lcom/yukon/apkeditorloader/RegistMachine$4;
invoke-direct {v5, p0}, Lcom/yukon/apkeditorloader/RegistMachine$4;-><init>(Landroid/app/Activity;)V
const/4 v9, -0x2
const-string v10, "取消"
invoke-virtual {v8, v4}, Landroid/app/AlertDialog;->setCancelable(Z)V
new-instance v4, Lcom/yukon/apkeditorloader/RegistMachine$5;
invoke-direct {v4}, Lcom/yukon/apkeditorloader/RegistMachine$5;-><init>()V
invoke-virtual {v8, v4}, Landroid/app/AlertDialog;->setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)V
invoke-virtual {v8}, Landroid/app/AlertDialog;->show()V
return-void
.end method
.method private static toMD5(Ljava/lang/String;)Ljava/lang/String;
.registers 9
.param p0, "text" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "MD5"
invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v0
.local v0, "messageDigest":Ljava/security/MessageDigest;
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-virtual {v0, v1}, Ljava/security/MessageDigest;->digest([B)[B
move-result-object v1
.local v1, "digest":[B
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
.local v2, "sb":Ljava/lang/StringBuilder;
const/4 v3, 0x0
.local v3, "i":I
:goto_14
array-length v4, v1
if-ge v3, v4, :cond_30
aget-byte v4, v1, v3
and-int/lit16 v4, v4, 0xff
.local v4, "digestInt":I
invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v5
.local v5, "hexString":Ljava/lang/String;
invoke-virtual {v5}, Ljava/lang/String;->length()I
move-result v6
const/4 v7, 0x2
if-ge v6, v7, :cond_2a
const/4 v6, 0x0
invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
:cond_2a
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.end local v4 # "digestInt":I
.end local v5 # "hexString":Ljava/lang/String;
add-int/lit8 v3, v3, 0x1
goto :goto_14
.end local v3 # "i":I
:cond_30
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
return-object v3
.end method