[reverse]BUU-rome

直接看代码好了,ACTF{}部分是全文匹配,主要是这部分:

for ( i = 0; i <= 15; ++i ) {
    if ( *((_BYTE *)&v1 + i) > 64 && *((_BYTE *)&v1 + i) <= 90 )
    *((_BYTE *)&v1 + i) = (*((char *)&v1 + i) - 51) % 26 + 65;
    if ( *((_BYTE *)&v1 + i) > 96 && *((_BYTE *)&v1 + i) <= 122 )
        *((_BYTE *)&v1 + i) = (*((char *)&v1 + i) - 79) % 26 + 97;
}

最后这部分要和上面v15开始的部分一样

其实就是大写字母位移14,小写字母位移18

Encoded :81,115,119,51,115,106,95,108,122,52,95,85,106,119,64,108

payload没留,口胡一下吧:

a = [81,115,119,51,115,106,95,108,122,52,95,85,106,119,64,108]
ans = “”
for i in a :
  if i <= 90 && i > 64 :
    ans += chr(i-14)
  elif i > 96 && i <= 122 :
    ans += chr(i-18)
  else 
    ans += chr(i)
print(ans)

flag也没留,太久之前做的了

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注