Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 48 ] Choď na stránku: predchádzajúca 1, 2
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 04.12.2008 7:00

Kód:
.586
.model flat ,stdcall
std_output_handle       equ -11
EXTERN GetStdHandle@4:near
Extern WriteConsoleA@20:near
extern ExitProcess@4:near
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\kernel32.lib

_data segment
    str1 db "Konzolový program",0
    lens dd ?                                   ;lens a res polia datove neurcene vyhradene na zapis sa bude do nich robit
    res dd  ?                                       
_data ends
_text segment
start:
    push std_output_handle
    call GetStdHandle@4                         ;handle a jeho parameter ako konstanta -11
    push offset str1
    call lenstr                                 ;lenstr je procedura a volame ju ako api funkciu a ma jeden parameter a to je str1 jeho offset
    push offset lens
    push offset res
    push ebx
    push offset str1
    push eax
    call WriteConsoleA@20                       ;Api WriteConsole (lens res ebx str1 eax ) vypise retazec na obr.parametre
    push 0
    call ExitProcess@4
lenstr proc
    push ebp
    mov ebp,esp
    push eax
    cld
    mov edi,dword ptr[ebp+8h]
    mov ebx,edi
    mov ecx,100
    xor al,al
    repne scasd
    sub edi,ebx
    mov ebx,edi
    dec ebx
    pop eax
    pop ebp
    ret 4
lenstr endp
_text ends
end start

Mi to nic nespravilo preslo program ako spustil som to prog1.exe a nic mi to nevypisalo nic len to preslo program a nic ziadni vysledok som nevidel co tam mam dat ako nieco ako getchar cakanie na znak alebo to nejako oneskkoriT neviem co stym a vypisuje to vobec nieco na orb?
obr?


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 04.12.2008 15:22

do includov pridaj
Kód:
extern CharToOemA@8:near
extern AllocConsole@0:near
extern FreeConsole@0:near
a na zaciatok programu
call FreeConsole@0
call AllocConsole@0

a chcelo by to bud nacitavanie alebo zdrzanie pred koniec napr
Kód:
mov ecx,0ffffffffh
loo:
    loop loo

a konzola pouziva ine kodovanie znakov, cize
Kód:
push offset str1
push offset str1
call CharToOemA@8

na zaciatok pred writeconsole


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 04.12.2008 16:52

pridaj mi to tam please neviem kde to mam dat daj ze za A: zdrzanie a ze B:nacitanie znaku
Mam IdaPro je to dobry prog? alebo jaky si mam zohnat?
alebo nejaky debuger daj.


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 04.12.2008 18:28

Kód:
.586
.model flat ,stdcall
std_output_handle equ -11
EXTERN GetStdHandle@4:near
Extern WriteConsoleA@20:near
extern ExitProcess@4:near
extern AllocConsole@0:near
extern FreeConsole@0:near
extern CharToOemA@8:near
extern ReadConsoleA@20:near
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\kernel32.lib


_data segment
str1 db "Konzolový program",0
lens dd ? ;lens a res polia datove neurcene vyhradene na zapis sa bude do nich robit
res dd ?
_data ends
_text segment
start:
push offset str1
push offset str1
call CharToOemA@8
call FreeConsole@0
call AllocConsole@0
push std_output_handle
call GetStdHandle@4 ;handle a jeho parameter ako konstanta -11
push offset str1
call lenstr ;lenstr je procedura a volame ju ako api funkciu a ma jeden parameter a to je str1 jeho offset
push offset lens
push offset res
push ebx
push offset str1
push eax
call WriteConsoleA@20 ;Api WriteConsole (lens res ebx str1 eax ) vypise retazec na obr.parametre
;A: zdrzanie
;mov ecx,0ffffffffh
;loo:
;    loop loo
;B: caka na stlacenie enteru, pricom na konci programu uz je jedno kam sa veci zapisu
push offset res
push offset lens
push 200
push offset str1
push -10
call GetStdHandle@4
push eax
call ReadConsoleA@20
push 0
call ExitProcess@4


lenstr proc
push ebp
mov ebp,esp
push eax
cld
mov edi,dword ptr[ebp+8h]
mov ebx,edi
mov ecx,100
xor al,al
repne scasd
sub edi,ebx
mov ebx,edi
dec ebx
pop eax
pop ebp
ret 4
lenstr endp
_text ends
end start

a idu nepouzivam, nepacila sa mi a anebola free, pouzivam olly dbg - ma prehladne prostredie, moznost pridanie nespocetneho mnozstva pluginov, je free.
http://www.ollydbg.de/


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 05.12.2008 18:13

super dal som si to cez enter ide to aj konzola sa mi zobrazi ale naco tam je ta procedura lenstr ved ma vypisat dlzku retazca a nic napise mi len retazec str1 a to vse caka na enter inak v c++ sa daju volat tiez api funkc ie?.tam by to bolo asi jednoduchsie kurna ne?.mam ostat pri assemblery alebo jako neviem teraz asi obidvoje ze


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 06.12.2008 0:09

lenstr je tam preto, ze WriteConsole berie ako jeden z parametrov dlzku vypisovaneho retazca, ak chces vypisat dlzku, musel by si previest dlzku na retazec a potom ho vypisovat. A este raz opakujem, toto nie je ten klasicky assembler, kde mas iba prerusenia a pamet. A ostat ta nikto nenuti, vyber si to co sa ti viac paci, ale programovanie v asembleri ti da odpovede aj na otazky typu "preco
i=0;
printf("%d%d%d",i++,i++,i++);
nevypise 012.", preto si myslim ze by kazdy mal poznat aspon zaklady.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 06.12.2008 4:16

stopa daj nejaky priklad este taky kratky nejaky
a co presne robi ta procedura lenstr proc
aky je jej vysledok a kde sa uklada ked sa potom cita ako parameter.


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 06.12.2008 12:51

lenstr vrati dlzku stringu , ktoreho adresa je ulozena v zasobniku na adrese ebp+8h a vrati ju v ebx. Teraz nemam cas robit nejaky priklad, ale mam stare programy na disku na intraku - v nedelu vecer / noci ti sem nieco dam, len napis nieco blizsie aky priklad. Praca s praca s diskom, pamatou, dll?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 06.12.2008 21:35

stopa27 píše:
lenstr vrati dlzku stringu , ktoreho adresa je ulozena v zasobniku na adrese ebp+8h a vrati ju v ebx. Teraz nemam cas robit nejaky priklad, ale mam stare programy na disku na intraku - v nedelu vecer / noci ti sem nieco dam, len napis nieco blizsie aky priklad. Praca s praca s diskom, pamatou, dll?


A ako vies ze prese ebp+8h teda presne 8h ako vies ze nie 65h preco 8h
ebp je vrchol zasobika to viem ale preco 8h,


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 07.12.2008 0:35

keby si sledoval pozorne debugger, tak nato prides aj sam, ale ked inak nedas :
ako si povedal ebp ukazuje na vrchol zasobniku. Zasobnik "rastie smerom k nizsim adresam" cize na zaciatku je zasobnik povedzme 100, ked das push eax, co je dword, znizi sa vrchol zasobniku o 4,
a teraz preco +8 :
pred volanim funkcie ulozime na vrchol zasobnika adresu retazca a
majme zasobnik a ukazovatel na jeho vrchol, rovnajuci sa 100h
zavolame funkciu call lengthstr, pri jej zavolani sa automaticky ulozi na vrchol zasobnika navratova adresa, ktora je typu dword = 4 byty, cize zasobnik sa znizi o 4 => ukazovatel na vrchol zasobniku je 0FCh
potom v nasej funkcii vykoname push ebp, co nam znizi vrchol zasobniku o dalsie 4 na 0F8h, potom skutocny vrchol zasobnika, ktory je v esp, ulozime do ebp, cize dalsie operacie s zasobnikom sa tejto hodnoty nedotknu.
Dostaneme sa k instrukcii ...[ebp+08h], a kedze medzi push offset retazec a mov ebp,esp sme ulozili dva dwordy na zasobnik, musime k ebp pricitat 8h.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 07.12.2008 10:31

a dalo by sa to tak ze aj bez lenstr ze do parametrov za push dam 200 ako velkost retazca a zavolam funkciu?
a nemusim mat lesndtr proc?
aj tak by sa to dalo?

daj nejake "háčkovanie" ak máš alebo šak nikto nevie čo je to "vyšívanie" čo ja viem alebo nejaky jednoduchy keylogger.Aby mal co najmenej riadkov ale aby tam bol vystup napr do suboru.
Napr keby bol ten kéylogger bez konzoly ze by bezal na pozadi a ukladal do suboru tak ako by som ho vypol ze uz nechcem loggovat ctrl alt del a spravca uloh a tam by som ho vypal?


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 07.12.2008 12:37

push 200 mozes dat, ale vypise ti to tvoj retazec a zvysok do 200 doplni medzerami. Keylogger nemam, nemam rad tento druh progamov, aj ked to moze byt z hladiska programovania zaujimave. a ano, program bez konzoly mozes vypnut v spravcovi uloh.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 07.12.2008 15:52

tak daj nieco nejaky sietovy tcp ip program neviem nieco ako telnet alebo daj co mas v zosite nieco daj.
dik.


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 07.12.2008 21:15

v akom zosite? a sietovym programovanim sa uz duplom nezaoberam, nebavi ma to. Ale co som tak nasiel nieco zaujimane :
http://www.gymrk.iglu.cz/POWERRC.ASM
http://www.gymrk.iglu.cz/powerrc.RES
toto je na zistovanie stavu baterky v notebooku, s autorefreshom v podobe casovaca. Ale ma to par much, kedze som v case pisania este nemal notebook a testoval som to par minut na sestrinom.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 07.12.2008 23:53

co je to %lu a potom tie 13,0, alebo 10 za zatvorkami co to znamena?


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 08.12.2008 0:03

13 10 je koniec riadku a 0 je koniec retazca
%lu Long unsigned integer.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.11.07
Prihlásený: 04.07.12
Príspevky: 405
Témy: 89
Príspevok Napísal autor témyOffline : 08.12.2008 19:38

stopa27 píše:
13 10 je koniec riadku a 0 je koniec retazca
%lu Long unsigned integer.

a 10 je co?


Offline

Užívateľ
Užívateľ
aky jazyk

Registrovaný: 19.09.06
Prihlásený: 21.04.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 08.12.2008 20:03

13 je navrat na zaciatok riadku a 10 je posun o riadok nizsie (dokopy enter)


Odpovedať na tému [ Príspevkov: 48 ] Choď na stránku: predchádzajúca 1, 2


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. aký jazyk?

v Ostatné

2

560

17.01.2010 21:55

Merlin_sk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aký programovací jazyk

v Assembler, C, C++, Pascal, Java

10

986

29.10.2019 19:38

m6692 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky?jazyk.naPC

v Assembler, C, C++, Pascal, Java

8

911

27.11.2007 18:45

programator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aky programovaci jazyk

v Ostatné

5

999

29.05.2011 12:26

mudrnudl Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aký programovaci jazyk?!

v Ostatné

2

1675

29.10.2018 19:58

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aký programovací jazyk...

v Assembler, C, C++, Pascal, Java

4

533

12.09.2015 11:09

ado130 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky ovladate programovaci jazyk?

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Krčma

76

5741

02.03.2012 13:08

phodinux Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aky jazyk si mam zvolit?

v Assembler, C, C++, Pascal, Java

8

1417

10.11.2011 18:58

Reverser Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aký programovací jazyk a ako začať

v Ostatné

10

557

17.12.2013 19:17

likju Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aký jazyk? kde sa najlepšie uplatniť?

v Ostatné

7

901

25.06.2012 20:53

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jazyk

v PHP, ASP

2

543

29.06.2009 18:20

emer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jazyk

v Operačné systémy Microsoft

6

602

16.12.2009 17:52

Freelan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jazyk

v Operačné systémy Microsoft

4

595

24.12.2008 4:55

mithequessir Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jazyk stranky

v PHP, ASP

6

490

16.01.2009 19:59

kaidžas Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jazyk C

v Assembler, C, C++, Pascal, Java

9

982

10.04.2009 13:19

neutronmind Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Webový jazyk...

v Ostatné

3

754

24.02.2009 17:26

László145 Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra