首页
社区
课程
招聘
[原创]第一题的解决方案
2015-1-25 20:08 1586

[原创]第一题的解决方案

2015-1-25 20:08
1586
密码验证的地方代码如下:
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;
          }
        Str2为图片中的内容,str1为明文密码,加密函数为bytesToAliSmsCode,代码如下:
  private static String bytesToAliSmsCode(String paramString, byte[] paramArrayOfByte)
  {
    StringBuilder localStringBuilder = new StringBuilder();
    for (int i = 0;; i++)
    {
      if (i >= paramArrayOfByte.length) {
        return localStringBuilder.toString();
      }
      localStringBuilder.append(paramString.charAt(0xFF & paramArrayOfByte[i]));
    }
  }
        由此可以知道加密后的内容为文件中的内容以明文输入密码为索引的值.

安装调试,随便输入密码,这里仅输入了一个1,日志显示如下:

01-23 01:55:08.886: I/lil(313): table:一乙二十丁厂七卜人入八九几儿了力乃刀又三于干亏士工土才寸下大丈与万上小口巾山千乞川亿个勺久凡及夕丸么广亡门义之尸弓己已子卫也女飞刃习叉马乡丰王井开夫天无元专云扎艺木五支厅不太犬区历尤友匹车巨牙屯比互切瓦止少日中冈贝内水见午牛手毛气升长仁什片仆化仇币仍仅斤爪反介父从今凶分乏公仓月氏勿欠风丹匀乌凤勾文六方火为斗忆订计户认心尺引丑巴孔队办以允予劝双书幻玉刊示末未击打巧正扑扒功扔去甘世古节本术可丙左厉右石布龙平灭轧东卡北占业旧帅归且旦目叶甲申叮电号田由史只央兄叼叫另叨叹四生失禾丘付仗代仙们仪白仔他斥瓜乎丛令用甩印乐
01-23 01:55:08.886: I/lil(313): pw:义弓么丸广之
01-23 01:55:08.886: I/lil(313): enPassword:么
        有日志可以知道密码的长度为6个字符.pw为正确.
        根据pw的提示,计算出密文密码在表中的位置,结果为581026

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回