Русский / Russian English / Английский

Сейчас на форуме: Boot32, zds (+5 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Крэки, обсуждения —› UnoPiX
Посл.ответ Сообщение


Ранг: 61.7 (постоянный)
Статус: Участник
я

Создано: 27 апреля 2005 18:12 New!
Цитата · Личное сообщение · #1

Нашел тут статейку на xtin про методы борьбы с отладчиками, дамперами и т .д. Ну и решил проверить, однако ниче лучше не придумал где использовать чем вот в этой проге UnoPiX - че то типо скрамблера и т.п. но это не есть главное. Вся фишка в том что есть вот такой метод против дампа:

mov eax, fs:[30h] ; PEB
mov eax, [eax+0Ch] ; PEB_LDR_DATA
mov eax, [eax+0Ch] ; Ldr.InLoadOrderModuleList.Flink
lea ebx, [eax+20h] ; LDR_DATA_TABLE_ENTRY.SizeOfImage
lea ecx, [eax+18h] ; LDR_DATA_TABLE_ENTRY.DllBase
mov dword ptr [ebx], 0 ; SizeOfImage
mov dword ptr [ecx], 0 ; ImageBase

Подставляем левый размер образа и базу тоже. Однако после этого нихрена не работает функция GetModuleFileName, и как я понимаю из-за левой базы. GetModuleHandle тоже поедие неработает.

Вопрос: каким макаром сменить базу и при этом заставить GetModuleFileName нормально работать.

вот На всякий случай прицепил UnoPiX.

{ Атач доступен только для участников форума }

Ранг: 2.0 (гость)
Статус: Участник

Создано: 28 апреля 2005 23:13 New!
Цитата · Личное сообщение · #2

Прога в принципе ничего но вот проблема в 50% случаев прога на выхаде получается не рабочая, а на счет твоего вопроса посмотрим пока времени нет.

Ранг: 4.6 (гость)
Статус: Участник

Создано: 30 мая 2005 19:40 · Поправил: entusiast New!
Цитата · Личное сообщение · #3

BaGiE Может, ты уже нашел ответ на свой вопрос, но все же рискну ответить.
1. А зачем тебе GetModuleHandle/GetModuleFileName? Перед тем как похабить PEB вытащи оттуда базу, получи имя своего файла и потом затриай чего хочешь.....
Ну или базу можно еще так взять:
call l1
l1:
pop eax
sub eax,offset l1
 eXeL@B —› Крэки, обсуждения —› UnoPiX

Видеокурс ВЗЛОМ