Посл.ответ |
Сообщение |
Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 06 августа 2006 06:26 · Личное сообщение · #1
Чем можно отредактировать obj, чтобы это обошлось малой кровью? Надо дописать примерно 60-100 строк кода. Чем проще всего это сделать?
| Сообщение посчитали полезным: |
|
Ранг: 29.5 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 06 августа 2006 06:39 · Личное сообщение · #2
Разве что в хекс-редакторе... Если obj 32-битный, то это не так трудно. Я бы забил новый код в Olly, потом copy + paste в obj в WinHex. Если obj в формате OMF, то после этой операции нужно будет увеличить на кол-во новых байтов размер текущего сегмента (см. описание OMF). В COFF, возможно, также просто. Плохо, если в этих новых байтах есть релоки.
| Сообщение посчитали полезным: |
Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 06 августа 2006 08:14 · Личное сообщение · #3
Quantum формат - COFF.
Quantum пишет:
Плохо, если в этих новых байтах есть релоки
В этом весь косяк.
Есть мысль сделать dll - пропатчить, потом заюзать dll to lib. Но что-то от этого метода попахивает
| Сообщение посчитали полезным: |
Ранг: 253.9 (наставник) Активность: 0.13↘0 Статус: Участник
|
Создано: 06 августа 2006 10:16 · Личное сообщение · #4
Paxan пишет:
Есть мысль сделать dll
от релоков ты никуда не денешься. но мысль с DLL хорошая.
----- MicroSoft? Is it some kind of a toilet paper? | Сообщение посчитали полезным: |
Ранг: 120.6 (ветеран) Активность: 0.09↘0 Статус: Участник rootkit developer
|
Создано: 06 августа 2006 10:25 · Личное сообщение · #5
Paxan пишет:
Но что-то от этого метода попахивает
Ага, прямо страшно воняет
Если obj не большой, то лучше дизасми его полностью в иде, и компиль заново в фасме с внесенными исправлениями.
----- Скажем дружно - нафиг нужно. | Сообщение посчитали полезным: |
Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 06 августа 2006 10:43 · Личное сообщение · #6
Ms-Rem пишет:
дизасми его полностью в иде, и компиль заново в фасме с внесенными исправлениями
так скорее всего и будет, но уж очень не хочется =(
| Сообщение посчитали полезным: |
Ранг: 253.9 (наставник) Активность: 0.13↘0 Статус: Участник
|
Создано: 06 августа 2006 12:05 · Личное сообщение · #7
Ms-Rem пишет:
лучше дизасми его полностью в иде
вот это воняет по-настоящему! ида непонять что продьюсит...
----- MicroSoft? Is it some kind of a toilet paper? | Сообщение посчитали полезным: |
Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 07 августа 2006 00:12 · Личное сообщение · #8
Tim
нормально ида продьюсит, надо просто уметь её готовить
| Сообщение посчитали полезным: |
Ранг: 450.1 (мудрец) Активность: 0.26↘0 Статус: Участник
|
Создано: 07 августа 2006 12:38 · Личное сообщение · #9
Можно добавить свой obj в либу чтоб не писать много в хекс редакторе
| Сообщение посчитали полезным: |
Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 07 августа 2006 12:53 · Личное сообщение · #10
Asterix мне надо не просто дописать некую функу, а пропатчить существующую, плюс дописать туда же. Поэтому вариант с обжем не катит.
| Сообщение посчитали полезным: |
Ранг: 450.1 (мудрец) Активность: 0.26↘0 Статус: Участник
|
Создано: 07 августа 2006 13:36 · Личное сообщение · #11
Paxan
дык это я предложил чтоб меньше патчить, ведь проще добавить jmp или call на новую функцию
в добавленном obj, которая выполнит требуемую задачу, чем писать много кода в хекс редакторе
| Сообщение посчитали полезным: |
Ранг: 29.5 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 08 августа 2006 01:50 · Личное сообщение · #12
Asterix пишет:
ведь проще добавить jmp или call на новую функцию
в добавленном obj, которая выполнит требуемую задачу, чем писать много кода в хекс редакторе
На этот jmp/call понадобится добавить один фиксап и один extern. Это не сложно, но придётся предварительно поизучать COFF формат.
| Сообщение посчитали полезным: |
Ранг: 253.9 (наставник) Активность: 0.13↘0 Статус: Участник
|
Создано: 08 августа 2006 02:18 · Личное сообщение · #13
Quantum
фиксап = релок. или я чего-то не понимаю?
Quantum пишет:
Плохо, если в этих новых байтах есть релоки.
тогда уже плохо.
----- MicroSoft? Is it some kind of a toilet paper? | Сообщение посчитали полезным: |
Ранг: 29.5 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 08 августа 2006 02:50 · Личное сообщение · #14
Tim пишет:
фиксап = релок
релок - это в экзешнике (или dll), а фиксап - это в обьектнике. Других отличий нет. Поэтому, можно считать, что фиксап = релок, со скидкой на формат.
| Сообщение посчитали полезным: |