Не зрозумів, а що не так? а як же require, include, require_once и include_once в php? Чи я не зрозумів? Взагалі я кросплатформений програміст всього і вся на землі, тільки ні в чому толком не розбираюся. Але мені здається що нічого дивного немає, ну крім того що треба встановлювати якийсь API.
От в асембелері зашквар:
ви подивіться не цей код, в ньому немає жодної функції, крім функцій ms-dos
а тепер згадайте, що всі сучасні віруси пишуть на fasm, зокрема з використанням WinAPI
наведу код найпростішої програми, яка блокує роботу комп'ютера на момент її запуску до її закриття за допомогою вбиття її процесу taskkill чи деспетчером задач. після вбиття програма з якої працювали останнім разом залишається навіки заблокованою:
include 'win32ax.inc'
.code
start:
invoke MessageBox,invoke GetForegroundWindow,"0","0",0
jmp start
.end start
це аналог програми
#include <windows.h>
int main(){while(true) MessageBox(GetForegroundWindow(), "", "", 0);return 0;}
і тепер порівняйте розміри після компіляції C++ аналога, розміри WinAPI malware і розміри MS-DOS віруса.
а також спробуйте розібратися в роботі. 2 останніх приклади - за запросто.
а перший - це зашквар!!!
але це ще не все. в мене на комп'ютері немає антивірусу. замість нього я використовую IDA Disassembler. я перевіряю таким чином підозрілі програми на наявність вірусів. це є більш дієвим, оскільки в нових базах антивірусів може не бути щойно випущених вірусів, не кажучи про старі бази. і от знайти перший вірус в програмі розміром 2 мегабайти, якщо він десь засів посередині в якій підпрограмі - да ніколи! це зашквар. перших 2 - да запросто! за 2 хвилини. йдемо на вкладку імпорти, дивимося які функції імпортовано. якщо є GetForegroundWindow() шукаємо всі пункти де його використовують. те саме і з windows socket функціями, які блокноту аж ніяк не потрібні і накінець функціями encrypt. Якщо в імпортах це слово зустріли то програму краще не запускати.