Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Исcледуем ACDSee PowerPack 6.0.2.0014

Обсудить статью на форуме

Массу крэкерских инструментов, видеоуроков и статей вы сможете найти на видеокурсе от нашего сайта. Подробнее здесь.

Автор: TITBIT <titbit@hakeris.net>

Жертва : ACDSee PowerPack 6.0.2 (в архиве 14 Мб)
Язык прог : Micorsoft Visual C++ 7.0
Цель : взлом
Инструменты :


PEid v0.8-0.9
LordPE
SoftIce v3.xx-4.xx,
EmEditor v3.38 (для написания этой статьи)
и - пиво, но это по вкусу...

ВСТУПЛЕНИЕ

Как то, на одном Форуме по Крэку, я увидел сообщение одного чела, который писал что не может взломать ACDSee PowerPack 6.0 и просил о помощи. Я решил проверить защиту этого пака "на вшивость"... Защита оказалась левенкая!!! Кстате, ACDSee являеться "навороченной" гляделкой графических файлов (для тех кто в танке и не знает че за прога). Кстате программеры не позволяют запустить даже триал версию, просят Unlock код, который можно заполучить в Инете. Но на хер нам лезть в Инет, когда можно обойтись без этого!!! Наши действия: активируем Pack а затем "вылечим" проги из Пака, т.е. сделаем так чтоб юзать их можно было не 30 дней, а ВЕЧНО.
Засучив рукава приступим......

СCЛЕДОВАНИЕ

Для начала проверим PEid'ом запакованы ли наши проги (файлы - ACDSee6.exe ; FotoCanvas3.exe ; FotoSlate3.exe). Они ни чем ни упакованы. Запустив любую прогу из выше указанных натыкаемся на окно, в котором нас просят ввести Unlock код. Вводим любую комбинацию, я ввел .:: 100200300 ::. и нажимаем кнопку .:: Submit Code ::. после чего нам говорят что мы ввели галимый код. Теперь попытаемся поставить стандартное прерывание на это окно с помощью SoftIce т.е. MessageBoxA. Комбинацией CTRL + D активируем Айс и введем bpx MessageBoxA. Далее, после нажатия на .:: Submit Code ::. провалимся в Айс, нажмем F12 и затем OK на окне "Обломе". Вновь мы в Айсе. Вот ScreenShot :
 EAX=00000000   EBX=00FEED40   ECX=01114310   EDX=006A6FC4   ESI=000085E8        
 EDI=00000418   EBP=00FEF590   ESP=00FEED30   EIP=027C3139   o d I s Z a P c     
 CS=0197   DS=019F   SS=019F   ES=019F   FS=2237   GS=0000   DS:027CE720=01114310
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
                                                                                
                                                                                
                                                                                
                                                                              
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 es:di = 418                                                                    
 eax = 0                                                                        
 *es:di = 240000                                                                
                                                                              
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДbyteДДДДДДДДДДДДДДPROTДДД(0)ДД
 019F:01114310 C4 6F 6A 00 D0 42 11 01-00 00 00 00 B0 5B 11 01  .oj..B.......[..
 019F:01114320 00 00 00 00 00 00 00 00-00 00 00 00 02 00 00 00  ................
 019F:01114330 0F 01 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ 
 019F:01114340 00 00 00 00 00 00 00 00-00 00 00 00 0F 00 00 00  ................ 
 019F:01114350 00 00 00 00 45 58 50 49-52 45 44 00 00 00 00 00  ....EXPIRED..... 
 019F:01114360 00 00 00 00 07 00 00 00-0F 00 00 00 00 00 00 00  ................ 
 019F:01114370 A0 57 11 01 00 00 00 00-00 00 00 00 00 00 00 00  .W.............. 
 019F:01114380 06 00 00 00 0F 01 00 00-00 00 00 00 D0 5C 11 01  .............\.. 
 019F:01114390 00 00 00 00 00 00 00 00-00 00 00 00 0B 00 00 00  ................ 
 019F:011143A0 0F 01 00 00 00 00 00 00-00 42 11 01 00 00 00 00  .........B...... 
 019F:011143B0 00 00 00 00 00 00 00 00-10 00 00 00 1F 00 00 00  ................ 
 019F:011143C0 00 00 00 00 A0 41 11 01-65 65 00 00 00 00 00 00  .....A..ee...... 
 019F:011143D0 00 00 00 00 1E 00 00 00-1F 00 00 00 00 00 00 00  ................ 
 019F:011143E0 80 42 11 01 00 00 00 00-00 00 00 00 00 00 00 00  .B..............
 019F:011143F0 17 00 00 00 1F 00 00 00-00 00 00 00 00 00 00 00  ................
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДPROT32Д
 0197:027C3136  FF5210              CALL      [EDX+10]                          
 0197:027C3139  8B0D20E77C02        MOV       ECX,[027CE720]                    
 0197:027C313F  8B11                MOV       EDX,[ECX]                          
 0197:027C3141  8D44243C            LEA       EAX,[ESP+3C]                       
 0197:027C3145  50                  PUSH      EAX                                
 0197:027C3146  FF5214              CALL      [EDX+14]                           
 0197:027C3149  8B4C243C            MOV       ECX,[ESP+3C]                       
 0197:027C314D  3B4C241C            CMP       ECX,[ESP+1C]                       
 0197:027C3151  750A                JNZ       027C315D   ::::::: Ненужный нам Прыжок ::::::.                        
 0197:027C3153  8B542418            MOV       EDX,[ESP+18]                       
 0197:027C3157  3B542414            CMP       EDX,[ESP+14]                       
 0197:027C315B  7458                JZ        027C31B5    ::::::: Активировав его перепрыгнем окно ::::::.                          
 0197:027C315D  8B0DE0E67C02        MOV       ECX,[027CE6E0]                     
 0197:027C3163  8B358CB27C02        MOV       ESI,[USER32!LoadStringA]           
 0197:027C3169  6804010000          PUSH      00000104                           
 0197:027C316E  8D842428020000      LEA       EAX,[ESP+00000228]                 
 0197:027C3175  50                  PUSH      EAX                                
 0197:027C3176  6A75                PUSH      75                                 
 0197:027C3178  51                  PUSH      ECX                                
 0197:027C3179  FFD6                CALL      ESI    .::::::: Процедура Окна "Облома"  ::::::.               
 0197:027C317B  A1E0E67C02          MOV       EAX,[027CE6E0]      
 0197:027C3180  6804010000          PUSH      00000104                           
 0197:027C3185  8D942434050000      LEA       EDX,[ESP+00000534]                 
 0197:027C318C  52                  PUSH      EDX                                
 0197:027C318D  6A7D                PUSH      7D                                
 0197:027C318F  50                  PUSH      EAX                             
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДACDNAG20!.text+2136ДДДДДДДДДДДДДДДДДДДДДДДДД               
                                           |            
                                           |____________ Интересный файл________
 
Теперь в Айсе забиваем на все прерывания (bc *) и ставим новое bpx 027C3149 и выходим из Айса. Опять нажимаем на Submit и сново прерываемся в Айсе. Теперь с F10 доходим до адреса 027C3151 и меняем JNZ 027C315D на JMP 027C31B5, т.е. сразу прыгаем туда, куда нам нужно. Забиваем на прерывание (bc *) и выйдя из Айса понимаем что Активировали наш Pack.
Ну вот теперь можно запускать проги из пака и юзать их 30 дней. Далее переведем системное время на 1 год вперед. Сейчас уже, при попытке запустит одну из прог пака, мы наткнемся на пизд......е окошко - FREE TRIAL PERIOD EXPIRED, где нам программеры предложат купить в инете этот пак или просто выйти. Выходим..... Далее "щедрые" разроботчики предлагают BONUS на 15 дней халявного юзанья и опять же нужно лезть в Инет.
Название файла ACDNAG20 из Листинга привило к мысле что все эти "NAG" окна вызываются именно из этого файла. Найдем этот файл. Имхо, проще всего это сделать с помощью LordPE. Для начала запустим любую из прог и насладимся еще раз пизд......м окошком, далее застим LordPE и в списке активных процессов выберем нашу запущенную прогу, в моем случаи это ACDSee. Вот SreenShot:

Активировав прогу , в окне снизу увидим все файлы, которые она юзает. Среди них найдем нам нужный - ACDNag20.dll. А лежит он здесь : G:\Program Files\Common Files\ACDSystems\EN\ACDNag20.dll
Сначала я попытался переименовать этот файл, т.е. сделать так чтоб проги из Пака не нашли его. Они действительно его не нашли, да и ваще хер запустились :))) Программеры не так уж просты, хотя.. Затем я дисассамблировал эту DLL'у в WinDasm'е. Поизучав листинг минут 10 забил на нее. Лень было на более детальное изучение. Решил лучше поиграться с Айсом. Запустил ACDSee, дошел до окна BONUS TRIAL DAYS и попытался найти переход, который отвечает за выход из программы. Активировав Айс, ввел bpx ShowWindow, затем вышел из Айса (F5) и нажал на Close ACDSee PowerPack now. Вновь очутился в Айсе. Затем убрал прерывание (bc *) и жал F12 до тех пор пока не попал в код ACDSee, после 35 раза, хотя лучше нажать 34 раза и остановиться в DLL'е. Т.к. так проще будет ломать последующие 2 проги. Приведу листинг:
 0197:01A64AE5  FF1564B2A601        CALL      [USER32!DialogBoxParamA]          
 0197:01A64AEB  83F804              CMP       EAX,04      .::::::: Мы Здесь  ::::::.                              
 0197:01A64AEE  7513                JNZ       01A64B03                           
 0197:01A64AF0  8B4B34              MOV       ECX,[EBX+34]                       
 0197:01A64AF3  85C9                TEST      ECX,ECX                            
 0197:01A64AF5  7507                JNZ       01A64AFE                           
 0197:01A64AF7  8B4B38              MOV       ECX,[EBX+38]                       
 0197:01A64AFA  85C9                TEST      ECX,ECX                            
 
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДACDNAG20!.text+3AE5ДДДДДДДДДДДДДДДДДДДДДДДДД                                           
 
Теперь, поставив прерывание (bpx 01A64AEB), оно нам пригодиться для остальных 2-х прог, начиная отсюда 01A64AEB идем "пешком" с F10. После RET'а из DLL'и попадаем в код самой проги, т.е. ACDSee6.exe :
 0197:0045B216  FFD0                CALL      EAX                               
 0197:0045B218  8BD8                MOV       EBX,EAX           .::::::: Мы Тут  ::::::.                         
 0197:0045B21A  8B560C              MOV       EDX,[ESI+0C]                       
 0197:0045B21D  52                  PUSH      EDX                                
 0197:0045B21E  FF15648E6900        CALL      [KERNEL32!FreeLibrary]             
 0197:0045B224  C7460C00000000      MOV       DWORD PTR [ESI+0C],00000000        
 0197:0045B22B  5E                  POP       ESI                                
 0197:0045B22C  8BC3                MOV       EAX,EBX                            
 0197:0045B22E  5B                  POP       EBX                                
 0197:0045B22F  59                  POP       ECX                                
 0197:0045B230  C3                  RET                                          
 0197:0045B231  90                  NOP                                          
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДACDSEE6!.text+0005A216ДДДДДДДДДДДДДДДДДДДДДД
 
 C F10 Топаем дальше..... и попадаем сюда: 
 
 0197:0045B00C  83C408              ADD       ESP,08                             
  ==> 0045B00F  8D4C2408            LEA       ECX,[ESP+08]                       
 0197:0045B013  C7442424FFFFFFFF    MOV       DWORD PTR [ESP+24],FFFFFFFF        
 0197:0045B01B  E870000000          CALL      0045B090                           
 0197:0045B020  53                  PUSH      EBX                                
 0197:0045B021  8BCE                MOV       ECX,ESI                            
 0197:0045B023  FF15089A6900        CALL      [00699A08]                         
 0197:0045B029  8B7C2430            MOV       EDI,[ESP+30]                       
 0197:0045B02D  8BCF                MOV       ECX,EDI                            
 0197:0045B02F  8BD8                MOV       EBX,EAX                            
 0197:0045B031  FF15089A6900        CALL      [00699A08]                         
 0197:0045B037  3BC3                CMP       EAX,EBX      .::::::: Какое-то Сравнение  ::::::.                               
 0197:0045B039  5B                  POP       EBX                                
 0197:0045B03A  741B                JZ        0045B057     .:::::::Поменяв переход запустим прогу!!!  ::::::.                              
 0197:0045B03C  A1109A6900          MOV       EAX,[00699A10]                     
 0197:0045B041  8B08                MOV       ECX,[EAX]                         
 0197:0045B043  51                  PUSH      ECX  
 
Далее, не парясь с переписыванием последовательности байт и нахождением их в Hiew, запомним Адрес - 0045B03A.
Теперь займемся ACD FotoCanvas 3.0. Запустим ее и попытаемся выйти из нее, при выходе прервемся в Айсе. Сработал наш брекпоинт (bpx 01A64AEB). Теперь опять топаем с F10 пока не попадем сюда :
 0197:00418E3C  83C408              ADD       ESP,08                             
  ==> 00418E3F  8D4C2408            LEA       ECX,[ESP+08]                       
 0197:00418E43  C7442424FFFFFFFF    MOV       DWORD PTR [ESP+24],FFFFFFFF        
 0197:00418E4B  E870000000          CALL      00418EC0                           
 0197:00418E50  53                  PUSH      EBX                                
 0197:00418E51  8BCE                MOV       ECX,ESI                            
 0197:00418E53  FF15E4545200        CALL      [005254E4]                         
 0197:00418E59  8B7C2430            MOV       EDI,[ESP+30]                       
 0197:00418E5D  8BCF                MOV       ECX,EDI                            
 0197:00418E5F  8BD8                MOV       EBX,EAX                            
 0197:00418E61  FF15E4545200        CALL      [005254E4]                         
 0197:00418E67  3BC3                CMP       EAX,EBX      .::::::: Опять Сравнение  ::::::.                              
 0197:00418E69  5B                  POP       EBX                                
 0197:00418E6A  741B                JZ        00418E87    .::::::: И снова переход  ::::::.                               
 0197:00418E6C  A1E0545200          MOV       EAX,[005254E0]                     
 0197:00418E71  8B08                MOV       ECX,[EAX]                         
 0197:00418E73  51                  PUSH      ECX   
 
Вы ни чего не заметили? Уж очень схожие Листинги прог. Теперь проделайте все выше сказанное и тем самым запустите прогу ACD FotoSlate 3.0. Ну далее осталось изменить нужные переходы в прогах:
ACDSee6.exe - 0045B03A - jz ->jnz
FotoCanvas3.exe - 00418E6A - jz ->jnz
CX_FotoSlate3.apl - 017CAA1B - jz -> jnz .::::::: Кстати, это плагин и лежит он здесь : ....:\Program Files\Common Files\ACD Systems\PlugIns2 ::::::.

При замене байтов будем юзать LordPE, а не как обычно Hiew - просто так быстрее и удобнее. Кстати, у вас должно в опции LordPE, во вкладке PE Editor, стаять галка напротив Register shell extension. Если не стоит - поставьте. Далее, выделим файл ACDSee6.exe, нажмем правой кнопкой грызуна и активируем Load into PE Editor(LordPE). В появившимся окне нажмем FLC, затем активируем кнопку VA: и введем нужный адрес - 0045B03A, после нажмем DO -> Hex Edit. Курсор будет на нашем переходе 74, т.е. jz. Поменяем 74 на 75 (jz -> jnz), сохраним изменения (CTRL+S) и выйдем из PE Editor'а. Проделаем тоже самое и с FotoCanvas3.exe. А вот с плагином (CX_FotoSlate3.apl) такая фишка не пройдет придется все же переписывать последовательность байт и потом в Hex редакторе править переход. Я не буду описывать как это сделать, сами сделайте не "маленькие" уже.
Вот теперь, когда "вылечили" эти 3 проги смело можно удалять на х..... файл ACDNag20.dll Он уже не нужен нашим прогам :)))) Теперь запустив проги из ACDSee PowerPack'а мы не увидем "обломных" окон, а нажав About увидим что проги зарегистрированы на тот Ник, который вы вводили при инсталляции Пака и номер лицензии, это те цыфры которые вы ввели при "активации" Пака. Это относится к 2-м прогам, но не к ACD FotoCanvas 3.0. Она в About пишет что мы UN-LICENSED. Поменяв переход в файле FotoCanvas3.exe (адрес - 004CFAF5) мы увидим:

Ну вот еще 3-я прогами можно пополнить список Поверженных Прог!!! А вот место в Реестре, которое отвечает за строки в About : HKEY_LOCAL_MACHINE\Software\ACD Systems\61
Еще одно замечание: При новой инсталляции ACDSee PowerPack'а просто меняем переходы в прогах и стираем файл ACDNag20.dll, тем самым избавимся от "активации" Пака и зарегим его.
P.S. В очередной раз, меня удивили программеры своей фантазией. Очень "умно" файл, отвечающий за Nag окна, назвать ACDNag20.dll :)))) Да и защита... могли бы хоть поменять схему проверки в прогах. Она, можно сказать, идентична, отличие только в адресах. На этом все....

Вопросы и пожелания шлите на titbit@hakeris.net постараюсь ответить:

Greetz: EGOiST, MozgC, freeExec, GL#0M, FEUERRADER, Fess, .::D.e.M.o.N.i.X::. and Bad_guy.

Copyright © 2004 In Da House
All rights Reserved ™ TITBIT
Release: 20.02.04


Обсуждение статьи: Исcледуем ACDSee PowerPack 6.0.2.0014 >>>


Материалы находятся на сайте https://exelab.ru



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS