Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #82, ОКТЯБРЬ 2005 г.

Пластырь для WinRar

Максим Федотов aka bl1n

Хакер, номер #082, стр. 082-062-3


0044B353 |. 68 ED6B4900 PUSH WinRAR.00496BED ; |Arg2 = 00496BED ASCII "%s - WinRAR"

0044B358 |. 8D4424 08 LEA EAX,DWORD PTR SS:[ESP+8] ; |

0044B35C |. 50 PUSH EAX ; |Arg1

0044B35D |. E8 02E00300 CALL WinRAR.00489364 ; \WinRAR.004893640044B362 |. 83C4 0C ADD ESP,0C

0044B365 |. 803D BCF94900 >gt; CMP BYTE PTR DS:[49F9BC],0

0044B36C |. 75 7A JNZ SHORT WinRAR.0044B3E8

0044B36E |. A1 C8434B00 MOV EAX,DWORD PTR DS:[4B43C8]

0044B373 |. 83F8 14 CMP EAX,14 ;сравнение с 14h(20dec)

0044B376 |. 7C 05 JL SHORT WinRAR.0044B37D

0044B378 |. 83F8 28 CMP EAX,28 ;сравнение с 28H(40dec)

0044B37B |. 7C 1D JL SHORT WinRAR.0044B39A

Теперь если хорошенько вспомнить работу WinRar, то окажется, что после 20 дней юзанья в заголовок вставляется уже другой текст. Итак, смотрим на код. В первом случае eax сравнивается с 20, во втором с 40, отсылая тебя на определенные адреса, где функция воспроизводит разные заголовки. Так что мы поступим так же, как и в предыдущем случае: обнулим eax и занопим последующие байты. Теперь в заголовке не будет никаких надоедающих надписей, и ты сможешь почувствовать себя настоящим крэкером.

[заключение]

Ну вот, собственно, и все. Сегодня вы узнали, как двумя разными способами сломать незаменимую для виндового юзера софтину. Хэв э найс дэй, приятель, не попадайся.

[Dialogboxparam - выдержка из справочника]

function DialogBoxParam(Instance, THandle; TemplateName: PChar; Parent: HWnd;

DialogFunc: TFarProc; InitParam: Longint): Integer;

Создает блок модального диалога, опpеделенного TemplateName, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Также позволяет пеpедавать начальный паpаметp функции обpатного вызова.

Есть следующие аргументы:

* Instance. Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.

* TemplateName. Имя шаблона блока диалога (заканчивающееся пустым символом).

* Parent. Окно владельца.

* DialogFunc. Адpес экземпляpа пpоцедуpы функции диалога.

* InitParam. Пеpедается в паpаметpе lParam сообщения wm_InitDialog.

Функция возвращает паpаметp nResult процедуры EndDialog и -1 в случае, если диалог не может быть создан. Функция находится в файле user32.dll

WWW

http://cracklab.ru/download/get.php?g=72 - ollydbg

http://cracklab.ru/download/get.php?g=5 - hiew

http://cracklab.ru/download/get.php?g=23 - restorator

http://cracklab.ru/download/get.php?g=6 - w32dasm

http://www.cheatsmaximal.net/download/tools/patch/codefs30.zip - codefusion

WARNING

Твой любимый журнал не устает напоминать своим любимым читателям, что за свои любимые дела можно попасть в нелюбимые нами места. Осторожнее там с местными обитателями :(. Не делай ерунды и не нарушай законов своей страны.

Назад на стр. 082-062-2  Содержание