2023年3月11日,Dave's Garage与开源社区开发者发布了HelloAssembly开源仓库,旨在用x86汇编语言编写在不压缩情况下体积最小的完整Windows应用程序1。该项目要求程序能够运行Windows消息循环,并具备标题栏最小化、最大化、关闭按钮以及系统菜单,同时支持居中绘制背景及不小于“Dave's Tiny App”的文字1。
HelloAssembly仓库包含多个优化版本的代码目录,包括原始优化版(TinyOriginal)、采用shell coding策略的Lasse版以及手写PE header的Theron版1。在构建工具方面,Lasse目录代码可使用MASM32 11.0进行构建,Theron目录代码则需使用Yasm汇编器1。此外,项目使用了专为几KB大小可执行文件设计的压缩链接器Crinkler,并在Windows 10 SDK 10.0.20348.0版本下取得了最佳结果1。
截至2023年3月11日,该项目已列出已知最小可工作可执行文件的尺寸,但未给出具体数值1。项目方同时提醒,由于激进的优化策略类似恶意软件,可能会导致F-Secure SAFE、Microsoft Defender等杀毒软件产生误报或将其隔离1。
On March 11, 2023, Dave's Garage and open-source community developers launched the HelloAssembly repository, an initiative dedicated to building the smallest possible complete Windows application using x86 assembly language without any compression 1. To qualify as a complete application, the program must execute a Windows message loop and include functional title bar minimize, maximize, and close buttons, a system menu, and centered background and text rendering that is at least the size of "Dave's Tiny App" 1.
The project features several optimization variations organized into distinct directories, including TinyOriginal for the original optimized build, Lasse for the shell coding strategy approach, and Theron for the hand-written PE header implementation 1. Building the code in the Lasse directory requires MASM32 11.0, whereas the code in the Theron directory relies on the Yasm assembler 1. The project also utilizes Crinkler, a compressing linker specifically designed for executable files measuring just a few kilobytes, achieving optimal results with Windows 10 SDK version 10.0.20348.0 1. While the repository lists the known smallest working executable sizes as of March 11, 2023, exact numerical values were not disclosed 1. Furthermore, the creators cautioned that the aggressive optimization techniques employed mimic malware behavior, potentially triggering false positives or quarantine actions from antivirus programs such as F-Secure SAFE and Microsoft Defender 1.
评论
还没有评论,欢迎留下第一条。