HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

пишем патч для Порнокачалки
  #1  
Старый 03.12.2007, 18:07
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию пишем патч для Порнокачалки

бинарник порнокачалки попрежнему тут http://www.rapidshare.ru/483281
бинарник патча здесь: http://www.rapidshare.ru/487761

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


Вот код оригинала:

// ОРИГИНАЛ:
//
// if(buffer[0]=='<')break; // no file - те в буфере имеем не жпег файл а отчет что файла нет,
// разные прокся и фильтры могут начинать отчет не только с этого значка,
// поэтому можем получить реально хуеву тучу файлов.


// деассемблируем в IDA:
// .text:004010E3 cmp byte ptr [esp+18760h+Buffer], 3Ch
// .text:004010EB jz short loc_401150

// двоичный код обеих инструкций:
// 80 BC 24 BC 00 00 00 3C 74 63


а теперь, нужная логика патча:

// ПАТЧ:
//
// if(buffer[0]!='я')break; // все JPEG картинки как правило начинаются с байта 0xFF

// деассемблирование:
// .text:004010E3 cmp byte ptr [esp+18760h+Buffer], FFh
// .text:004010EB jnz short loc_401150

// двоичный код обеих инструкций:
// 80 BC 24 BC 00 00 00 FF 75 63


итак, нам надо перезаписать всего 2 байта по смещению 0x10EA в файле getporn.exe:
3C 74 ---> FF 75



пишем патч, который на выходе весит всего лишь полтора кила...

#include <windows.h>

#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/SECTION:.text,EWRX")
#pragma comment(linker, "/NODEFAULTLIB")
#pragma comment(linker, "/ENTRY:startcode")


int __stdcall startcode()
{
DWORD w;
char patch[2] = {0xFF, 0x75};
HANDLE hF = CreateFile("getporn.exe",GENERIC_WRITE,FILE_SHARE_ WRITE,0,OPEN_EXISTING,0,0);
if(hF==INVALID_HANDLE_VALUE){
MessageBox(0,"Could not open getporn.exe!!!", "patch error",MB_OK|MB_ICONSTOP);
return -1;
}
SetFilePointer(hF,0x10eA,0,FILE_BEGIN);
WriteFile(hF,patch,sizeof(patch),&w,0);
CloseHandle(hF);
MessageBox(0,"enjoy!","patch applied",MB_OK|MB_ICONINFORMATION);
return 0;
}


... и вуаля))))
__________________


snow white world wide
 
Ответить с цитированием

  #2  
Старый 03.12.2007, 18:15
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Ух, трип-репорты пошли какие-то замороченые, неужели нельзя как podkashey написать: "а бля, хуе мое, сожрал ничего нет просто на ржач пробило и немного чувствуешь себя мудаком и все. ***ня имхо".
Снег, может сетап сделать к патчу? Оболочку установки и т.д.
 
Ответить с цитированием

  #3  
Старый 03.12.2007, 18:18
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

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

А Tweak будет? или Professional Edition ?
 
Ответить с цитированием

  #4  
Старый 03.12.2007, 18:20
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Мораль: "Подрачил на скорую руку, а потом от проблем избавляться хитровжопистыми методами..."
 
Ответить с цитированием

  #5  
Старый 03.12.2007, 18:26
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

КЕЗ пиздец, те срочно необходим курс бутиратной терапии)))))))))))))))))))))
__________________


snow white world wide
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы защиты мгновенной передачи сообщений Noman Мировые новости. Обсуждения. 0 29.12.2006 02:34



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


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




ANTICHAT ™ © 2001- Antichat Kft.