Посл.ответ |
Сообщение |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 26 января 2006 04:22 · Личное сообщение · #1
обьясните плииз...
если на входе: EAX=61(a)
EDX=5F(_)
то как понять:
XOR EAX,EDX
CDQ
IDIV EBX
ADD DL,41
на выходе должно быть: EDX=4D(M)
| Сообщение посчитали полезным: |
|
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 26 января 2006 05:13 · Личное сообщение · #2
mov eax,"a"
mov edx,"_"
xor eax,edx ; eax = 3Eh
cdq ; edx = 0
idiv ebx ; eax = 0, edx = 3Eh
add dl,41 ; add dl, 29h -> edx = 67h
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 26 января 2006 05:24 · Личное сообщение · #3
Jupiter пишет:
xor eax,edx ; eax = 3Eh
обьясни подробнее(eax=eax-edx?)
Jupiter пишет:
idiv ebx
откуда брать делимое и делитель?
тоже поподробнее
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 26 января 2006 05:32 · Личное сообщение · #4
Во-перых, почитай доки по опкодам, хотя бы чуток изучи асм.
xor - исключающее или
61h xor 5Fh = 3Eh (можешь на калькуляторе проверить)
cdq - Convert Double to Quad, Converts signed DWORD in EAX to a signed quad word in EDX:EAX by extending the high order bit of EAX throughout EDX
IDIV - Signed Integer Division, Signed binary division of accumulator by source. If source is a byte value, AX is divided by "src" and the quotient is stored in AL and the remainder in AH. If source is a word value, DX:AX is divided by "src", and the quotient is stored in AL and the remainder in DX.
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 26 января 2006 05:42 · Личное сообщение · #5
я незнаю english, а переводчики корявые.......
Jupiter пишет:
почитай доки по опкодам
где их взять?
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 26 января 2006 05:46 · Личное сообщение · #6 |
 Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode!
|
Создано: 26 января 2006 17:26 · Личное сообщение · #7
Да, еще много литературы по Ассемблеру, можно откопать на www.wasm.ru
Там замечательные книги и статьи.
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: |
Ранг: 174.2 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 27 января 2006 00:18 · Личное сообщение · #8
...и англицкий всё-таки учи - пригодится
| Сообщение посчитали полезным: |
Ранг: 5.8 (гость) Активность: 0=0 Статус: Участник
|
Создано: 27 января 2006 01:17 · Личное сообщение · #9
SamoVar пишет:
XOR EAX,EDX
CDQ
IDIV EBX
ADD DL,41
Чего то знакомый код такой.
Это случаем не кусок крякми с http://www.crackmes.de http://www.crackmes.de ?
| Сообщение посчитали полезным: |
Ранг: 4.4 (гость) Активность: 0=0 Статус: Участник
|
Создано: 02 февраля 2006 17:34 · Поправил: buian_B · Личное сообщение · #10
подскажите плз. как понять вот это:
ADD BYTE PTR DS:[EAX],AH
ADD EAX,21993
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 02 февраля 2006 18:44 · Личное сообщение · #11
buian_B
1. add byte ptr [eax],ah
по адресу, на который указывает eax, добавить значение регистра ah
2. add eax,21993
к значению eax прибавить 21993
----- EnJoy! | Сообщение посчитали полезным: |