sk2rw

打开IDA64进行分析,进入main函数。

进入sub_4006D6函数,这个函数是对用户输入的字符进行验证,长度小于10并且只能输入0~4的字符。

然后进入下面的两个函数,看了半天没搞懂这两个函数是干啥的,接着往下分析。

sub_400881这个函数是将经过转换完赋值给这些字节,就是将这些#都换成转换完的数据

sub_400917这个函数是个验证函数,表示没有看懂操作,经过看大佬的wp才发现原来是个数独。根据上一个给#赋值的操作,我们可以推测应该是给数独填数。我们进行动态调试。

输入0123456789后运行步过加密函数查看v7,发现他们的对应关系。

0123456789
7381940526

根据数独可知要填入的十个数是0,4,2,1,4,2,1,4,3,0

贴出脚本

arr=[48, 52, 50, 49, 52, 50, 49, 52, 51, 48,0]
biao=[7,3,8,1,9,4,0,5,2,6]
flag=[0]*10
for i in range(10):
    flag[biao[i]] = arr[i];

print(flag)

flag{1134240024}

分类:

技术点:

相关文章:

  • 2022-01-03
  • 2021-09-28
  • 2021-12-16
  • 2021-06-07
  • 2021-11-04
  • 2021-10-01
  • 2021-08-05
  • 2022-12-23
猜你喜欢
  • 2021-05-07
  • 2022-12-23
  • 2022-01-11
  • 2021-04-24
  • 2021-12-30
  • 2021-09-25
相关资源
相似解决方案