Написал в свое пользование небольшой малварь-стиллер и возник вопрос - есть ли какие-то методы, с помощью которых можно уменьшить размер исполняемого файла? Я смотрел темы людей, занимающихся продажей своих стиллеров, и их билд весит около 200кб (это был стиллер на си), в то время как у меня вышло около 4мб. Это особенность раста? Или же мой код так раздут? Я пробовал приводить весь код в asm и компилировать потом этот asm в .ехе, с помощью gcc, но так и не смог это сделать, да и наверное это бессмысленно. Слышал, что это все из-за статической типизации, но если использовать динамическую, то придется таскать/подгружать все нужные .dll, стоит ли рассмотреть такой вариант? Также, думал над тем, чтобы переписать все использующиеся библиотеки на голый WinApi (которые, конечно, разумно переписать, например - reqwest). Вот все библиотеки которые я использую:
И стоит ли вообще заморачиваться мне над весом? Если да, то какие есть методы для этого?
Код:
[dependencies]
serde_json = "1.0"
aes-gcm = "0.10.2"
base64 = "0.21.2"
winapi = { version = "0.3.9", features = ["dpapi", "wincrypt", "wincon", "winuser", "winnls", "errhandlingapi"] }
rusqlite = { version = "0.29.0", features = ["bundled"] }
serde = { version = "1.0", features = ["derive"] }
rand = "0.8.5"
tar = "0.4.39"
flate2 = "1.0.26"
futures = "0.3.28"
tokio = { version = "1", features = ["full"] }
reqwest = { version="0.11.18", features = ["blocking"] }
И стоит ли вообще заморачиваться мне над весом? Если да, то какие есть методы для этого?
Последнее редактирование: