申请会员ID:7ktest【申请通过】
申请ID:7ktest申请邮箱:gyluci2@163.com
看到这篇帖子,顺手破解了:http://www.52pojie.cn/thread-369616-1-1.html
打开软件的样子可以在上面帖子的2楼看到,需要用户输入注册码。
我们使用ApkIDE(apk改之理)打开下载好的apk,搜索 字符串“\u5e8f\u5217\u53f7\u9519\u8bef”(也就是“序列号错误”)。
得到:
该方法是按钮点击后的处理方法。
反编译后的java代码是:
String str = this.this$0.editText.getText().toString();
Log.i("ddd", this.this$0.seriaNumber); //这里日志输出了序列号
if (str.equals(this.this$0.seriaNumber)) //和用户的输入进行对比
{
SharedPreferences.Editor localEditor = this.this$0.sharedReg.edit(); //然后保存到文件,下次就不用重新注册了
localEditor.putString("ISREG", "1");
localEditor.commit();
Intent localIntent = new Intent();
localIntent.setClass(this.this$0, MainActivity.class);
this.this$0.startActivity(localIntent);
this.this$0.finish();
return;
}
Toast.makeText(this.this$0, "序列号错误,请检查后重新输入!", 1).show(); //对比错误就提示
那么接下来就简单了,直接去掉对比就行了:
iget-object v1, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v1, v1, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->seriaNumber:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0 //判断比较结果,这个删除了就不管比较结果怎么样,点击按钮直接进入。
如果想要看正确的注册码是什么,那么只要在判断那里(删除了)跳转到后面提示框,并把提示框的内容修改为序列号,弹框完成后跳转回判断语句所在地方,保存注册码进入主界面。
修改后的:
.method public onClick(Landroid/view/View;)V
.locals 3
.prologue
.line 62
:try_start_0
iget-object v0, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v0, v0, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->editText:Landroid/widget/EditText;
invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
.line 63
const-string v1, "ddd"
iget-object v2, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v2, v2, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->seriaNumber:Ljava/lang/String;
invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 64
iget-object v1, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v1, v1, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->seriaNumber:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
goto :cond_0
:okbroken
.line 65
iget-object v0, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v0, v0, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->sharedReg:Landroid/content/SharedPreferences;
invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object v0
.line 66
const-string v1, "ISREG"
const-string v2, "1"
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
.line 67
invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z
.line 68
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 69
iget-object v1, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
const-class v2, Lcom/drivetest/lukaoyi/MainActivity;
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
.line 70
iget-object v1, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
invoke-virtual {v1, v0}, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->startActivity(Landroid/content/Intent;)V
.line 71
iget-object v0, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
invoke-virtual {v0}, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->finish()V
.line 79
:goto_0
return-void
.line 73
:cond_0
iget-object v0, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v1, p0, Lcom/drivetest/lukaoyi/SeriaNumberActivity$1;->this$0:Lcom/drivetest/lukaoyi/SeriaNumberActivity;
iget-object v1, v1, Lcom/drivetest/lukaoyi/SeriaNumberActivity;->seriaNumber:Ljava/lang/String;
# const-string v1, "\u5e8f\u5217\u53f7\u9519\u8bef\uff0c\u8bf7\u68c0\u67e5\u540e\u91cd\u65b0\u8f93\u5165\uff01"
const/4 v2, 0x1
invoke-static {v0, v1, v2}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :okbroken
goto :goto_0
.line 75
:catch_0
move-exception v0
.line 77
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_0
.end method
另外,我们来看这个序列号是怎么样生成的:
在SeriaNumberActivity里面我们可以看到:
this.seriaNumber = localEncryptionAlgorithm.MD5("yida1234");
而EncryptionAlgorithm.md5是这样的:
public String MD5(String paramString)
{
try
{
MessageDigest localMessageDigest = MessageDigest.getInstance("MD5");
localMessageDigest.update(paramString.getBytes());
byte[] arrayOfByte = localMessageDigest.digest();
StringBuffer localStringBuffer = new StringBuffer("");
for (int i = 0; i < arrayOfByte.length; i++)
{
int j = arrayOfByte;
if (j < 0)
j += 256;
if (j < 16)
localStringBuffer.append("0");
localStringBuffer.append(Integer.toHexString(j));
}
String str = localStringBuffer.toString().substring(8, 24);
return str;
}
catch (NoSuchAlgorithmException localNoSuchAlgorithmException)
{
localNoSuchAlgorithmException.printStackTrace();
}
return "";
}
也就是序列号为“yida1234”md5加密后取第8到24这一段的内容。
这个网盘里面的apk都可以拿这种方法试一试:http://pan.baidu.com/share/home?uk=3389337036&view=share#category/type=0
破解完成的apk上传中。
以解决论坛用户问题为申请理由挺好,可惜你没写格式啊?邮箱都哪去了? Hmily 发表于 2015-6-5 12:06
以解决论坛用户问题为申请理由挺好,可惜你没写格式啊?邮箱都哪去了?
@Hmily
那天点了发表帖子后才发现,但是审核中,编辑不了,于是重新提交了一份。 游客 113.66.157.x 发表于 2015-6-5 13:43
@Hmily
那天点了发表帖子后才发现,但是审核中,编辑不了,于是重新提交了一份。
可能发现重复就被删了,邮箱是什么? Hmily 发表于 2015-6-5 18:00
可能发现重复就被删了,邮箱是什么?
邮箱是:gyluci2@163.com
{:1_914:}
ID:7ktest
邮箱:gyluci2@163.com
申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。 Hmily 发表于 2015-6-6 16:42
ID:7ktest
邮箱:
感谢,已经登录,在此报到。{:1_919:} 纠正一下,注册码的生成是:序列号+yida1234 进行md5加密取8到24位这一段内容。
已破解的apk在:链接:http://pan.baidu.com/s/1c0Ams7I 密码:bvck
页:
[1]