ELF文件,运行一下是要求输密码

WhiteHat Contest 11 : re1-100

die查了一下无壳 直接拖入ida

可以发现

WhiteHat Contest 11 : re1-100

这是它的判断函数 也就是说输入的总长度是42位第一个字符是123也就是0x7b 也就是'{'然后10位是"53fc275d81",最后是一个125,也就是0x7d 也就是'}',最后十位是4938ae4efd

但是!最后和bufParentRead比较的却是"{daf29f59034938ae4efd53fc275d81053ed5be8c}",这是为什么呢?

是因为在比较之前调用了一个 confuseKey(bufParentRead, 42) 我们点进去看一下:

WhiteHat Contest 11 : re1-100

这就很明显了 现将除了花括号之外的40位字符分成4份,我们假设他们是P1,P2,P3,P4,然后将szKey清空,再利用strcat函数按照P3,P4,P1,P2的顺序拼接到szKey上

这样我们输入的key就变成了"{daf29f59034938ae4efd53fc275d81053ed5be8c}"

所以只需要将其还原成原来的顺序就好啦!

很容易得到:

"{53fc275d81053ed5be8cdaf29f59034938ae4efd}"

运行一下:

WhiteHat Contest 11 : re1-100

 

相关文章:

  • 2022-12-23
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2022-01-19
  • 2021-05-11
  • 2021-08-18
猜你喜欢
  • 2021-05-08
  • 2021-11-17
  • 2021-11-08
  • 2022-12-23
  • 2022-12-23
  • 2021-06-27
相关资源
相似解决方案