Посл.ответ |
Сообщение |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 08 декабря 2005 02:22 · Личное сообщение · #1
Привет, у меня такой вопрос:
Как встроить свой код, или чужой заменить через прогу в делфи.
Например во время работы кокого-либо приложения я запускаю программу и она ищет в памяти какое то
значени, а потом его удаляет, или заменяет, или в самом .EXE чтобы код АСМа поменять можно!
| Сообщение посчитали полезным: |
|
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 08 декабря 2005 02:32 · Личное сообщение · #2
P.S.
С примером, если можно!
| Сообщение посчитали полезным: |
Ранг: 307.9 (мудрец), 196thx Активность: 0.18↘0 Статус: Участник
|
Создано: 08 декабря 2005 02:41 · Личное сообщение · #3
SamoVar
она ищет в памяти какое то значени, а потом его удаляет, или заменяет
Это называется лоадер. (Функции ReadProcessMemory, WriteProcessMemory только пред всем этим не забыть CreateProcess =)
или в самом .EXE чтобы код АСМа поменять можно!
А это патчер. (Функции Read, Write)
Второе пишется легче.
----- Don_t hate the cracker - hate the code. | Сообщение посчитали полезным: |
Ранг: 299.6 (наставник) Активность: 0.3↘0 Статус: Участник Armadillo Killer
|
Создано: 08 декабря 2005 02:43 · Личное сообщение · #4 |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 08 декабря 2005 02:46 · Личное сообщение · #5
Сори, а конкретных примеров нет???
| Сообщение посчитали полезным: |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 08 декабря 2005 02:47 · Личное сообщение · #6
Вернее ссылок!
| Сообщение посчитали полезным: |
Ранг: 495.3 (мудрец) Активность: 0.3↘0 Статус: Участник
|
Создано: 08 декабря 2005 03:12 · Личное сообщение · #7
Z0oMiK пишет:
Тебе сюда ...
Кстати, там про лодыри действительно - ничего.
Одна старая и дурная статейка – "C-OrganizerPro - Пишем Loader".
http://www.exelab.ru/art/c_orgpro.php
По крайней мере, снизу до статьи "Исследуем защиту программы WinBoost 4".
...Даже у CyberManiac'a нет ничего про лодыри.
SamoVar
Извечный вопрос - зачем?
Сам понимаешь, спрашиваю не просто так.
Может быть, можно обойтись и без этого или дать конкретный совет.
----- Всем привет, я вернулся | Сообщение посчитали полезным: |
Ранг: 299.6 (наставник) Активность: 0.3↘0 Статус: Участник Armadillo Killer
|
Создано: 08 декабря 2005 03:21 · Поправил: Z0oMiK · Личное сообщение · #8
SamoVar Вот тебе пример Лоадера на Delphi
program loader;
uses
Windows, Messages;
{$R Loader.RES}
var
si : Startupinfo;
pi : Process_Information;
NewData : array[0..1] of byte = ($90,$90); // Байты
NewDataSize : DWORD;
Bytesread : DWORD;
Olddata : array[0..1] of byte;
begin
NewDataSize := sizeof(newdata);
IF CreateProcess(nil,'Example.exe',nil,nil,FALSE, Create_Suspended,nil,nil,si,pi) = true then //Цель
begin
ReadProcessMemory(pi.hprocess,Pointer($403CEA),@olddata,2,bytesread); //ищем Адресок1 патчим байты -> @NewData=9090
if (olddata[0] = $75) and (olddata[1] = $19) then
begin
WriteProcessMemory(pi.hProcess, Pointer($403CEA), @NewData, NewDataSize, bytesread); //ищем Адресок2 патчим байты -> @NewData=9090
ResumeThread(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(PI.hThread);
end else
begin
Messagebox(0,pchar('Bytes not found! Wrong version?...'),pchar('Error'),mb_iconinformation);
TerminateProcess(PI.hProcess,0);
CloseHandle(PI.hProcess);
CloseHandle(PI.hThread);
end;
end;
end.
| Сообщение посчитали полезным: |
Ранг: 6.3 (гость) Активность: 0=0 Статус: Участник
|
Создано: 08 декабря 2005 03:21 · Личное сообщение · #9
Сенкс
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 08 декабря 2005 10:48 · Личное сообщение · #10
SamoVar
Тут почитай, очень пользительно
hack-expo.void.ru/groups/ahteam/text/articles1.htm
| Сообщение посчитали полезным: |
Ранг: 230.5 (наставник) Активность: 0.18↘0 Статус: Участник Norg
|
Создано: 08 декабря 2005 12:59 · Личное сообщение · #11
А трейнеры для игр тоже изменяют код на лету.Тока в играх ДМА бесит.Сделал трейнер-он до первой перезагрузки работает,потом адрес меняется в игре и все.
----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 | Сообщение посчитали полезным: |
Ранг: 500.6 (!), 7thx Активность: 0.26↘0 Статус: Участник
|
Создано: 08 декабря 2005 13:27 · Личное сообщение · #12
di-2 пишет:
потом адрес меняется в игре и все
Ищи указатель на этот адрес.
| Сообщение посчитали полезным: |
Ранг: 230.5 (наставник) Активность: 0.18↘0 Статус: Участник Norg
|
Создано: 08 декабря 2005 13:59 · Личное сообщение · #13
NIKOLA пишет:
Ищи указатель на этот адрес Можно поподробней ,я читал что надо указатель pointer ,его можно с помощью артмани найти,но без арт мани охота.
----- M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240 | Сообщение посчитали полезным: |
Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник
|
Создано: 08 декабря 2005 14:17 · Личное сообщение · #14
di-2
Просто гама выделяет себе память и там хранит нужные тебе данные. При другом запуске эта память может быть по другому адресу. Так что нужно искать место в коде, где идет обращение по выделенным адресам памяти, СофтАйс тут рулит однозначно..
| Сообщение посчитали полезным: |