第七屆山東省大學生網絡安全技能大賽 file

 打開IDA直接F5以下c++

通過分析箭頭處纔是最關鍵的函數

encode函數雖然是引用,可是函數內並無對其進行修改,而是將其副本base64加密網站

查詢到 flllag 和 sttr_home 的值 計算v13的值加密

計算過程直接複製粘貼,修改到能編譯就好了spa

而後異或出來goal 也就是咱們的輸入code

#include<bits/stdc++.h>
using namespace std;
string str="664e06226625425d562e766e042d422c072c45692d125c7e6552606954646643";
string str2=str;
string fflag="flag{hello_player_come_on_hahah}";
string flag=str;

signed __int64 A(char a1)
{
    if ( a1 > 47 && a1 <= 57 )
        return (unsigned int)(a1 - 48);
      if ( a1 > 64 && a1 <= 70 )
        return (unsigned int)(a1 - 55);
      if ( a1 <= 96 || a1 > 102 )
        return 0xFFFFFFFFLL;
      return (unsigned int)(a1 - 87);
}
__int64 B(char a1,char a2)
{
    int v2;
      v2 = 16 * (unsigned __int64)A(a1);
      return v2 + (unsigned int)A(a2);
}

int main()
{
    freopen("b.out","w",stdout);
    int j=0;
    for(int i=0;i<64;i+=2)
    {
        str2[j++]=B(str[i],str[i+1]);
    }
    for(int i=0;i<32;i++)
    {
        flag[i]=fflag[i]^str2[i]^i;
        printf("%c",flag[i]);
    }
    return 0;
}
/*

flag{hello_player_come_on_hahah}
664e06226625425d562e766e042d422c072c45692d125c7e6552606954646643


*/

 

可是輸出結果不太使人滿意blog

 

 

查錯很久都沒辦法 後來直接傳參給file運行了一下發現它就是正確答案get

 

 

而後把文件在這個網站 (http://www.atool9.com/)  MD5一下獲得答案string

相關文章
相關標籤/搜索