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

 eXeL@B —› Вопросы новичков —› Разбока действий лодыря
Посл.ответ Сообщение

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

Создано: 12 сентября 2011 05:24
· Личное сообщение · #1

Собственно вопросей тут появился, интересует совет как правильной подойти к нему.

Есть лодырь, необходимо понять что он делает, т.е. по каким адресам что меняет, каким образом это лучше сделать.. ?

PS:
Пробывал снимать с памяти дампы софта работающего под лодырем.. и без, сравнивал но все впустую.



Ранг: 22.4 (новичок), 19thx
Активность: 0.020
Статус: Участник

Создано: 12 сентября 2011 05:56
· Личное сообщение · #2

http://msdn.microsoft.com/en-us/library/ms681674%28v=vs.85%29.aspx




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 сентября 2011 06:41
· Личное сообщение · #3

webzzter пишет:
Есть лодырь, необходимо понять что он делает, т.е. по каким адресам что меняет, каким образом это лучше сделать.. ?

Загрузить в отладчик и посмотреть

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





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

Создано: 12 сентября 2011 08:50 · Поправил: plutos
· Личное сообщение · #4

"Есть лодырь, необходимо понять что он делает"
Лодырь ничего не делает, отсюда и название. Это каждому русскому человеку известно.
Интересно, Вы хоть перечитываете то, что пишите, или так, больше полагаетесь на удачу?
Но выражаетесь очень "козырно"...

Если же речь идет о loader'e, то вот:
"Для хорошо знающих английский, есть абсолютно великолепная вещь, совершенно свободно распространяемая - http://www.iecc.com/linker/ - слейте ее целиком, и обязательно прочтите, просто изумительно! Книга будет продублирована и на WASM.RU, ибо вполне стоит того!"
("Linkers and Loaders")

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





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 12 сентября 2011 10:08
· Личное сообщение · #5

plutos пишет:
"Linkers and Loaders"


тогда уже http://apple5s.com/wp-content/uploads/2010/10/linker-and-loader.pdf

но врядли ТС имел ввиду ЭТО. Он о запускалке программы, аля лаунчер.

-----
127.0.0.1, sweet 127.0.0.1





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

Создано: 12 сентября 2011 10:22 · Поправил: plutos
· Личное сообщение · #6

Уважаемый OKOB, я сдаюсь!
Ваша ссылка ГОРАЗДО лучше!

Кстати, давайте устроим конкурс на тему: "Угадай, что имел ввиду ТС!"

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





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 12 сентября 2011 10:31
· Личное сообщение · #7

plutos

Есть лодырь, необходимо понять что он делает, т.е. по каким адресам что меняет, каким образом это лучше сделать.. ?

PS:
Пробывал снимать с памяти дампы софта работающего под лодырем.. и без, сравнивал но все впустую.


Под загрузчиком здесь понимается вспомогательная программа-крэк, которая перед началом непосредственного исполнения кода как-то что-то правит в памяти, не затрагивая образ на диске. И вот если этот самый загрузчик пожат вмпротом, то очччень не просто бывает понять, что же он делает.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 53.9 (постоянный), 19thx
Активность: 0.040
Статус: Участник

Создано: 12 сентября 2011 10:41 · Поправил: Zorn
· Личное сообщение · #8

Снать дамп с лодырем и без, отрезать секцию(и) данных в дампах и сравнить.
И или по секциям сравнивать.



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

Создано: 12 сентября 2011 10:58 · Поправил: webzzter
· Личное сообщение · #9

Да не нужно угадывать, лодырь содержит обычный битпатчер который у распакованной в памяти программы правит биты по требуемым адресам , методом замены. типа Dup2. Только как я говорил сравнения дампов секций на первый взгляд не выявило никаких отличий.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 12 сентября 2011 11:04
· Личное сообщение · #10

exe лоадера dup2 можно открыть самим dup2... как ни странно, но можно



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

Создано: 12 сентября 2011 11:36 · Поправил: redlord
· Личное сообщение · #11

webzzter пишет:
сравнения дампов секций на первый взгляд не выявило никаких отличий

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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 12 сентября 2011 14:28
· Личное сообщение · #12

Неужели бряк на WriteProcessMemory так сложен в реализации?

-----
Yann Tiersen best and do not fuck





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 12 сентября 2011 14:45
· Личное сообщение · #13

Если лодырь накрыт протом то выйти на WriteProcessMemory будет проблемотично,а вообще в теме слишком много если,автор задал вопрос и невыложил ничего и вообще может лодырь запускает программу через коммандную строки с определёнными параметрами?

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 12 сентября 2011 17:46
· Личное сообщение · #14

ClockMan пишет:
Если лодырь накрыт протом

вроде ТС про проты вообще ничего не говорил

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




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

Создано: 12 сентября 2011 17:53 · Поправил: webzzter
· Личное сообщение · #15

протов нет, патчит ram
вот ссылка на лодер и то что он патчит
http://www.4shared.com/file/3-WiUMjG/UNP.html




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 12 сентября 2011 19:28 · Поправил: OKOB
· Личное сообщение · #16

webzzter пишет:
лодер и то что он патчит



из распакованого лоадера

.WWPACK:00450DC5 mov edx, offset _str_01.Text
.WWPACK:00450DCA mov eax, 471BA4h
.WWPACK:00450DCF call PATCH

.WWPACK:00450F28 _str_01 dd 0FFFFFFFFh ; _top
.WWPACK:00450F28 dd 2 ; Len
.WWPACK:00450F28 db '01',0 ; Text

т.е. 2 байта (30h, 31h) по адресу 471BA4h

Кроме этого еще в реестр пишется. Вся "работа" лоадера в 00450C50 _TMain_window_FormCreate proc .

-----
127.0.0.1, sweet 127.0.0.1




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

Создано: 12 сентября 2011 20:06 · Поправил: webzzter
· Личное сообщение · #17

В IDA вижу что сначала лезет в hosts, потом в реестр. после запуск программы. после ConfigData ветка
Далле 2 байта (30h, 31h) по адресу 471BA4h

Без дизассемблирования какие то возможности есть это отследить, более простым путем ?
На будущее ?



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

Создано: 13 сентября 2011 00:27 · Поправил: bowrouco
· Личное сообщение · #18

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



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

Создано: 13 сентября 2011 00:30 · Поправил: bowrouco
· Личное сообщение · #19

redlord
> некий код, который выполняется в выделенной памяти, не принадлежащей бинарнику
Хотелось бы узнать как там фолты хэндлятся, в частности сех. Никак наверно

> WriteProcessMemory
Можно создать топик со списком имён сервисов. Ибо каждый вопрос такой сводится к не знанию системных апи, а следовательно базовых сервисов.



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

Создано: 13 сентября 2011 03:39 · Поправил: webzzter
· Личное сообщение · #20

Все же посмотрел., в 71BA4 пишется не 30h 31h а 01h



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 13 сентября 2011 03:40 · Поправил: HiEndsoft
· Личное сообщение · #21

webzzter пишет:
Без дизассемблирования какие то возможности есть это отследить, более простым путем ? На будущее ?

"страшное" слово debugger
http://exelab.ru/download.php?action=list&n=MTA=

-----
продавец резиновых утёнков




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

Создано: 13 сентября 2011 03:47
· Личное сообщение · #22

Все же посмотрел., в 71BA4 пишется не 30h 31h а 01h
ru.wikipedia.org/wiki/ASCII



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

Создано: 13 сентября 2011 12:18 · Поправил: webzzter
· Личное сообщение · #23

Johnny - я знаю что такое ASCII таблица, но в реальности пишется в HEX 01h.. я сделал дамп памяти и посмотрел глазами.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 13 сентября 2011 16:55 · Поправил: PE_Kill
· Личное сообщение · #24

webzzter даже в IDA без отладчика видно, что эта процедура делает:

Code:
  1. function PatchProcess(Addr:Cardinal; Value: String): Boolean;
  2. begin
  3.   Result := False;
  4.   BuffLen := Length(Value) div 2;
  5.   Buff := GetMemory(BuffLen);
  6.   Buff^ := StrToInt('$'+Value);
  7.   hWnd := FindWindow(nil, WndName);
  8.   ProcID := GetWindowThreadProcessId(hWnd);
  9.   hProcess := OpenProcess(PROCESS_ALL_ACCESS, False, ProcID);
  10.   WriteProccMemory(hProcess, Pointer(Addr), Buff, BuffLen);
  11.   CloseHandle(hProcess);
  12. end;


А сравнением памяти ты долго еще будишь разбирать алгоритм.

-----
Yann Tiersen best and do not fuck



 eXeL@B —› Вопросы новичков —› Разбока действий лодыря
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати