首页 > 其他 > 详细

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

时间:2020-03-18 12:59:59      阅读:51      评论:0      收藏:0      [点我收藏+]

我们在打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了。而且程序运行一切正常。
技术分享图片
技术分享图片
现在这个程序已经很小了,舒服~

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

原文:https://www.cnblogs.com/godoforange/p/12516682.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!