-
-
[讨论][讨论]2015移动安全挑战赛第一题解体思路是否正确?
-
发表于: 2015-1-22 23:45 2001
-
在手机上安装第一题的APK后 随便输入一个数字验证提示密码错误。
把网络关了后 再随便输入一个数字 依然能提示密码错误 而不是网络中断
说明密码校验是在APP本地进行的
把APK反编译后 再把源码配置跑起来
debug到密码验证的代码处,根据密码验证的算法 逆向推一遍 是否能得到正确的密码?
String str1 = localEditText.getText().toString();
String str2 = MainActivity.this.getTableFromPic();
String str3 = MainActivity.this.getPwdFromPic();
Log.i("lil", "table:" + str2);
Log.i("lil", "pw:" + str3);
String str4 = "";
try
{
str4 = MainActivity.bytesToAliSmsCode(str2, str1.getBytes("utf-8"));
Log.i("lil", "enPassword:" + str4);
if ((str3 != null) && (!str3.equals("")) && (str3.equals(str4)))
{
MainActivity.this.showDialog();
return;
}
}
把网络关了后 再随便输入一个数字 依然能提示密码错误 而不是网络中断
说明密码校验是在APP本地进行的
把APK反编译后 再把源码配置跑起来
debug到密码验证的代码处,根据密码验证的算法 逆向推一遍 是否能得到正确的密码?
String str1 = localEditText.getText().toString();
String str2 = MainActivity.this.getTableFromPic();
String str3 = MainActivity.this.getPwdFromPic();
Log.i("lil", "table:" + str2);
Log.i("lil", "pw:" + str3);
String str4 = "";
try
{
str4 = MainActivity.bytesToAliSmsCode(str2, str1.getBytes("utf-8"));
Log.i("lil", "enPassword:" + str4);
if ((str3 != null) && (!str3.equals("")) && (str3.equals(str4)))
{
MainActivity.this.showDialog();
return;
}
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
看原图
赞赏
雪币:
留言: