Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Jak naprogramovat keyloger v C++

Aktivity
Avatar
Vítězslav Škrabal:21.1.2016 12:55

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.1.2016 12:55
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:21.1.2016 14:41

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
21.1.2016 14:41
2 + 2 = 5 for extremely large values of 2
Avatar
Ondřej Langr (andysekcze):21.1.2016 14:46

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

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

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

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

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.1.2016 17:42
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:21.1.2016 18:22

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.1.2016 18:22
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Vítězslav Škrabal
Ondřej Langr (andysekcze):21.1.2016 20:02

Těžko, ale můžu to zkusit ;-) :-)

Nahoru Odpovědět
21.1.2016 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:22.1.2016 13:36

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.1.2016 13:36
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:22.1.2016 14:15

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.1.2016 14:16
Nahoru Odpovědět
22.1.2016 14:15
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Vítězslav Škrabal
Ondřej Langr (andysekcze):22.1.2016 14:48

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

Nahoru Odpovědět
22.1.2016 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:22.1.2016 16:37

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.1.2016 16:37
Avatar
Odpovídá na Vítězslav Škrabal
Ondřej Langr (andysekcze):22.1.2016 16:42

Visual studio community 2015 ;-) a ano jsou free

Nahoru Odpovědět
22.1.2016 16:42
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Vítězslav Škrabal
Neaktivní uživatel:22.1.2016 17:37

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

Nahoru Odpovědět
22.1.2016 17:37
Neaktivní uživatelský účet
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Vítězslav Škrabal
Martin Dráb:22.1.2016 18:28

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.1.2016 18:30
Nahoru Odpovědět
22.1.2016 18:28
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Neaktivní uživatel
Vítězslav Škrabal:23.1.2016 10:35

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.1.2016 10:35
Avatar
Odpovídá na Vítězslav Škrabal
Neaktivní uživatel:23.1.2016 11:27

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.1.2016 11:27
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Vítězslav Škrabal:23.1.2016 15:59

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.1.2016 15:59
Avatar
Martin Dráb
Tvůrce
Avatar
Nahoru Odpovědět
23.1.2016 16:15
2 + 2 = 5 for extremely large values of 2
Avatar
Vítězslav Škrabal:31.1.2016 17:43

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

 
Nahoru Odpovědět
31.1.2016 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.