首页
社区
课程
招聘
第一题解题思路
2015-1-25 20:04 2078

第一题解题思路

2015-1-25 20:04
2078
第一题原理:
      密码藏在图片里。图片文件名为logo.png,大小92307字节。密码由密码表table和密码索引pw组成。
      密码表位于图片文件的偏移量89473(0x15d81)处,大小768(0x300)字节,通过函数getTableFromPic()获取。
      密码索引位于图片文件的偏移量91265(0x16481)处,大小18(0x12)字节,通过函数getPwdFromPic()获取。
      有了密码索引和密码表再通过函数bytesToAliSmsCode()进行加密得出加密后的密码pw = "义弓么丸广之"。
      通过输入“1234567890”用IDA跟踪调试可以得到"么广亡门义之尸弓己丸"。再与"义弓么丸广之"对比可以得到密码为
      "581026"

后记:
      由于从没分析过Android代码,找相应的工具以及在8年前的旧脑上搭建调试环境用了近2天的时间。在离比赛结束还
      剩不到3个小时之前总算完成了一道题,没交白卷。
      
      还剩不到2小时的时间,顺便分析了一下第二题。第二题的加密算法是在libcrackme.so文件中的securityCheck()函数,
      目前只得知密码加密后应该为"wojiushidaan"(我就是答案)。由于不懂ARM汇编代码也不知道如何用IDA来调试.so文
      件,无法解答此题目。

附:第一题的数据
第一题密码表数据(offset=0x15d81, length=0x300):
unsigned AnsiChar table[768] = {
  0xE4, 0xB8, 0x80, 0xE4, 0xB9, 0x99, 0xE4, 0xBA, 0x8C, 0xE5, 0x8D, 0x81, 0xE4, 0xB8, 0x81, 0xE5, 
  0x8E, 0x82, 0xE4, 0xB8, 0x83, 0xE5, 0x8D, 0x9C, 0xE4, 0xBA, 0xBA, 0xE5, 0x85, 0xA5, 0xE5, 0x85, 
  0xAB, 0xE4, 0xB9, 0x9D, 0xE5, 0x87, 0xA0, 0xE5, 0x84, 0xBF, 0xE4, 0xBA, 0x86, 0xE5, 0x8A, 0x9B, 
  0xE4, 0xB9, 0x83, 0xE5, 0x88, 0x80, 0xE5, 0x8F, 0x88, 0xE4, 0xB8, 0x89, 0xE4, 0xBA, 0x8E, 0xE5, 
  0xB9, 0xB2, 0xE4, 0xBA, 0x8F, 0xE5, 0xA3, 0xAB, 0xE5, 0xB7, 0xA5, 0xE5, 0x9C, 0x9F, 0xE6, 0x89, 
  0x8D, 0xE5, 0xAF, 0xB8, 0xE4, 0xB8, 0x8B, 0xE5, 0xA4, 0xA7, 0xE4, 0xB8, 0x88, 0xE4, 0xB8, 0x8E, 
  0xE4, 0xB8, 0x87, 0xE4, 0xB8, 0x8A, 0xE5, 0xB0, 0x8F, 0xE5, 0x8F, 0xA3, 0xE5, 0xB7, 0xBE, 0xE5, 
  0xB1, 0xB1, 0xE5, 0x8D, 0x83, 0xE4, 0xB9, 0x9E, 0xE5, 0xB7, 0x9D, 0xE4, 0xBA, 0xBF, 0xE4, 0xB8, 
  0xAA, 0xE5, 0x8B, 0xBA, 0xE4, 0xB9, 0x85, 0xE5, 0x87, 0xA1, 0xE5, 0x8F, 0x8A, 0xE5, 0xA4, 0x95, 
  0xE4, 0xB8, 0xB8, 0xE4, 0xB9, 0x88, 0xE5, 0xB9, 0xBF, 0xE4, 0xBA, 0xA1, 0xE9, 0x97, 0xA8, 0xE4, 
  0xB9, 0x89, 0xE4, 0xB9, 0x8B, 0xE5, 0xB0, 0xB8, 0xE5, 0xBC, 0x93, 0xE5, 0xB7, 0xB1, 0xE5, 0xB7, 
  0xB2, 0xE5, 0xAD, 0x90, 0xE5, 0x8D, 0xAB, 0xE4, 0xB9, 0x9F, 0xE5, 0xA5, 0xB3, 0xE9, 0xA3, 0x9E, 
  0xE5, 0x88, 0x83, 0xE4, 0xB9, 0xA0, 0xE5, 0x8F, 0x89, 0xE9, 0xA9, 0xAC, 0xE4, 0xB9, 0xA1, 0xE4, 
  0xB8, 0xB0, 0xE7, 0x8E, 0x8B, 0xE4, 0xBA, 0x95, 0xE5, 0xBC, 0x80, 0xE5, 0xA4, 0xAB, 0xE5, 0xA4, 
  0xA9, 0xE6, 0x97, 0xA0, 0xE5, 0x85, 0x83, 0xE4, 0xB8, 0x93, 0xE4, 0xBA, 0x91, 0xE6, 0x89, 0x8E, 
  0xE8, 0x89, 0xBA, 0xE6, 0x9C, 0xA8, 0xE4, 0xBA, 0x94, 0xE6, 0x94, 0xAF, 0xE5, 0x8E, 0x85, 0xE4, 
  0xB8, 0x8D, 0xE5, 0xA4, 0xAA, 0xE7, 0x8A, 0xAC, 0xE5, 0x8C, 0xBA, 0xE5, 0x8E, 0x86, 0xE5, 0xB0, 
  0xA4, 0xE5, 0x8F, 0x8B, 0xE5, 0x8C, 0xB9, 0xE8, 0xBD, 0xA6, 0xE5, 0xB7, 0xA8, 0xE7, 0x89, 0x99, 
  0xE5, 0xB1, 0xAF, 0xE6, 0xAF, 0x94, 0xE4, 0xBA, 0x92, 0xE5, 0x88, 0x87, 0xE7, 0x93, 0xA6, 0xE6, 
  0xAD, 0xA2, 0xE5, 0xB0, 0x91, 0xE6, 0x97, 0xA5, 0xE4, 0xB8, 0xAD, 0xE5, 0x86, 0x88, 0xE8, 0xB4, 
  0x9D, 0xE5, 0x86, 0x85, 0xE6, 0xB0, 0xB4, 0xE8, 0xA7, 0x81, 0xE5, 0x8D, 0x88, 0xE7, 0x89, 0x9B, 
  0xE6, 0x89, 0x8B, 0xE6, 0xAF, 0x9B, 0xE6, 0xB0, 0x94, 0xE5, 0x8D, 0x87, 0xE9, 0x95, 0xBF, 0xE4, 
  0xBB, 0x81, 0xE4, 0xBB, 0x80, 0xE7, 0x89, 0x87, 0xE4, 0xBB, 0x86, 0xE5, 0x8C, 0x96, 0xE4, 0xBB, 
  0x87, 0xE5, 0xB8, 0x81, 0xE4, 0xBB, 0x8D, 0xE4, 0xBB, 0x85, 0xE6, 0x96, 0xA4, 0xE7, 0x88, 0xAA, 
  0xE5, 0x8F, 0x8D, 0xE4, 0xBB, 0x8B, 0xE7, 0x88, 0xB6, 0xE4, 0xBB, 0x8E, 0xE4, 0xBB, 0x8A, 0xE5, 
  0x87, 0xB6, 0xE5, 0x88, 0x86, 0xE4, 0xB9, 0x8F, 0xE5, 0x85, 0xAC, 0xE4, 0xBB, 0x93, 0xE6, 0x9C, 
  0x88, 0xE6, 0xB0, 0x8F, 0xE5, 0x8B, 0xBF, 0xE6, 0xAC, 0xA0, 0xE9, 0xA3, 0x8E, 0xE4, 0xB8, 0xB9, 
  0xE5, 0x8C, 0x80, 0xE4, 0xB9, 0x8C, 0xE5, 0x87, 0xA4, 0xE5, 0x8B, 0xBE, 0xE6, 0x96, 0x87, 0xE5, 
  0x85, 0xAD, 0xE6, 0x96, 0xB9, 0xE7, 0x81, 0xAB, 0xE4, 0xB8, 0xBA, 0xE6, 0x96, 0x97, 0xE5, 0xBF, 
  0x86, 0xE8, 0xAE, 0xA2, 0xE8, 0xAE, 0xA1, 0xE6, 0x88, 0xB7, 0xE8, 0xAE, 0xA4, 0xE5, 0xBF, 0x83, 
  0xE5, 0xB0, 0xBA, 0xE5, 0xBC, 0x95, 0xE4, 0xB8, 0x91, 0xE5, 0xB7, 0xB4, 0xE5, 0xAD, 0x94, 0xE9, 
  0x98, 0x9F, 0xE5, 0x8A, 0x9E, 0xE4, 0xBB, 0xA5, 0xE5, 0x85, 0x81, 0xE4, 0xBA, 0x88, 0xE5, 0x8A, 
  0x9D, 0xE5, 0x8F, 0x8C, 0xE4, 0xB9, 0xA6, 0xE5, 0xB9, 0xBB, 0xE7, 0x8E, 0x89, 0xE5, 0x88, 0x8A, 
  0xE7, 0xA4, 0xBA, 0xE6, 0x9C, 0xAB, 0xE6, 0x9C, 0xAA, 0xE5, 0x87, 0xBB, 0xE6, 0x89, 0x93, 0xE5, 
  0xB7, 0xA7, 0xE6, 0xAD, 0xA3, 0xE6, 0x89, 0x91, 0xE6, 0x89, 0x92, 0xE5, 0x8A, 0x9F, 0xE6, 0x89, 
  0x94, 0xE5, 0x8E, 0xBB, 0xE7, 0x94, 0x98, 0xE4, 0xB8, 0x96, 0xE5, 0x8F, 0xA4, 0xE8, 0x8A, 0x82, 
  0xE6, 0x9C, 0xAC, 0xE6, 0x9C, 0xAF, 0xE5, 0x8F, 0xAF, 0xE4, 0xB8, 0x99, 0xE5, 0xB7, 0xA6, 0xE5, 
  0x8E, 0x89, 0xE5, 0x8F, 0xB3, 0xE7, 0x9F, 0xB3, 0xE5, 0xB8, 0x83, 0xE9, 0xBE, 0x99, 0xE5, 0xB9, 
  0xB3, 0xE7, 0x81, 0xAD, 0xE8, 0xBD, 0xA7, 0xE4, 0xB8, 0x9C, 0xE5, 0x8D, 0xA1, 0xE5, 0x8C, 0x97, 
  0xE5, 0x8D, 0xA0, 0xE4, 0xB8, 0x9A, 0xE6, 0x97, 0xA7, 0xE5, 0xB8, 0x85, 0xE5, 0xBD, 0x92, 0xE4, 
  0xB8, 0x94, 0xE6, 0x97, 0xA6, 0xE7, 0x9B, 0xAE, 0xE5, 0x8F, 0xB6, 0xE7, 0x94, 0xB2, 0xE7, 0x94, 
  0xB3, 0xE5, 0x8F, 0xAE, 0xE7, 0x94, 0xB5, 0xE5, 0x8F, 0xB7, 0xE7, 0x94, 0xB0, 0xE7, 0x94, 0xB1, 
  0xE5, 0x8F, 0xB2, 0xE5, 0x8F, 0xAA, 0xE5, 0xA4, 0xAE, 0xE5, 0x85, 0x84, 0xE5, 0x8F, 0xBC, 0xE5, 
  0x8F, 0xAB, 0xE5, 0x8F, 0xA6, 0xE5, 0x8F, 0xA8, 0xE5, 0x8F, 0xB9, 0xE5, 0x9B, 0x9B, 0xE7, 0x94, 
  0x9F, 0xE5, 0xA4, 0xB1, 0xE7, 0xA6, 0xBE, 0xE4, 0xB8, 0x98, 0xE4, 0xBB, 0x98, 0xE4, 0xBB, 0x97, 
  0xE4, 0xBB, 0xA3, 0xE4, 0xBB, 0x99, 0xE4, 0xBB, 0xAC, 0xE4, 0xBB, 0xAA, 0xE7, 0x99, 0xBD, 0xE4, 
  0xBB, 0x94, 0xE4, 0xBB, 0x96, 0xE6, 0x96, 0xA5, 0xE7, 0x93, 0x9C, 0xE4, 0xB9, 0x8E, 0xE4, 0xB8, 
  0x9B, 0xE4, 0xBB, 0xA4, 0xE7, 0x94, 0xA8, 0xE7, 0x94, 0xA9, 0xE5, 0x8D, 0xB0, 0xE4, 0xB9, 0x90
};

第一题密码索引数据(offset=0x16081, length=0x12):
unsigned AnsiChar pw[18] = {
  0xE4, 0xB9, 0x89, 0xE5, 0xBC, 0x93, 0xE4, 0xB9, 0x88, 0xE4, 0xB8, 0xB8, 0xE5, 0xB9, 0xBF, 0xE4, 
  0xB9, 0x8B
};

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

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