尋找正確的輸入
下載後打開運行
那麼我們用 ollydbg打開看看 (說實話我不太會動態調試)
主要是看看這個
還是用IDA打開看看把
找到主函數 並且F5反編譯得到 僞代碼 進行分析
把輸入字符串的每一位和0x80進行與操作,然後與預置在程序中的值進行比較,相同則正確。
提出來字符串 {230,236,225,231,186,244,229,243,244,244,229,243,244}
(這裏的 字符可以對着它 按 R 或者 H 得到 ASCII碼的值 )
C語言進行解決
#include<stdio.h>
#include<string.h>
int main(){
unsigned char i;
int j;
unsigned char k;
int key[13]={230,236,225,231,186,244,229,243,244,244,229,243,244};
for(j=0;j<13;j++){
for(i=32;i<127;i++){
k=i;
k=k|0x80;
if(k==key[j])
printf("%c",i);
}
}
}
運行得到
提交即可 (去掉flag:)