佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 420|回复: 0

用C#生成超小EXE

[复制链接]
发表于 2-2-2020 12:02 AM | 显示全部楼层 |阅读模式
本帖最后由 孤独月球 于 2-2-2020 12:03 AM 编辑

PE64smallest.asm是Drako Pensulo所设计的,版权所有。

我将PE64smallest.EXE用Hex Editor打开了后,逐个字节改成以下C#源码。

这个源码所生成的268字节PE.EXE除了只会留下Exit Code(Error Level)之外,就什么也不做。所以基本上这个PE.EXE是属于最简单的Portable Executable格式,也没有任何Section,连Dos Stub也省了(不会在DOS环境下显示"This program cannot be run in DOS mode.",不会)


  1. using System;
  2. using System.IO;
  3. /*
  4. Modified from PE64smallest.asm
  5. Aug 19, 2018 (c) DrakoPensulo

  6. */
  7. namespace MakeExe
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            byte exitCode = 120;
  14.            byte[] PE = new byte[] { 0x4D, 0x5A, 0xCE, 0xFA, 0x50, 0x45, 0x00, 0x00,
  15.                                     0x64, 0x86, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0xFA,
  16.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  17.                                     0x00, 0x00, 0x2F, 0x00, 0x0B, 0x02, 0xFA, 0xFA,
  18.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  19.                                     0xCE, 0xFA, 0xCE, 0xFA, 0x08, 0x01, 0x00, 0x00,
  20.                                     0xCE, 0xFA, 0xCE, 0xFA, 0x00, 0x00, 0x00, 0x00,
  21.                                     0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  22.                                     0x04, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0xFA,
  23.                                     0xCE, 0xFA, 0xCE, 0xFA, 0x05, 0x00, 0x00, 0x00,
  24.                                     0xCE, 0xFA, 0xCE, 0xFA, 0x00, 0x04, 0x00, 0x00,
  25.                                     0x08, 0x01, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0xFA,
  26.                                     0x02, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0x00,
  27.                                     0x00, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0x00,
  28.                                     0x00, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0x00,
  29.                                     0x00, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0x00,
  30.                                     0x00, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0xFA,
  31.                                     0x00, 0x00, 0x00, 0x00, 0xCE, 0xFA, 0xCE, 0xFA,
  32.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  33.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  34.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  35.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  36.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  37.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  38.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  39.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  40.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  41.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  42.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  43.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  44.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  45.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  46.                                     0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA, 0xCE, 0xFA,
  47.                                     0x6A, exitCode, 0x58, 0xC3 };

  48.            File.WriteAllBytes("PE.EXE", PE);
  49.        }
  50.    }
  51. }
复制代码


只要你改一改C#源码中的exitCode数值,然后再用以下的Batch File执行,就可以显示一摸一样,预设的Exit Code(Batch Programming里称作Error Level)。


  1. @pe.exe
  2. @echo %errorlevel%
复制代码


好玩吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 26-6-2025 03:50 AM , Processed in 0.103895 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表