Посл.ответ |
Сообщение |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 26 января 2017 23:36 · Поправил: Bean · Личное сообщение · #1
Добрый день exe-лабовцы! У меня такой вопрос, ковыряю программку на delphi через Олю, нужна ваша помощь. Скрин прилагаю. Надо положить в верхушку стека нужный мне стринг, например "XXXXXXX", в таком же виде как там щас лежит текущий, из скрина видно что по данному адресу пусто, есть ли какие-нибудь варианты чтобы положить стринг из другого места? 7e0d_26.01.2017_EXELAB.rU.tgz - exelab.JPG
| Сообщение посчитали полезным: |
|
Ранг: 431.7 (мудрец), 390thx Активность: 0.73↘0.32 Статус: Участник
|
Создано: 26 января 2017 23:45 · Поправил: dosprog · Личное сообщение · #2
Подсунуть нужную ссылку там, где заполняется этот [EBP+10]. А вообще непонятно, что интересует сделать.
| Сообщение посчитали полезным: |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 27 января 2017 00:40 · Личное сообщение · #3
ну мне строку сунуть надо а у меня там типа char сует, я пытался подменить, а как длина строки определяется?
| Сообщение посчитали полезным: |
Ранг: 2.4 (гость) Активность: 0=0 Статус: Участник
|
Создано: 27 января 2017 00:42 · Личное сообщение · #4
Инлайн асм бери и пиши цикл
| Сообщение посчитали полезным: |
Ранг: 431.7 (мудрец), 390thx Активность: 0.73↘0.32 Статус: Участник
|
Создано: 27 января 2017 00:44 · Личное сообщение · #5
Туда не строку сунуть надо, а указатель на неё, заготовив её заранее в другом месте (выбрать свободное). Вид строки - посмотреть на вид других аргументов. Скорей всего просто ASCIIz. Хотя в WIN32 паскале строка имеет вид : db StrZLength,0,0,0, 'Some dtring',0
| Сообщение посчитали полезным: |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 27 января 2017 03:15 · Личное сообщение · #6
Ну вот как подсунуть вроде проблем нет, а где и как область создать и чтобы потом там сохранить?
| Сообщение посчитали полезным: |
Ранг: 150.3 (ветеран), 175thx Активность: 0.16↘0.07 Статус: Участник
|
Создано: 27 января 2017 04:01 · Поправил: -=AkaBOSS=- · Личное сообщение · #7
Bean пишет: а где и как область создать и чтобы потом там сохранить Ну если строка небольшая, то можно прям в стэке. А иначе ищи codecave пошире. Выделяешь пространство (или в своей процедуре, или в той, которую фиксишь), а потом суёшь туда куски строки. Загвоздка в том, что под код, формирующий строку, понадобится больше места, чем под саму строку.
| Сообщение посчитали полезным: |
Ранг: 431.7 (мудрец), 390thx Активность: 0.73↘0.32 Статус: Участник
|
Создано: 27 января 2017 08:44 · Личное сообщение · #8
Что там, места нету даже в хвостах секций?
| Сообщение посчитали полезным: |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 27 января 2017 11:32 · Личное сообщение · #9
В конце все забито 004F2FF3 0000 ADD BYTE PTR DS:[EAX],AL
| Сообщение посчитали полезным: |
Ранг: 104.9 (ветеран), 47thx Активность: 0.04↘0.02 Статус: Участник
|
Создано: 27 января 2017 12:37 · Личное сообщение · #10
Bean пишет: В конце все забито 004F2FF3 0000 ADD BYTE PTR DS:[EAX],AL Так это и есть нулевые байты, в которые можно попробовать поместить строку. Просто опкод "00 00" дизассемблируется отладчиком в команду "ADD BYTE PTR DS:[EAX],AL"
| Сообщение посчитали полезным: |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 27 января 2017 12:57 · Личное сообщение · #11
Попробовал, но после анализа получается мусор какой-то, попробовал на notepad там гуд все
| Сообщение посчитали полезным: |
Ранг: 337.5 (мудрец), 348thx Активность: 2.11↗2.42 Статус: Участник
|
Создано: 27 января 2017 19:51 · Личное сообщение · #12
Это не код, а данные. Часть адресного регистра является операндом - это критерий треша. В чём собственно суть задачи, ну кроме ебли с неизвестно чем ?
----- vx | Сообщение посчитали полезным: |
Ранг: 431.7 (мудрец), 390thx Активность: 0.73↘0.32 Статус: Участник
|
Создано: 27 января 2017 20:53 · Поправил: dosprog · Личное сообщение · #13
Bean пишет: В конце все забито 004F2FF3 0000 ADD BYTE PTR DS:[EAX],AL Вот туда и суй строчку. Адрес запиши на бумажечке.
| Сообщение посчитали полезным: Bean |
Ранг: 1.4 (гость) Активность: 0.01=0.01 Статус: Участник
|
Создано: 27 января 2017 21:47 · Личное сообщение · #14 |
Ранг: 431.7 (мудрец), 390thx Активность: 0.73↘0.32 Статус: Участник
|
Создано: 27 января 2017 22:05 · Личное сообщение · #15
Ну, и норм.
| Сообщение посчитали полезным: Bean |