ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Метод патчения модуля DLL
  #1  
Старый 13.12.2009, 00:15
krobol
Познающий
Регистрация: 10.02.2008
Сообщений: 56
Провел на форуме:
271527

Репутация: 14
Отправить сообщение для krobol с помощью ICQ
По умолчанию Метод патчения модуля DLL

В программе подгружаются модули .DLL

Я нашёл в каких местах одного из DLL нужно подменить байты, чтобы в программе стали доступны все лицезированные возможности.

DLL запакована. Quick Unpacker показывает:

PESniffer EP Scan: PEtite v2.1
PEiD scanning... PEtite 2.x [Level 0] -> Ian Luck

В начале файла-DLL находится загрузчик-распаковщик.

Я в распаковщик встроил свой код, который после распаковки меняет нужные байты в памяти.
Т.к. программа проверяет целостность своих файлов, то пришлось ещё добавить нужные байты, чтобы сходилась контрольная сумма.

Всё это до недавнего времени работало, но теперь появилась ещё какая-то доп. проверка целостности файлов, которую мой DLL уже не проходит.

Подскажите, каким образом можно поменять эти очень нужные байты в памяти, не меняя DLL-файл?
 
Ответить с цитированием

  #2  
Старый 13.12.2009, 01:18
ntldr
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме:
2364957

Репутация: 479
По умолчанию

лоадер написать
 
Ответить с цитированием

  #3  
Старый 13.12.2009, 02:49
krobol
Познающий
Регистрация: 10.02.2008
Сообщений: 56
Провел на форуме:
271527

Репутация: 14
Отправить сообщение для krobol с помощью ICQ
По умолчанию

Попробовал ABEL loader generator, не получается.

Пишет, что это защищённая область памяти DLL

Что можно сделать?
 
Ответить с цитированием

  #4  
Старый 13.12.2009, 03:36
-=Nicon=-
Banned
Регистрация: 26.09.2008
Сообщений: 23
Провел на форуме:
309093

Репутация: 8
По умолчанию

А на Assemblere как вариант свой loader написать не побывали?
 
Ответить с цитированием

  #5  
Старый 13.12.2009, 03:50
krobol
Познающий
Регистрация: 10.02.2008
Сообщений: 56
Провел на форуме:
271527

Репутация: 14
Отправить сообщение для krobol с помощью ICQ
По умолчанию

Это я не осилю =)
Я могу написать коротенькую программу - jmp на функцию, функция меняет байты, возврат. Что я и сделал.
А для лоадера нужно win api. Да и сам принцип не понятен.

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

Насколько я понимаю, это распространённая задача. И решалась она уже не раз. Пробовал искать в гугле, так там куча ссылок на всякие мемпатчи win'7, игр и прочее.
Как это реализовано? Может есть какой нибудь пак, типа ABEL для создания лоадера-мемпатчера dll'ки?
 
Ответить с цитированием

  #6  
Старый 13.12.2009, 18:47
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

добавлю свое имхо - распаковать dll вообще и сделать все манипуляции что надо не заморачиваясь с лоадерами
 
Ответить с цитированием

  #7  
Старый 13.12.2009, 22:44
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме:
813785

Репутация: 314
Отправить сообщение для s0l_ir0n с помощью ICQ
По умолчанию

...и искать подводные камни с проверками, хотя как правило банальный GetFIleSize прикрутили или самопальную CRC, поэтому есть смысл поставить бряки на CreateFile и CreateFileMapping

Последний раз редактировалось s0l_ir0n; 13.12.2009 в 22:47..
 
Ответить с цитированием

  #8  
Старый 14.12.2009, 18:31
Sunzer
Познающий
Регистрация: 17.05.2008
Сообщений: 30
Провел на форуме:
100551

Репутация: 20
По умолчанию

Распакуй длл, пропатчи да и все. Можешь в принципе и в памяти патчить, только гемороя больше.
 
Ответить с цитированием

  #9  
Старый 14.12.2009, 20:10
-=Nicon=-
Banned
Регистрация: 26.09.2008
Сообщений: 23
Провел на форуме:
309093

Репутация: 8
По умолчанию

Цитата:
Сообщение от krobol  
Это я не осилю =)
Я могу написать коротенькую программу - jmp на функцию, функция меняет байты, возврат. Что я и сделал.
А для лоадера нужно win api. Да и сам принцип не понятен.

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

Насколько я понимаю, это распространённая задача. И решалась она уже не раз. Пробовал искать в гугле, так там куча ссылок на всякие мемпатчи win'7, игр и прочее.
Как это реализовано? Может есть какой нибудь пак, типа ABEL для создания лоадера-мемпатчера dll'ки?
Если, лодерЯ вам не осилить, то попробуйте распаковать запакованную длл, как выше уже было сказано.

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

Или банальный вылет на ExitProcess. Вот может пригодиться Распаковщик для Petite 2.1 / 2.2 _http://reversing.kulichki.com/files/unpack/unpetit.rar скормите ему запакованную длл. Удачи!!!

П.С А что за программа, если не секрет?

Последний раз редактировалось -=Nicon=-; 14.12.2009 в 20:16.. Причина: Не закрытый тег QUOTE
 
Ответить с цитированием

  #10  
Старый 14.12.2009, 22:07
krobol
Познающий
Регистрация: 10.02.2008
Сообщений: 56
Провел на форуме:
271527

Репутация: 14
Отправить сообщение для krobol с помощью ICQ
По умолчанию

Если патчить саму проверку, то это придётся делать в каждой программе + основной файл (.exe) постоянно обновляется. Т.е. придётся патчить постоянно.

Последний раз редактировалось krobol; 16.12.2009 в 00:16..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[релиз] IcqMod DLL slesh С/С++, C#, Delphi, .NET, Asm 25 17.06.2010 17:40
Сырая загрузка DLL(скрытая) slesh Авторские статьи 16 17.03.2010 16:34
Inject DLL в процесс из kernel-mode slesh Авторские статьи 4 12.05.2009 02:05
Сетевой сканер Nmap. Руководство пользователя foreva Чужие Статьи 1 08.02.2005 16:36



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ