CTF題庫>實驗吧>10000000

尋找正確的輸入

下載後打開運行

那麼我們用 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:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章