Diskuze: Jak naprogramovat keyloger v C++

C++ C a C++ Jak naprogramovat keyloger v C++

Avatar
Vítězslav Škrabal:

Zdravím
Jak se naprogramuje key loger v C++ nebo C# ? .A druhá věc může se přejmenovat v Eclipse workspace bez toho abych ztratil projekty aby mě bylo rozuměno já mám v eclipse tři programovací jazyky naimportovány Android,Java,C C++ a potřeboval bych abych se trochu vyznal kde a ve které workspace ten který jazyk mám jak jsem začínal tak jsem nehleděl nebo nedomyslel jak pak v tom zorientovat -zkrátka to mám nešťastně pojmenováno a ještě k tomu v adresářích "C:\User name \ dokument , a já bych to chtěl třeba dát na logický disk díky

 
Odpovědět 21. ledna 12:55
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:

Jak se naprogramuje key loger v C++ nebo C# ?

To záleží na tom, co od keyloggeru požaduješ. Metod je celá řada. Můžeš se podívat třeba na testy keylog1-keylog7 v SSTS64 na matousec.com. Nebo si přečíst na MSDN o následujících funkcích:

  • GetKeyState,
  • GetAsyncKeyState,
  • GetKeyboardState,
  • SetWindowsHookEx.
Nahoru Odpovědět  +1 21. ledna 14:41
2 + 2 = 5 for extremely large values of 2
Avatar
Ondřej Langr (andysekcze):

Někde mám konzolovku, která zaznamenává do soouboru :-) z které by sis to mohl obšlehnout :D

Nahoru Odpovědět 21. ledna 14:46
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Ondřej Langr (andysekcze):

Po rychlém hledání jsem zjistil, že mám jen EXEáč :-( jo a jinak https://www.youtube.com/watch?…

Editováno 21. ledna 14:49
Nahoru Odpovědět 21. ledna 14:48
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Vítězslav Škrabal:

M8m problémy ze zakládáním projektu v eclipse tam mi chybí nějaký kompilátor viz příloha označeno místo červenou tužkou díky za pomoc

 
Nahoru Odpovědět 21. ledna 17:42
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:

Já tomu obrázku asi nerozumím, ale nemáš si při zakládání projektu vybrat překladač, který se v jeho rámci bude používat?

Pokud je problém v tom, že to ty překladače tam nabízí, ale neumí je to najít, tak bude třeba jít zřejmě někam do nastavení a upravit tam cestu k jejich binárkám. Ale to fakt nevím, kde v Eclipse je.

Nahoru Odpovědět 21. ledna 18:22
2 + 2 = 5 for extremely large values of 2
Avatar
Nahoru Odpovědět 21. ledna 20:02
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Vítězslav Škrabal:

Tak jsem se dál na opisování toho videa https://www.youtube.com/watch?… a jako na potvoru mám tam jeden zádrhel se kterým si nevím rady viz příloha

 
Nahoru Odpovědět 22. ledna 13:36
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:

Dokumentace k funkci GetAsyncKeyState tvrdí:

If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information.

Takže by ti mělo stačit tu podmínku upravit na

if (GetAsyncKeyState(key) == -32767) {

a pokud chceš být více korektní a zohlednit to, že tě zajímá nejvýznamnější a nejméně vznamný bit:

if (GetAsyncKeyState(key) & 0x8001) {

Já bych tedy doporučoval testovat jen nejvýznaměnjší bit (== -32768, & 0x8000), protože v dokumentaci se také píše, že:

Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon.

EDIT:
Upraveny velikosti bitových masek pro short.

Editováno 22. ledna 14:16
Nahoru Odpovědět 22. ledna 14:15
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Vítězslav Škrabal
Ondřej Langr (andysekcze):

protože tam mají být 2= a to mínus má být u toho čísla

Nahoru Odpovědět 22. ledna 14:48
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Vítězslav Škrabal:

Tak to zdárně jsem dokončil chybělo to "=" bohužel to neumí diakritiku ,až jsem se lekl když jsem uviděl v logu moje heslo na toto fórum.Taky bych se chtěl zeptat jestli je to microsoft visual studio 2010 je to free nebo jak? ale upřednostňuji eclipse ale nevím jak to tam nastavit aby to mi fungovalo (já asi mám špatně cestu k tomu kompiléru) kdyby mi někdo pomohl tak bych to uvítal díky

 
Nahoru Odpovědět 22. ledna 16:37
Avatar
Odpovídá na Vítězslav Škrabal
Ondřej Langr (andysekcze):

Visual studio community 2015 ;-) a ano jsou free

Nahoru Odpovědět 22. ledna 16:42
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Vítězslav Škrabal
Jakub Šárník:

Ze zajímavosti, na co keylogger? :-D

 
Nahoru Odpovědět 22. ledna 17:37
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:

Tak, diakritiku (a obecně kombinace kláves) ti to nebude brát proto, že ty v podstatě jen periodicky testuješ, zda jsou jednotlivé klávesy stisknuty či nikoliv (pozor, nejsem úplně přesný asi). Takže pokud chceš správně řešit diakritiku, o dost víc se zapotíš.

Každá aplikace totiž může mít zvolenou jinou klávesnici, takže stisky různých kláves se také překládají na jiné znaky.

Navíc ti tahle metoda nemusí úplně spolehlivě detekovat stisky kláves, protože děláš jen periodické scany.

Ono napsat opravdový ohavný keylogger není vůbec legrace.

EDIT:
Navíc ten keylogger nebude zachytávat klávesy ze všech aplikací. Dá se říci, že to platí jenom pro aplikace spuštěné daným uživatelem... a ani to není tak úplně pravda.

Editováno 22. ledna 18:30
Nahoru Odpovědět 22. ledna 18:28
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Jakub Šárník
Vítězslav Škrabal:

Visual studio community 2015 ;-) a ano jsou free

Podle mne je to jen IDE bez ničeho C/ C++,C# a tak dále nebo se mýlím?

 
Nahoru Odpovědět 23. ledna 10:35
Avatar
Odpovídá na Vítězslav Škrabal
Jakub Šárník:

Sice jsem to nepsal já, ale VS Community je plnohodnotné IDE prakticky se všema featurama verze professional. Verze express už neexistuje ;-)

 
Nahoru Odpovědět 23. ledna 11:27
Avatar
Odpovídá na Jakub Šárník
Vítězslav Škrabal:

Odkud si to mám stáhnout ve formě iso protože při mé rychlosti (negarantovaných 14 MB ) by to trvalo do soudného dne :-) já bych to stahoval na tabletu a ne na deskopu potřeboval bych odkaz jsem něco našel ale nejsem si jistý že je to pravé viz příloha díky

 
Nahoru Odpovědět 23. ledna 15:59
Avatar
Vítězslav Škrabal:

Už to mám staženo a nainstalováno díky

 
Nahoru Odpovědět 31. ledna 17:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 20 zpráv z 20.