ctf-cybrics

https://cybrics.net

Warmup (Web, Baby, 10 pts)

在這裏插入圖片描述
下載該鏈接獲取html即可:
在這裏插入圖片描述
在這裏插入圖片描述

Zakukozh (Cyber, Baby, 10 pts)

在這裏插入圖片描述
Zakukozh.bin:
Zakukozh.bin
題目說明文件是一個圖像文件,但是被仿射密碼加密。
在這裏插入圖片描述
目前常見的圖片文件有:jpg、png、bmp、gif。根據magic num來判斷原文件格式。
jpg魔數:ff d8 ff e0,對比可知不是jpg文件。
在這裏插入圖片描述
png魔數: 89 50 4E 47 0D 0A 1A 0A,對比可知可能爲png文件。
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述


int main()
{
	long inv_a = inverse(0xF, 0x100);
	char c;

	ifstream inFile("../Debug/zakukozh.bin", ios::binary | ios::in);  //以二進制讀模式打開文件
	if (!inFile) {
		cout << "Source file open error." << endl;
		return 0;
	}


	ofstream outFile("../Debug/zakukozh.png", ios::binary | ios::out);  //以二進制寫模式打開文件
	if (!outFile) {
		cout << "New file open error." << endl;
		inFile.close();  
		return 0;
	}

	while (inFile.get(c))  //每次讀取一個字符
	{
		char tmp = inv_a * (c - 0x59) % 0x100;
		outFile.put(tmp);  //每次寫入一個字符
	}
	outFile.close();
	inFile.close();
	return 0;
}

在這裏插入圖片描述

Oldman Reverse (Reverse, Baby, 10 pts)

在這裏插入圖片描述
oldman.asm

.MCALL  .TTYOUT,.EXIT
START:
    mov   #MSG r1  
    mov #0d r2
    mov #32d r3
loop:       
    mov   #MSG r1 
    add r2 r1 			
    movb    (r1) r0		
    .TTYOUT
    sub #1d r3    
    cmp #0 r3
    beq     DONE
    add #33d r2
    swab r2
    clrb r2
    swab r2    
    br      loop      
DONE: 
    .EXIT

MSG:
    .ascii "cp33AI9~p78f8h1UcspOtKMQbxSKdq~^0yANxbnN)d}k&6eUNr66UK7Hsk_uFSb5#9b&PjV5_8phe7C#CLc#<QSr0sb6{%NC8G|ra!YJyaG_~RfV3sw_&SW~}((_1>rh0dMzi><i6)wPgxiCzJJVd8CsGkT^p>_KXGxv1cIs1q(QwpnONOU9PtP35JJ5<hlsThB{uCs4knEJxGgzpI&u)1d{4<098KpXrLko{Tn{gY<|EjH_ez{z)j)_3t(|13Y}"
.end START

SWAB指令交換指定字的高字節和低字節,並且沒有字節尋址。
在這裏插入圖片描述
以上資料來自維基百科。得知swab爲word的字節交換,clrb爲字節清除。還原爲C代碼如下所示。

#include <stdio.h>

int main()
{
	char msg[] = "cp33AI9~p78f8h1UcspOtKMQbxSKdq~^0yANxbnN)d}k&6eUNr66UK7Hsk_uFSb5#9b&PjV5_8phe7C#CLc#<QSr0sb6{%NC8G|ra!YJyaG_~RfV3sw_&SW~}((_1>rh0dMzi><i6)wPgxiCzJJVd8CsGkT^p>_KXGxv1cIs1q(QwpnONOU9PtP35JJ5<hlsThB{uCs4knEJxGgzpI&u)1d{4<098KpXrLko{Tn{gY<|EjH_ez{z)j)_3t(|13Y}";
	char* pMsg = msg;

	short index = 0;

	for (int i = 32; i != 0; i--)
	{
		pMsg = msg + index;
		char tmp = *pMsg;
		printf("%c", tmp);
		index += 33;
		index = index & 0xff;
	}
	
	return 0;
}

在這裏插入圖片描述

Tone (Forensic, Baby, 10 pts)

在這裏插入圖片描述
該鏈接是一個y站的視頻地址,畫面沒有啥的,有聲音,下載並轉換格式爲wav,使用audacity打開。
在這裏插入圖片描述
對比頻率一一獲取到按鍵序號:

222 999 22 777 444 222 7777 7777 33 222 777 33 8 8 666 66 2 555 333 555 2 4

電話按鍵對應字母:

cybricssecrettonalflag

參考鏈接:https://www.freebuf.com/geek/5507.html

Honey, Help! (rebyC, Baby, 10 pts)

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