CTF中特別小的EXE是怎么生成的


我們在打CTF時候,出題的爺爺們給出的exe都很小 就10k左右,有的甚至就5k,那時候我很郁悶啊。現在我也能了啊哈哈
不多bb按如下操作:

我們來看看正常的release生成的代碼

#include "windows.h"
int main(){
	MessageBoxA(0,"hello","hello",0);
	return 0;
}


不得不說 我們在程序里並沒有寫太多東西,36kb的值確實有點大了。接下來我們開始壓縮

首先加上這個代碼

#include "windows.h"
#pragma comment(linker,"/OPT:nowin98")
int main(){
	MessageBoxA(0,"hello","hello",0);
	return 0;
}

加上這段代碼的含義無非就是不讓程序在win98的平台上運行,(現在估計沒有win98了吧。。)

build后結果如下:現在已經減小10k了

繼續除去默認庫

按如下步驟進行

結果如下:不得不說現在只剩下3kb了。而且程序運行一切正常。


現在這個程序已經很小了,舒服~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM