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

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

Ранг: 5.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 августа 2012 03:13 · Поправил: opcodes
· Личное сообщение · #1

Доброе время..
перейдем сразу к телу делу..
вопрос такой, вот когда открываю в ольке программу.. сравнительно небольшого размера, то там идет код так:
--------------------------
EP - mov тра-та-та
EP1 - тра-та-та
EP2 - тра-та-та
;EP - это к примеру 00401000, EP1 это 00401001 итп(тобишь я написал все по строкам как и ODBG)
--------------------------
какой там идет код это не принципиально, сколько я не открывал в ней программ, в подавляющем кол-ве, выше EP кода нету, а с EP начинается код(что имеет смысл)..
Так вот, мне нужно к примеру, добавить свой код в середине, т.е после EP1 был бы JMP на мой участок кода, он там выполнялся себе, затем прыгал обратно, но уже на EP2. но так как я не могу занопать код EP1, или EP2, из за того что это повредит(сотрет) код основной программы и она уже будет работать некорректно.
Вопрос заключается в том, как мне расширить место между EP1 и EP2? чтобы засунуть туда какие либо строки, и при том не повредить код основной программы.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 13 августа 2012 03:25
· Личное сообщение · #2

расширять никак,
только добавлять свою секцию к файлу, и перебивать в нужном месте командой jmp, на свою секцию,
а в своей секции добалять затерные команды и дописывать свои, далее делать jmp обратно

| Сообщение посчитали полезным: opcodes


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 13 августа 2012 03:25
· Личное сообщение · #3

Почитай, может поможет:
http://www.rsdn.ru/article/baseserv/IntercetionAPI.xml

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: opcodes

Ранг: 5.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 августа 2012 04:05
· Личное сообщение · #4

Спасибо. А добавлять секцию можно через прогу LordPe?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 13 августа 2012 04:32 · Поправил: plutos
· Личное сообщение · #5

Вместо того, чтоб тебя за ручку водили и с ложечки кормили, почитай все же статьи, сделай хоть пару tutorials. Тогда многое прояснится.
Или ты будешь про каждый следующий шаг отдельно спрашивать?

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: SReg, NikolayD

Ранг: 5.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 августа 2012 05:27 · Поправил: opcodes
· Личное сообщение · #6

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

А сейчас же вопрос такой: "А добавлять секцию можно через прогу LordPe?" так как я пока мало знаю инструментов, чтобы делали это, есть еще PeTools но она платная, а хочется freeware.




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 13 августа 2012 05:46 · Поправил: plutos
· Личное сообщение · #7

opcodes
есть еще PeTools но она платная, а хочется freeware.

Ты хоть смотрел на то, что тут на форуме, прямо под носом лежит?
http://exelab.ru/download.php?action=list&n=MzU=

Читай по-больше! Вопросов, правда, от этого не убавится, но вот их качество резко возрастет!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 5.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 августа 2012 06:09
· Личное сообщение · #8

да, видел эту ссылку и ходил по ней не раз. мой косяк



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

Создано: 13 августа 2012 08:42
· Личное сообщение · #9

В принципе, если не очень большой патч, можно обойтись нулями в конце секции кода. Делаем джамп туда, восстанавливаем инструкции, которые затерли(до патча или после него - зависит от задачи), пишем свой код, прыгаем обратно...

| Сообщение посчитали полезным: opcodes

Ранг: 20.2 (новичок), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 13 августа 2012 08:58
· Личное сообщение · #10

А если очень большой код, то я обычно добавляю свою dll в импорт и секцию в конец файла, в которой делаю переходники. CFF Explorer хорошо это умеет.

| Сообщение посчитали полезным: opcodes

Ранг: 5.9 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 августа 2012 10:39
· Личное сообщение · #11

Спасибо всем огромное!
Теперь, имеет смысл проанализировать всю полученную инфу и заполнить некоторые пробелы.


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