Сейчас на форуме: asfa, bartolomeo (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Добавить места. |
Посл.ответ | Сообщение |
|
Создано: 13 августа 2012 03:13 · Поправил: opcodes · Личное сообщение · #1 Доброе время.. перейдем сразу к вопрос такой, вот когда открываю в ольке программу.. сравнительно небольшого размера, то там идет код так: -------------------------- EP - mov тра-та-та EP1 - тра-та-та EP2 - тра-та-та ;EP - это к примеру 00401000, EP1 это 00401001 итп(тобишь я написал все по строкам как и ODBG) -------------------------- какой там идет код это не принципиально, сколько я не открывал в ней программ, в подавляющем кол-ве, выше EP кода нету, а с EP начинается код(что имеет смысл).. Так вот, мне нужно к примеру, добавить свой код в середине, т.е после EP1 был бы JMP на мой участок кода, он там выполнялся себе, затем прыгал обратно, но уже на EP2. но так как я не могу занопать код EP1, или EP2, из за того что это повредит(сотрет) код основной программы и она уже будет работать некорректно. Вопрос заключается в том, как мне расширить место между EP1 и EP2? чтобы засунуть туда какие либо строки, и при том не повредить код основной программы. ![]() |
|
Создано: 13 августа 2012 03:25 · Личное сообщение · #2 расширять никак, только добавлять свою секцию к файлу, и перебивать в нужном месте командой jmp, на свою секцию, а в своей секции добалять затерные команды и дописывать свои, далее делать jmp обратно ![]() |
|
Создано: 13 августа 2012 03:25 · Личное сообщение · #3 Почитай, может поможет: http://www.rsdn.ru/article/baseserv/IntercetionAPI.xml ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 13 августа 2012 04:05 · Личное сообщение · #4 |
|
Создано: 13 августа 2012 04:32 · Поправил: plutos · Личное сообщение · #5 |
|
Создано: 13 августа 2012 05:27 · Поправил: opcodes · Личное сообщение · #6 если бы я спрашивал каждый следущий шаг.. эта тема(и все придыдущие) растянулись бы на многие тысячи страниц.. ибо у меня столько вопросов в голове по этой теме(тематике), что я не могу сказать даже приблизительную цифру. по поводу статей.. обязательно прочту. А сейчас же вопрос такой: "А добавлять секцию можно через прогу LordPe?" так как я пока мало знаю инструментов, чтобы делали это, есть еще PeTools но она платная, а хочется freeware. ![]() |
|
Создано: 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. ![]() |
|
Создано: 13 августа 2012 06:09 · Личное сообщение · #8 |
|
Создано: 13 августа 2012 08:42 · Личное сообщение · #9 В принципе, если не очень большой патч, можно обойтись нулями в конце секции кода. Делаем джамп туда, восстанавливаем инструкции, которые затерли(до патча или после него - зависит от задачи), пишем свой код, прыгаем обратно... ![]() |
|
Создано: 13 августа 2012 08:58 · Личное сообщение · #10 А если очень большой код, то я обычно добавляю свою dll в импорт и секцию в конец файла, в которой делаю переходники. CFF Explorer хорошо это умеет. ![]() |
|
Создано: 13 августа 2012 10:39 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› Добавить места. |
Эта тема закрыта. Ответы больше не принимаются. |