Сейчас на форуме: tyns777, cppasm, dutyfree, asfa (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Ollydbg добавить функцию.
Посл.ответ Сообщение

Ранг: 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.730.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.730.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.160.07
Статус: Участник

Создано: 27 января 2017 04:01 · Поправил: -=AkaBOSS=-
· Личное сообщение · #7

Bean пишет:
а где и как область создать и чтобы потом там сохранить

Ну если строка небольшая, то можно прям в стэке. А иначе ищи codecave пошире.
Выделяешь пространство (или в своей процедуре, или в той, которую фиксишь), а потом суёшь туда куски строки.
Загвоздка в том, что под код, формирующий строку, понадобится больше места, чем под саму строку.



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.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.040.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.112.42
Статус: Участник

Создано: 27 января 2017 19:51
· Личное сообщение · #12

Это не код, а данные. Часть адресного регистра является операндом - это критерий треша. В чём собственно суть задачи, ну кроме ебли с неизвестно чем ?

-----
vx




Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.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

Сувал, вот что получилось вместо строчки см аттач.

25b2_27.01.2017_EXELAB.rU.tgz - exelab.JPG



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 27 января 2017 22:05
· Личное сообщение · #15

Ну, и норм.

| Сообщение посчитали полезным: Bean
 eXeL@B —› Вопросы новичков —› Ollydbg добавить функцию.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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