新手入门,逛52遇见一个简单的crakeme
- 用androidkiller打开,并且jd-gui查看java代码
oncreate函数内
protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setContentView(2130903040);
this.user = ((EditText)findViewById(2131230720));
this.psd = ((EditText)findViewById(2131230721));
this.but = ((Button)findViewById(2131230722));
AdsChinaShareManage.initSns("b0d9a893646645e39a243e255f6845dc", this);
addAdView();
this.but.setOnClickListener(new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
if (!MainActivity.this.checkSN(MainActivity.this.user.getText().toString().trim(), MainActivity.this.psd.getText().toString().trim()))
{
Toast.makeText(MainActivity.this, 2131034113, 0).show();
return;
}
Toast.makeText(MainActivity.this, 2131034114, 0).show();
MainActivity.this.but.setEnabled(false);
}
});
}
checkSN函数
private boolean checkSN(String paramString1, String paramString2)
{
return ("qtfreet" != null) && ("52PojiE" != null) && (paramString1.equals("qtfreet")) && (paramString2.equals("52PojiE"));
}
由此可知
账号:qtfreet
密码:52PojiE
如果是破解的话,可以在smali代码中将checkSN函数返回值为1
.method private checkSN(Ljava/lang/String;Ljava/lang/String;)Z
.locals 3
.param p1, "s" # Ljava/lang/String;
.param p2, "b" # Ljava/lang/String;
.prologue
.line 23
const/4 v2, 0x1
return v2
.........
由于广告并没有显示出来,我直接注释掉了addAdView()函数
.line 51
# invoke-direct {p0}, Lcom/qtfreet/demo01/MainActivity;->addAdView()V
(思路是这样,但没有测试能不能实现)