Сейчас на форуме: _MBK_, vsv1, ut2004 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Как обнулить?
Посл.ответ Сообщение

Ранг: 26.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 05 марта 2007 00:28
· Личное сообщение · #1

Есть две подрядидущие команды:
895C24 44 MOV DWORD PTR SS:[ESP+44],EBX
895C24 48 MOV DWORD PTR SS:[ESP+48],EBX

Нужно обнулить [ESP+44] и [ESP+48], не меняя регистров и уложившись в 8 байт. Можно ли и как?



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 05 марта 2007 00:36
· Личное сообщение · #2

Низзя.
Показывай нафиг надо.
В смысле хоть кусок кода где это присутствует.
С поставленными условиями сделать это нельзя.



Ранг: 26.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 05 марта 2007 01:05
· Личное сообщение · #3

Ну вот кусок кода
DD05 30070210 FLD QWORD PTR DS:[10020730]
8B4E 44 MOV ECX,DWORD PTR DS:[ESI+44]
DD5C24 30 FSTP QWORD PTR SS:[ESP+30]
DD05 B8FB0110 FLD QWORD PTR DS:[1001FBB8]
8D4424 30 LEA EAX,DWORD PTR SS:[ESP+30]
50 PUSH EAX ; /Arg1 = C0000034
DD5C24 3C FSTP QWORD PTR SS:[ESP+3C] ; |
895C24 44 MOV DWORD PTR SS:[ESP+44],EBX ; |
895C24 48 MOV DWORD PTR SS:[ESP+48],EBX ; |
FF15 60F20110 CALL DWORD PTR DS:[<setSize>]
8B4E 44 MOV ECX,DWORD PTR DS:[ESI+44]
53 PUSH EBX



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 05 марта 2007 01:19
· Личное сообщение · #4

В общем тут ничего не видно...
Единственное что может помочь - это если у тебя в этом месте есть регистр равный 0.
Если нет ищи в конце секции свободное место, пиши там нужный код, потом jmp отсюда туда, выполнение твоего кода и в конце jmp назад.



Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 05 марта 2007 02:21
· Личное сообщение · #5

ciler
посмотри где последний раз в ebx что-то ложится, и там обнуляй, либо переход.



Ранг: 26.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 05 марта 2007 02:43
· Личное сообщение · #6

ebx нельзя обнулять, его значение используется далее.....
видно придется через джамп делать, раз нельзя каким-либо методом обнулить нужные значени я на стеке..



Ранг: 33.6 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 05 марта 2007 03:03 · Поправил: sliderZ
· Личное сообщение · #7

Навскидку:

FLDLN2
FSUB ST,ST
FSTP QWORD PTR [ESP+44]



Ранг: 26.6 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 05 марта 2007 03:16
· Личное сообщение · #8

sliderZСамое оно, в точку! Спасибо!



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 05 марта 2007 08:29
· Личное сообщение · #9

sliderZ, посмотрел – респект! Люблю красивые решения. =)

-----
Всем привет, я вернулся



 eXeL@B —› Вопросы новичков —› Как обнулить?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати