zoukankan      html  css  js  c++  java
  • 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了。而且程序运行一切正常。


    现在这个程序已经很小了,舒服~

  • 相关阅读:
    socketserver
    socket进阶
    socket基础
    反射
    subprocess模块
    面向对象高级特性
    面向对象基础
    字典的高级特性
    *号的妙用
    logging模块
  • 原文地址:https://www.cnblogs.com/godoforange/p/12516682.html
Copyright © 2011-2022 走看看