Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.839 pregleda

Najnovija ↓

Duzina instrukcija, mali problem 05.02.2005. u 23:23 · pre 264 meseca #1
Ok ajde da prtpostavimo da sam sve prefixe pregledao, ali me ubija kako da provalim da li je insturkcija 1-2 bajta, ajde recimo da sam uzeo push pop i mov.
to mu dodje
mov eax, ecx
10001011 11reg/reg

push reg/pop reg
push ->> 01010reg
popb ->> 01011reg

Ajde prvo kad sam pogledao ove instrukcije reko sebi, aha, ako je setovan prvi bit onda je 2byte instr ako nije onda je 1byte (mov/push/pop) e tu mi ulece koska sledece sadrzine:
xchg eax, reg
10010reg
i to sam se slogirao, e sad mene zanima kako ja da znam da li je u pitanju opcode od 1 byte ili je pak rec o opcode od 2 byte, nemam, pojma kako to da izvedem, evo citam intell dokumentaciju ali nista pametno ne nadjoh =( (mozda i ima nesto pametno ali ja ne vidim)

Poz...

Re: Duzina instrukcija, mali problem 05.02.2005. u 23:35 · pre 264 meseca #2
Ukoliko je jedan od operanada za xchg eax registar, duljina je jedan bajt, inače dva. eax je malo poseban jer se često koristi i zato su neki opkodi optimizirani.

Pogledaj z0mbiev LDE (Length Disassembler Engine), mali je ali pali :>
Re: Duzina instrukcija, mali problem 05.02.2005. u 23:45 · pre 264 meseca #3
Ma znam zato sam i postovao da me zbunjuje to oko duzine =)
jer sam se prvo istripovao da ako je setovan 10000000 onda je 2 byte ali me je u pojam ubio xchg eax/reg jer je ona 1byte ali ima setovan bit 10000000 =) Tako da mi je ta zamisao da trazim po bitovima otpala =(

A uzgred di si se ti sakrio? Nema te na ICQ =)))
Re: Duzina instrukcija, mali problem 05.02.2005. u 23:50 · pre 264 meseca #4
Pa onda provjeri odvojeno da li se radi o xchg eax, <reg> kao specijalan slučaj :)

ICQ...eh...ima tamo puno napasti....veća mi je tlaka izvjesnim inidividuumima reći da sjašu, pa ga zato najradije i ne palim :>
Re: Duzina instrukcija, mali problem 06.02.2005. u 03:15 · pre 264 meseca #6
Pogledaj ono sto sam pisao u topicu Instrukcioni kod. Registar naredbi i dekoder?
Naziv topika nema mnogo veze sa onim sto je autor teme ustvari hteo, ali bitno je da je to ono sto ustvari tebi treba: https://www.elitesecurity.org/t92300

1-bajtni format: opcode [registar]
jedan bajt je kada se operand podrazumeva, ili kad je neki registar u pitanju...
npr: pop eax; push ebx; inc eax; dec eax...
2-bajtni format: opcode (mod reg r/m)
dva bajta je kad je neka instrukcija tipa registar/memorija u/iz registra bez pomeraja...
npr: mov eax, ebx; add ecx, edx; mov ebx, [eax]...
3-bajtni format: opcode (neposredni operand)
tri bajta je kad ides neposredni operand u/iz registra...
npr: add esp, -10...

Ima i meni tu jos nekih nejasnih stvari, ali ovo je pravi put :)
Re: Duzina instrukcija, mali problem 06.02.2005. u 04:09 · pre 264 meseca #7
Ma kapiram ja to =)
Nego jer ima neka forica da ja unapred znam koja je instrukcija ima modR/m ili moram sve pojedinačno da ih testiram po opkodu? Gledam ovog z0mbia dečko nije normalan šta je sve napisao =)))
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme