Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Содержимое стека - в память
Посл.ответ Сообщение

Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 30 декабря 2007 22:11 · Поправил: HiEndsoft
· Личное сообщение · #1

Собсно вопросец знатокам: как выглядит самый короткий и производительныйкод сохранения содержимого стека в заданном участке памяти. На входе ESP, длина нужного участка и нач. адрес участка, на выходе - результат в виде содержимого стека. Пример: имеем в стеке вх. параметры API функции, трэба их от туда выдернуть и сохранить где-нибудь в заданном уч-ке памяти для дальнейшего изучения. Если вопрос покажется слишком простым - плз. не кидайте сразу в меня камни, возможно я загнался.

-----
продавец резиновых утёнков





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 декабря 2007 22:21
· Личное сообщение · #2

Чем не устраивает чо-нить типа mov esi,source; mov edi,dest; mov ecx,size; rep movsb?




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

Создано: 30 декабря 2007 22:22
· Личное сообщение · #3


mov edi, eax
mov esi, esp
mov eax, ecx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb


-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 30 декабря 2007 22:44
· Личное сообщение · #4

Ты передохни и перечитай, что написал =)
HiEndsoft пишет:
код сохранения содержимого стека в заданном участке памяти. На входе ESP, длина нужного участка и нач. адрес участка, на выходе - результат в виде содержимого стека.


HiEndsoft пишет:
Пример: имеем в стеке вх. параметры API функции, трэба их от туда выдернуть и сохранить где-нибудь в заданном уч-ке памяти для дальнейшего изучения


Если тебе нужно получить параметры вызванной ф-и, то нужно понять 1)где начинается фрейм текущей функции 2)сколько параметров. Для этого нужно дизасмить всю функцию и смотреть как изменяется стек и к каким данным в нем идет обращение. Т.е. написать простенький статик эмуль.



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 30 декабря 2007 23:06
· Личное сообщение · #5

HoBleenа слово API не видно? Я сам знаю зачем, теперь вижу как. загнался я ребята. Спасиб. Тему закрывать не буду мож еще кто что придумает.

-----
продавец резиновых утёнков




Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 16:13
· Личное сообщение · #6

HiEndsoft
Промапить страницу физическую на другой адрес. Юзалось в юзермоде через физиклмемори. Могу код дать.



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 16:31
· Личное сообщение · #7

MapViewOfPage(CONTEXT.Esp) мапит стек, архив древний http://indy-vx.narod.ru/Bin/Trap.zip
Инде так иногда ядро сморит в XP.



Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 09 ноября 2011 12:31
· Личное сообщение · #8

bowrouco пишет:
MapViewOfPage(CONTEXT.Esp) мапит стек, архив древний http://indy-vx.narod.ru/Bin/Trap.zip


Я конечно извиняюсь, но проецирование и копирование — это ведь немного разные вещи



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 09 ноября 2011 12:48
· Личное сообщение · #9

vptrlx
Про копирование тс не говорил.



Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 09 ноября 2011 20:33
· Личное сообщение · #10

HiEndsoft пишет:
имеем в стеке вх. параметры API функции, трэба их от туда выдернуть и сохранить где-нибудь в заданном уч-ке памяти для дальнейшего изучения.


Хм Ну это как посмотреть



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 09 ноября 2011 21:03 · Поправил: bowrouco
· Личное сообщение · #11

vptrlx
Када матчасть изучите, тогда и обсудим. А пока я могу публично заявить что вы не понимаете что такое проецирование и копирование.



Ранг: 56.1 (постоянный), 9thx
Активность: 0.040
Статус: Участник

Создано: 10 ноября 2011 01:10
· Личное сообщение · #12

хаха, я вроде бы всего лишь заметил, что желаемое автором (судя по #5) описано в #3. и это, кажется, копирование.

bowrouco пишет:
Када матчасть изучите

трактовка, согласен, кривосформулированного вопроса, имхо, к матчасти не относится, а больше, вроде, мы ни о чём не говорили.


 eXeL@B —› Программирование —› Содержимое стека - в память
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати