| Посл.ответ | Сообщение | 
| 
 Ранг: 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!
  | Сообщение посчитали полезным: |