-
-
[原创]第一题 思路
-
2015-1-23 23:02 1761
-
1,解压APK
2,dex 转 jar
3,分析
String str1 = this.val$edit.getText().toString();//获取输入密码
String str2 = this.this$0.getTableFromPic();//获取logo.png里偏移0x15d81位置大小0X300字节作为密码表
String str3 = this.this$0.getPwdFromPic(); //获取logo.png里偏移0x16481位置大小0X12字节为置换后的密码
String str4 = "table:" + str2;
int i = Log.i("lil", str4);
String str5 = "pw:" + str3;
int j = Log.i("lil", str5);
try
{
byte[] arrayOfByte = str1.getBytes("utf-8");
String str6 = MainActivity.access$0(str2, arrayOfByte);//原密码作为索引,置换密码
String str7 = "enPassword:" + str6;
int k = Log.i("lil", str7);
if ((str3 != null) && (!str3.equals("")) && (str3.equals(str6)))//比较密码
{
MainActivity.access$1(this.this$0);
return;
}
}
反推可以得出正确密码。
2,dex 转 jar
3,分析
String str1 = this.val$edit.getText().toString();//获取输入密码
String str2 = this.this$0.getTableFromPic();//获取logo.png里偏移0x15d81位置大小0X300字节作为密码表
String str3 = this.this$0.getPwdFromPic(); //获取logo.png里偏移0x16481位置大小0X12字节为置换后的密码
String str4 = "table:" + str2;
int i = Log.i("lil", str4);
String str5 = "pw:" + str3;
int j = Log.i("lil", str5);
try
{
byte[] arrayOfByte = str1.getBytes("utf-8");
String str6 = MainActivity.access$0(str2, arrayOfByte);//原密码作为索引,置换密码
String str7 = "enPassword:" + str6;
int k = Log.i("lil", str7);
if ((str3 != null) && (!str3.equals("")) && (str3.equals(str6)))//比较密码
{
MainActivity.access$1(this.this$0);
return;
}
}
反推可以得出正确密码。
阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!
赞赏
他的文章
[原创]第二题 思路
1793
[原创]第一题 思路
1762
看原图