Есть ли будущее у GoLang в плане малвари?
Если бы у него отключалось RTTI и размер исполняемых файлов был сравним хотя бы с каким-нить D. Хотя некоторым индивидуамам ни то, ни другое не мешает.Есть ли будущее у GoLang в плане малвари?
1388544 hello_go # go version go1.15.6 linux/amd64
919688 hello_hs # The Glorious Glasgow Haskell Compilation System, version 8.8.4
471072 hello_crystal # Crystal 0.35.1 [5999ae29b] (2020-06-19)
462900 hello_v # V 0.2 30c0659
348608 hello_rust # rustc 1.49.0
190864 hello_pas # Free Pascal Compiler version 3.2.0 [2020/07/27] for x86_64
88912 hello_nim # Nim Compiler Version 1.4.2 [Linux: amd64]
22144 hello_d # LDC - the LLVM D compiler (1.23.0)
20592 hello_c # gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6)
8920 hello_asm # NASM version 2.15.03 compiled on Jul 28 2020
Это кстати интересно. Значит в хеллоу ворлд каким то образом не попал GC (один GC наверное минимум килобайт 50 должен быть). Сначала подумал, что собирается в режиме "-betterC", но нет. Это значит у них такой хороший LTO, что понял, что GC не нужен, хотя строки используются.22144 hello_d
Если jemalloc убрать и заменить обычным системным маллоком, то будет существенно меньше скорее всего.348608 hello_rust
Там много где можно размер уменьшить (для того-же асма 8кб - это уже дофига). Смысл теста в отсутствии чёрной магииЕсли jemalloc убрать и заменить обычным системным маллоком, то будет существенно меньше скорее всего.
for dropper javascript is good ,,unless you obfuscated it very wellI think rust also has a good future for malware. I heard Microsoft is trying to rewrite some critical parts of windows in rust. since C / C ++ has got some problems with Memory issues.
In the meantime, C / C ++, C Sharp, vb is still good for writing malware. also, python is good if u can convert ur python code to C then write a C dropper that will drop python PE and python dll... But year Golang might be the future, I had some friends who are writing malware in Delphi, embarcadero RAD studio
yup.. need some good mind. I'd go with office macros, exploits.. and such stufffor dropper javascript is good ,, unless you obfuscated it very well
Actually, i think that GoLang this year will start to prove itself one of the main languages for malware. Many malware campaigns using GoLang are succesful, and GoLang also provides a good detection ratio, compared to "standard" languages. Also, GoLang provides an high-level of abstractions, and reversers don't usually like this.Есть ли будущее у GoLang в плане малвари?
Reversers actually like this a lot. Golang has rich RTTI and there are a few parsers plugins for IDA for parsing it and recognising user defined types and function names. One would need to use some preprocessing obfuscator so that it will remove function and type names from the final executable atleast. Also full source file paths were embedded into the executable last time I've looked at Golang (I think it was 1.7 or something).Also, GoLang provides an high-level of abstractions, and reversers don't usually like this
А в С++ RTTI отключается? Что бы прям полностью? Для классов иЕсли бы у него отключалось RTTI и размер исполняемых файлов был сравним хотя бы с каким-нить D. Хотя некоторым индивидуамам ни то, ни другое не мешает.
dynamic_cast -fno-rtti должно хватить, но typeid используемый для статически определяемых типов, который используется по крайней мере в std::function, не отключается, насколько я знаю, или нет?Не знаю, насчет typeid и std::function (не использовал пока никогда), но для моего кода хватало -fno-rtti и -fno-exceptions.А в С++ RTTI отключается? Что бы прям полностью? Для классов иdynamic_cast-fno-rttiдолжно хватить, ноtypeidиспользуемый для статически определяемых типов, который используется по крайней мере вstd::function, не отключается, насколько я знаю, или нет?