Вверх ↑
Этот топик читают: Гость
Ответов: 241
Рейтинг: 45
#1: 2007-02-22 20:25:46 ЛС | профиль | цитата
Компонент в основном используется для создания т.н. лоадеров для других программ, т.е. для патчинга "на лету"
карма: 0

0
файлы: 1MemPatch.rar [13.3KB] [743]
vip
#1.1контекстная реклама от партнеров
Ответов: 3655
Рейтинг: 69
#2: 2007-02-22 21:44:21 ЛС | профиль | цитата
Wolfik писал(а):
т.н. лоадеров

А можно это по русски
карма: 0

0
Ответов: 3514
Рейтинг: 184
#3: 2007-02-22 21:51:37 ЛС | профиль | цитата
Что такое Loader (Лоадер)?
Loader - это программа, которая запускает определенную программу (которую надо пропатчить) и после ее запуска меняет (патчит) нужные байты в адресном пространстве запускаемой программы.
Loader'ы применяются в том случае, когда программа упакована, и нет времени (или возможности) ее распаковывать и патчить.
В этом случае Loader патчит программу уже в памяти, когда она уже распакована.

карма: 0
0
Ответов: 241
Рейтинг: 45
#4: 2007-02-22 22:55:22 ЛС | профиль | цитата
По запросу http://dev.hiasm.com/xf/topic.php?t=7472 решил малость дороботать компонент
Теперь можно патчить и уже запущенные процессы.
PS: не помешал бы хороший тестинг, особенно примера Flat-Out_Trainer, т.к. у меня нет этой игры.
карма: 0

0
файлы: 1MemPatch_11.rar [14.5KB] [472]
Ответов: 241
Рейтинг: 45
#5: 2007-02-22 23:53:26 ЛС | профиль | цитата
Небольшой багфикс
карма: 0

0
файлы: 1MemPatch_11a.rar [15.4KB] [476]
Ответов: 3514
Рейтинг: 184
#6: 2007-02-23 01:29:12 ЛС | профиль | цитата
Wolfik, будет тебе, как раз сейчас с GTA мучаемся.
карма: 0
0
Ответов: 2
Рейтинг: 0
#7: 2007-02-23 06:31:58 ЛС | профиль | цитата
Респект очень благодарен
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2007-02-24 00:58:16 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-22 14:29:40
карма: 0

0
Ответов: 3514
Рейтинг: 184
#9: 2007-02-24 01:15:17 ЛС | профиль | цитата
Прошли времена доса, давай называть "ридми" не как read.me , а как readme.txt ;)

[size=-2]------ Добавлено в 01:15
А где взять эти самые адреса?
карма: 0
0
Ответов: 241
Рейтинг: 45
#10: 2007-02-24 11:52:57 ЛС | профиль | цитата
Астрамак писал(а):
А где взять эти самые адреса?

В папке Ex для есть текстовый документ объясняющий это для Example.exe
Если короче и по русски, то использовать дебаггер + дизассемблер для поиска. В примере обьяснено как использовать w32dasm, мне лично больше OllyDbg по душе
карма: 0

0
Ответов: 9906
Рейтинг: 351
#11: 2007-02-24 13:27:58 ЛС | профиль | цитата
Wolfik,
Вроде не хватает в элементе (для полноты удовольствия) методов создания и освобождения динамического блока памяти в чужом процессе.

Это я рассматриваю возможность реализации на базовых элементах чего-то типа такого:
http://c-soft.net.ru/forum/8-158-1#loaderdone
карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#12: 2007-02-24 13:40:49 ЛС | профиль | цитата
Galkov, а на кой чужому процессу выделять кусок динамической памяти? Он что, сам этим не занимается (я имел ввиду чужой процесс). Вопрос ради любопытства (интересна концепция).
карма: 22

0
Ответов: 9906
Рейтинг: 351
#13: 2007-02-24 13:57:27 ЛС | профиль | цитата
Galkov писал(а):
Это я рассматриваю возможность реализации на базовых элементах чего-то типа такого:
http://c-soft.net.ru/forum/8-158-1#loaderdone

карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#14: 2007-02-24 14:51:17 ЛС | профиль | цитата
Galkov, я там был, и посмотрел. Была попытка портации кода в HiAsm. Но я не понял -- на кой черт этот код (это там не объяснялось)?
карма: 22

0
Ответов: 9906
Рейтинг: 351
#15: 2007-02-24 15:03:59 ЛС | профиль | цитата
nesco писал(а):
я там был, и посмотрел

Наверное лучше было ПРОЧИТАТЬ
Ибо, если объяснять такие вещи, можно зайти очень далеко

Там во первых же строках написано, что WM_GETTEXT (как и SB_GETTEXT, как и видимо многие еще) понимает lParam как поинтер в СВОЕМ контексте.
В том смысле, что не в ТВОЕМ.
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)