看到这个题放在misc里面,还以为会是以apk掩人耳目的misc题,结果没想到是一个纯正的安卓逆向。
可以看到程序的入口点还是MainActivity
protected void onCreate(Bundle arg3) {
super.onCreate(arg3);
this.setContentView(2130968602);
ApplicationInfo v0 = this.getApplicationInfo();
v0.flags &= 2;
this.p();
this.findViewById(2131427413).setOnClickListener(new d(this));
}
我们找到setOnClickListene函数,此函数作用为监听apk中的事件。
可以看到,当我们点击sure按钮时,程序会new d..
继续跟踪下去。
public void onClick(View arg5) {
if(MainActivity.a(this.a, MainActivity.a(this.a), this.a.findViewById(2131427414).getText().toString())) {
View v0 = this.a.findViewById(2131427412);
Toast.makeText(this.a.getApplicationContext(), "Congratulations!", 1).show();
((TextView)v0).setText(2131099682);
}
else {
Toast.makeText(this.a.getApplicationContext(), "Oh no.", 1).show();
}
}
可以看到MainActivity.a是关键函数,他的返回值决定了Toast显示的值,其中MainActivity.a(this.a)的返回值为MainActivity中的v.
在MainActivity中我们可以找到v的赋值函数。
private void