ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Взлом программы Pdf2txt 2.9
  #1  
Старый 31.10.2006, 23:01
Аватар для KindEcstasy
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

Репутация: 197
Отправить сообщение для KindEcstasy с помощью ICQ
Post Взлом программы Pdf2txt 2.9

Взлом программы PDF2TXT 2.9


[ Инструменты ]

+ OllyDebuger
+ ResHacker
+ HackersView

[ О программе ]


Ку, люди античата!
Программа PDF2TXT, предназначенна для переконвертирования файлов из формата pdf в txt, соответственно. Ограничения по работе в незарегенной версии, 100 раз использования. Сегодня мы взломаем её не как всегда, а сделаем так чтобы она работала вечно, не вводя серийник. Поехали:

[ Взлом - Отключение счётчика числа запусков]

Вся эта приблуда, то-есть счётчик, содержиться в библиотеке verypdf.dll, её то мы и будем мучить в отладчике, благо библиотека не пакованная, как впрочем и сама программа. Итак начинаем:

Загружаем программу, не в отладчик а просто так. Появиться окошко с просьбой ввести серийник, мы же его не вводим, а нажимаем кнопку Try. Видим окошко со следующей информацией:

You have 99 times to try, please register... -тра-та-та (у вас число может быть другим, в зависимости от того, сколько раз вы запускали программу)

Эту строку мы запоминаем и грузим в отладчик нашу библиотеку verypdf.dll. Сканируем её на ascii-строки и ищем часть этой строки (например: times to try) которую мы только-что запомнили. Находим, щёлкаем по ней 2 раза и попадаем в окно кода. Вы должны видеть следующее:

PHP код:
10001B5C   A1 D8730110    MOV EAX,DWORD PTR DS:[100173D8]
10001B61   894424 0C      MOV DWORD PTR SS:[ESP+C],EAX
10001B65     B9 64000000    MOV ECX
,64
10001B6A   
68 88720110    PUSH verypdf.10017288                    ;  ASCII "PDF2TXT v2.9"
10001B6F     2BCE           SUB ECX,ESI
10001B71   
8D5424 10      LEA EDX,DWORD PTR SS:[ESP+10]
10001B75   51             PUSH ECX
10001B76   
68 40720110    PUSH verypdf.10017240      ;  ASCII "Your have %d times - МЫ СДЕСЬ! 
10001B7B   . 52             PUSH EDX
10001B7C   . C78424 F000000>MOV DWORD PTR SS:[ESP+F0],2
10001B87   . E8 1DA40000    CALL verypdf.1000BFA9
10001B8C   . 8B4424 1C      MOV EAX,DWORD PTR SS:[ESP+1C]
10001B90   . 83C4 10        ADD ESP,10
10001B93   . 6A 30          PUSH 30                                  ; /Style = 
10001B95   . 68 88730110    PUSH verypdf.10017388                    ; |Title = "
Software 
10001B9A   
50             PUSH EAX                                 ; |Text
10001B9B   
57             PUSH EDI                                 ; |hOwner
10001B9C   
FF15 3C330110  CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA 
Теперь прикинем, по идее прога должна запускаться только 100 раз, так? Значит где-то это должно быть явно видно. Теперь внимание:

По смещению 10001B65, регистр ECX, принемает значение 64! И тут вы скажете: Ну и что? Причём тут значение 64? А я вам скажу, что 100 в хексе (в шестнадцатиричной системе), как раз равняется 64! И значит это то, что нам нужно!

Далее дело за малым, меняем 64 на значение побольше, например 2710 - 10 000 в десятичной системе. Затем править файл в Hiew, а именно :

10001B65 B9 10 27 00 00

Этими действиями, мы заставляем программу запускаться не 100 раз как обычно, а 10 000 раз! Но тем неменее, по истечении 10 000 раз, прога перестанет работать. "Почему?" - спросите вы. А потому что! Посмотрим ещё раз на код:

PHP код:
10001B65     B9 10270000    MOV ECX,2710                             ;  Изменённое значение!
10001B6A   68 88720110    PUSH verypdf.10017288                    ;  ASCII "PDF2TXT v2.9"
10001B6F     2BCE           SUB ECX,ESI                              ;  !!!!!!!!!!!!!!!!!!!!
10001B71   8D5424 10      LEA EDX,DWORD PTR SS:[ESP+10]
10001B75   51             PUSH ECX
10001B76   
68 40720110    PUSH verypdf.10017240                    ;  ASCII "Your have %d times 
10001B7B   . 52             PUSH EDX
10001B7C   . C78424 F000000>MOV DWORD PTR SS:[ESP+F0],2
10001B87   . E8 1DA40000    CALL verypdf.1000BFA9
10001B8C   . 8B4424 1C      MOV EAX,DWORD PTR SS:[ESP+1C]
10001B90   . 83C4 10        ADD ESP,10
10001B93   . 6A 30          PUSH 30                                  ; /Style = 
10001B95   . 68 88730110    PUSH verypdf.10017388                    ; |Title = "
Software 
10001B9A   
50             PUSH EAX                                 ; |Text
10001B9B   
57             PUSH EDI                                 ; |hOwner
10001B9C   
FF15 3C330110  CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA 
Смотрите на строку по адресу 10001B6F, там из ECX вычитается ESI. А как вы помните в ECX - находиться наше новое значение, в то время как в ESI - число настоящих запусков программы, то есть, например мы запустили программу 10 раз, тогда ESI, содержит значение A - 10 в хексе. Тут как бы счётчик:

1) Из ECX вычитается ESI
2) Выводиться сообщение с числом оставшихся запусков, то есть выводиться новое значение ECX!


Как бы это исправить? Конечно можно сделать так, чтобы в ESI, всегда было значение 0 (нуль), но это не дзенский метод, мы просто занопим сам счётчик, делаем:

PHP код:
---БЫЛО---

10001B6F     2BCE           SUB ECX,ESI

---СТАЛО---

10001B6F     90             NOP
10001B70     90             NOP 
Затем просто правим это в Hiew и наша прога работает ВЕЧНО! Потом можно с помощью ResHacker'а на этом окне, где просят ввести серийник, удалить все кнопки, кроме кнопки Try, удалить все поля ввода и написать чё-нить вроде:

Cracked by: Vasya-Cracker, special 4 CCCP, а кнопку Try, переименовать в OK!

Я прекрасно осознаю, что прогу можно было взломать просто вырубив проверку на валидный серийник, я просто хотел показать в этой статье, как можно манипулировать числом запусков программ. С тем же успехом это можно проделывать например с такими ограничениями:

+ Число открытых файлов
+ Число сохранений изменений
+ Число нажатий на кнопку


И таких программ, с такими защитами очень много!
Вот и всё! Все кто слушал - молодец!

Спасибо за внимание. Всем бб!

Но в этой проге есть косяк, его заметил hidden:
В незарегистренной версии стоит ограничение на 10 страниц, и вот как это исправить:

PHP код:
00410E9C     75 39          JNZ SHORT pdf2txt.00410ED7
00410E9E  
|. 83FF 0A        CMP EDI,0A
00410EA1  
|. 7C 08          JL SHORT pdf2txt.00410EAB
00410EA3     C74424 10 0A00
>MOV DWORD PTR SS:[ESP+10],0A
00410EAB  
|> 8B15 FCB24200  MOV EDX,DWORD PTR DS:[42B2FC]
00410EB1  |. 6A 24          PUSH 24
00410EB3  
|. 68 AC6C4200    PUSH pdf2txt.00426CAC                    ;  ASCII "Purchase prompt"
00410EB8  |. 68 286C4200    PUSH pdf2txt.00426C28                    ;  ASCII "This is a trial version. It will can only extract the first ten pages from the pdf file. Would you like to purchase PDF2TXT online?"
00410EBD  |. 52             PUSH EDX
00410EBE  
|. E8 6DE4FFFF    CALL pdf2txt.0040F330
00410EC3  
|. 83C4 10        ADD ESP,10
00410EC6  
|. 83F8 06        CMP EAX,6
00410EC9  
|. 75 0C          JNZ SHORT pdf2txt.00410ED7
00410ECB  
|. 6A 01          PUSH 1
00410ECD  
|. 68 FC6B4200    PUSH pdf2txt.00426BFC                    ;  ASCII "http://www.verypdf.com/pdf2txt/pdf2txt.htm"
00410ED2  |. E8 D9590000    CALL <JMP.&verypdf.#5>
00410ED7  |> 8B4424 10      MOV EAX,DWORD PTR SS:[ESP+10
Функция проверки колва страниц находиться в главном модуле, то есть в файле pdf2txt.exe. Открываем его отладчиком, ищём строку:

This is a trial version. It will can only extract the first ten pages from the pdf file. Would you like to purchase PDF2TXT online?

И по адресу 00410E9C, вместо JNZ лепим JMP! Догадались что произойдёт? Прога просто проскочит проверку на 10 страниц и будет работать нормально.
Вот и всё!

Всё это актуально и для версии 3.2, только в 3.2 файлы запакованны UPX'ом! Распаковывайте:

upx.exe <filename.nn> -d

И Вперёд!


(ц) KindEcstasy

Последний раз редактировалось KindEcstasy; 01.11.2006 в 23:58..
 
Ответить с цитированием

  #2  
Старый 31.10.2006, 23:13
Аватар для tclover
tclover
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
Провел на форуме:
9751364

Репутация: 1847


По умолчанию

А если написать вместо sub add?
 
Ответить с цитированием

  #3  
Старый 31.10.2006, 23:18
Аватар для Koller
Koller
Постоянный
Регистрация: 25.07.2005
Сообщений: 471
Провел на форуме:
3465924

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

Последняя версия этой программы 3.2, если не ошибаюсь...
И довольно-таки не просто было найти 2.9...
Нашел...залил - http://filefactory.ru/1162322295/pdf2txt.exe
Будем пробывать )
 
Ответить с цитированием

  #4  
Старый 31.10.2006, 23:23
Аватар для KindEcstasy
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

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

Цитата:
Сообщение от tclover  
А если написать вместо sub add?
Хмм... Тоже вариант!

З.Ы. Красава!
 
Ответить с цитированием

  #5  
Старый 01.11.2006, 12:28
Аватар для TaNkist
TaNkist
Участник форума
Регистрация: 06.04.2006
Сообщений: 257
Провел на форуме:
367179

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

Цитата:
А если написать вместо sub add?
Когда-то все равно прога выдаст сообщение об ошибке.
 
Ответить с цитированием

  #6  
Старый 01.11.2006, 18:41
Аватар для KindEcstasy
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

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

Цитата:
Сообщение от TaNkist  
Когда-то все равно прога выдаст сообщение об ошибке.
Ну да, тоже верно...
 
Ответить с цитированием

  #7  
Старый 01.11.2006, 20:04
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от Koller  
Последняя версия этой программы 3.2, если не ошибаюсь...
И довольно-таки не просто было найти 2.9...
Я вот не понимаю, какой прикол взламывать старые версии программы? Мне например понадабилась прога, я пошел скачал последнюю версию, крякнул, написал как и теперь пользуюсь.
Темболее сам то ты пользуешся теперь этой прогай? Она ИМХО безполезна.

А про это забыл?:
Цитата:
This is a trial version. It can only extract the first ten pages from the pdf file...
ЗЫ Давай если крякаем какую-нить прогу, выкладывать эту версию, в чистом виде, например не репиде. т.к. после появления кряка, эта версия проги кудато исчезает и найти её давольно сложно.
 
Ответить с цитированием

  #8  
Старый 01.11.2006, 20:21
Аватар для KindEcstasy
KindEcstasy
Участник форума
Регистрация: 30.09.2006
Сообщений: 134
Провел на форуме:
352963

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

Цитата:
Сообщение от hidden  
Я вот не понимаю, какой прикол взламывать старые версии программы? Мне например понадабилась прога, я пошел скачал последнюю версию, крякнул, написал как и теперь пользуюсь.
Темболее сам то ты пользуешся теперь этой прогай? Она ИМХО безполезна.

А про это забыл?:

ЗЫ Давай если крякаем какую-нить прогу, выкладывать эту версию, в чистом виде, например не репиде. т.к. после появления кряка, эта версия проги кудато исчезает и найти её давольно сложно.

Да просто есть у меня старые диски, ну а на них софт я вот и беру оттуда проги. Просто качать прогу новой версии у меня нет ни времени, ни денег (итак траффик экономлю как могу). А новичкам потренироваться и старые проги подойдут, но это моё мнение.

Насчёт того, что я забыл:
Я честно говоря этого и не видел даже, так что помидорами не кидайся =). Заинсталю заново - посмотрю.

Насчёт выкладывания на рапиде:
Да я обморозился, но я же говорил, что каждый байтик траффика экономлю. А вообще конечно я поддерживаю твою мысль про то, чтобы выкладывать прогу в чистом виде. Со следующего раза так и буду делать.

Спасибо вам за критику Hidden.
C уважением, KindEcstasy.
 
Ответить с цитированием

  #9  
Старый 01.11.2006, 20:22
Аватар для Koller
Koller
Постоянный
Регистрация: 25.07.2005
Сообщений: 471
Провел на форуме:
3465924

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

to hidden

Какой прикол взламывать старые программы? Вопрос не по адресу, потому как эту тему создавал не я...
Выложил 2.9 версию, потому как на ней тут показывали взлом программы...
И я не уверен, что в 3.2 такая же система...
Поэтому хотелось бы четко попробывать на той версии, которую описывают..
На счет использования этой программы вовсе...По правде говоря впервые о ней услышал ...
Решил просто-напросто так сказать "проверить на работоспособность" статью...именно на примере той самой версии, о которой тут и написано...
На счет того нужна ли она или нет...мне бы она была нужна, если бы она нормально понимала русский язык, а то достает одни каракули вместо русских букв...

Согласен с тобой на тему, что надо было последнюю версию рассматривать, но извини, притензия явно не по адресу...
 
Ответить с цитированием

  #10  
Старый 01.11.2006, 20:39
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от Koller  
to hidden

Какой прикол взламывать старые программы? Вопрос не по адресу, потому как эту тему создавал не я...
Выложил 2.9 версию, потому как на ней тут показывали взлом программы...
И я не уверен, что в 3.2 такая же система...
Поэтому хотелось бы четко попробывать на той версии, которую описывают..
На счет использования этой программы вовсе...По правде говоря впервые о ней услышал ...
Решил просто-напросто так сказать "проверить на работоспособность" статью...именно на примере той самой версии, о которой тут и написано...
На счет того нужна ли она или нет...мне бы она была нужна, если бы она нормально понимала русский язык, а то достает одни каракули вместо русских букв...

Согласен с тобой на тему, что надо было последнюю версию рассматривать, но извини, притензия явно не по адресу...
2Koller Может я недостаточно понятно выразился, твой пост я привёл в поддержку к моему.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Обзор бесплатных Cms em00s7 PHP, PERL, MySQL, JavaScript 16 03.07.2009 13:13
О законе. _-[A.M.D]HiM@S-_ Статьи 28 01.11.2007 12:25



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


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




ANTICHAT.XYZ