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

 eXeL@B —› Программирование —› Самодельная прога для автоматического пропатчивания dll по заданной последовательности HEX-значений
Посл.ответ Сообщение

Ранг: 3.7 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 20 мая 2012 18:05
· Личное сообщение · #1

Смысл такой: есть DLL,запакованная UPX-ом. Нужно её распаковать и убрать проверку CRC.
Для этого выполняется последовательность действий:
1. UPX -d library.dll
2. Открываю WinHEX, нажимаю поиск HEX, ввожу поиск с заменой:
найти: 5B33C0394D5F0F94C0
заменить на: 5B33C0394D5F33С040

Можно ли этот процесс автоматизировать с помощью Delphi\C++\FASM ?



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 20 мая 2012 18:11
· Личное сообщение · #2

Можно.
Какие-то ещё вопросы будут?

| Сообщение посчитали полезным: NikolayD

Ранг: 3.7 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 20 мая 2012 18:15
· Личное сообщение · #3

tihiy_grom пишет:
Какие-то ещё вопросы будут?

Да кэп.
Где взять образец или пример как это всё сделать, в Гугле ничего не нашлось



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 20 мая 2012 18:17
· Личное сообщение · #4

Svinovod пишет:
в Гугле ничего не нашлось

на форуме поищи теперь )))




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 20 мая 2012 18:30
· Личное сообщение · #5

Svinovod, да блин, открываешь файл на запись, ищешь в нём нужную строку(твои байты образуют строку), заменяешь своей, и profit!
ps не забудь "закрыть" файл. А то результат не сохранится.

| Сообщение посчитали полезным: Svinovod


Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 20 мая 2012 18:37
· Личное сообщение · #6

На тутсях зная точно есть пример s&r патча на дельфе от Hash3m. Да вообще все есть, нужно лишь желание + мозг , все ищется.

-----
ds




Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 20 мая 2012 19:46 · Поправил: r_e
· Личное сообщение · #7

Данный процесс хорошо автоматизируется с помощью hiew макроса + cmdшник, который перебирает все нужные файлы.

-----
старый пень




Ранг: 3.7 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 20 мая 2012 20:03
· Личное сообщение · #8

DimitarSerg пишет:
На тутсях

Что это такое?
r_e пишет:
который перебирает все нужные файлы.

Я хотел сделать компонент "выбор папки" на форме ,и выбирать папку с dll. А дальше в Memo1 отображать лог, "dll найдена, распаковка ОК, патч ОК" или "Ошибка! Файл уже распакован\пропатчен"



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

Создано: 20 мая 2012 20:25
· Личное сообщение · #9

Издеваешься или в гугле бан?
1
2

| Сообщение посчитали полезным: slayerslayer

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

Создано: 20 мая 2012 20:37
· Личное сообщение · #10

Svinovod пишет:
есть DLL,запакованная UPX-ом.

Оставь старфорс в покое

| Сообщение посчитали полезным: slayerslayer


Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 20 мая 2012 21:19
· Личное сообщение · #11

Svinovod

Писал на коленке, возможно можно и покрасивее оформить, но вроде работает.

Code:
  1. int __fastcall BinSearch(char *buf, int size, char *str, int len)
  2. {
  3. int i, poz;
  4.  
  5.          for (= 0; i <= size; i++)
  6.          {
  7.                  if (buf[i] == str[0])
  8.                  {
  9.                         for (poz = 1; poz < len; poz++)
  10.                         {
  11.                               if (buf[i+poz] != str[poz]) break;
  12.                               if (poz == len-1) return i;
  13.                         }
  14.                  }
  15.          }
  16.          return -1;
  17. }


Писался в Borland C++ Builder, но работать должно и в студии. Если разберёшься - пользуйся

-----
Research For Food


| Сообщение посчитали полезным: Svinovod

Ранг: 3.7 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 20 мая 2012 22:18
· Личное сообщение · #12

Небольшой оффтоп. Создавать отдельную тему не буду,вопрос тоже по кодингу:
Как можно вывести на форму информацию о загрузке в МБ\сек сетевого соединения? В гугле тоже ничего не нашлось, в DelphiWorld тоже порылся - нет такого.
Смысл такой: есть соединение Network1,скорость 1 ГБит\сек. По нему качаются файлы с другой машины, и я хочу чтобы на форме отображалось например "Подключен клиент ABC,IP такой то, скорость передачи данных с него 25 Мбайт\сек".



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 20 мая 2012 22:39
· Личное сообщение · #13

Svinovod
Бля, мы что разным гуглом пользуемся?
http://www.delphisources.ru/pages/sources/internet/nettrafmon.html

| Сообщение посчитали полезным: slayerslayer


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 мая 2012 22:50
· Личное сообщение · #14

Не зря было уже штук 5 ников автора забанено ранее. Но вместо того, чтобы приложить упорство в освоении гугла и основ его пользования, он продолжает применять его в неуместной области. А именно с напором известного упёршегося рогами в ворота животного снова регает очередной ник и снова плодит элементарные вопросы. Будем исправлять и ждать очередного ника с теми же вопросами.

| Сообщение посчитали полезным: DimitarSerg
 eXeL@B —› Программирование —› Самодельная прога для автоматического пропатчивания dll по заданной последовательности HEX-значений
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати