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

 eXeL@B —› Вопросы новичков —› Не могу найти строчку
Посл.ответ Сообщение

Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 00:33
· Личное сообщение · #1

Привет всем. я впервые занялся крекингом и столкнулся сразу с полной

Итак програма: www.scrapebox.com/dl/version10/scrapebox.zip
Уже 8 час ломаю голову, много читал...
Итак чего я добился: Програма компресирована PE Compress ом, расскомпресировал и потом PEID показал что она написана на дельфи, так что DeDe ее открыл.
В програме есть проверка isDebuggerPresent, но ее тоже обошел плагином для олли.
И вот где проблема: при запуске чтов дебагере что без него декомпресированая версия программы выдеат окошко з ошыбкой: "Error #17. Please contact support". я так думаю это CRC проверка, но не могу найти в олли ни саму строчку "Error #17. Please contact support" ни ее части =(
Может я неправильно ищу?
search for->all referenced text strings
search text ...
как еще найти сам момент когда выкидывает окно з ошыбкой я не знаю. помогите плиз



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 00:36
· Личное сообщение · #2

А еще как оказалось после еррор 17 програма не умирает а выкидивает еще ошыбки "we detected the presence of a http debugger". ету строчку тоже найти не могу (




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 03 марта 2010 00:46
· Личное сообщение · #3

bp MessageBoxA/W пробовал?

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 03 марта 2010 00:46
· Личное сообщение · #4

о, ошибка в 17-й строке. программисты с юмором попались.
в общем ставь точку останова на messagebox, или чем там сообщения в делфи показываются.
еще попробуй поискать юникодную строчку с такой строкой или её частью



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 01:51
· Личное сообщение · #5

мм, нашел строчку где хочу поменять JE на JMP , выделяю, правая кнопка - Assemble, снимаю галочку fill with NOP , меняю JE на JMP текст стаеткрасным и при рестарте дебагера возвращается в прджнее состояние JE
что я делаю не так?



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

Создано: 03 марта 2010 01:58 · Поправил: matrix
· Личное сообщение · #6

Ты забываешь всё это дело сохранить ПКМ->Copy to executable->All Modifications



Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 03 марта 2010 02:13 · Поправил: Djeck
· Личное сообщение · #7

dracony
здесь при запуске проверяется хэш электронной подписи:
Code:
  1. 008DFDD0  /$  55            PUSH EBP
  2. 008DFDD1  |.  8BEC          MOV EBP,ESP
  3. 008DFDD3  |.  6A 00         PUSH 0
  4. 008DFDD5  |.  6A 00         PUSH 0
  5. 008DFDD7  |.  6A 00         PUSH 0
  6. 008DFDD9  |.  53            PUSH EBX
  7. 008DFDDA  |.  56            PUSH ESI
  8. 008DFDDB  |.  8855 FF       MOV BYTE PTR SS:[EBP-1],DL
  9. 008DFDDE  |.  8BF0          MOV ESI,EAX
  10. 008DFDE0  |.  33C0          XOR EAX,EAX
  11. 008DFDE2  |.  55            PUSH EBP
  12. 008DFDE3  |.  68 86FE8D00   PUSH 008DFE86
  13. 008DFDE8  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
  14. 008DFDEB  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
  15. 008DFDEE  |.  A1 984D9300   MOV EAX,DWORD PTR DS:[934D98]
  16. 008DFDF3  |.  8038 00       CMP BYTE PTR DS:[EAX],0
  17. 008DFDF6  |.  75 73         JNZ SHORT 008DFE6B
  18. 008DFDF8  |.  E8 7366C8FF   CALL 00566470
  19. 008DFDFD  |.  84C0          TEST AL,AL
  20. 008DFDFF  |.  74 6A         JE SHORT 008DFE6B
  21. 008DFE01  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
  22. 008DFE04  |.  A1 E84E9300   MOV EAX,DWORD PTR DS:[934EE8]
  23. 008DFE09  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
  24. 008DFE0B  |.  E8 68E3BFFF   CALL 004DE178
  25. 008DFE10  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
  26. 008DFE13  |.  E8 5463C8FF   CALL 0056616C
  27. 008DFE18  |.  8BD8          MOV EBX,EAX
  28. 008DFE1A  |.  E8 F167C8FF   CALL 00566610
  29. 008DFE1F  |.  84DB          TEST BL,BL
  30. 008DFE21  |.  75 48         JNZ SHORT 008DFE6B
  31. 008DFE23  |.  A1 E84E9300   MOV EAX,DWORD PTR DS:[934EE8]
  32. 008DFE28  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
  33. 008DFE2A  |.  C640 5B 00    MOV BYTE PTR DS:[EAX+5B],0
  34. 008DFE2E  |.  807D FF 00    CMP BYTE PTR SS:[EBP-1],0
  35. 008DFE32  |.  74 2B         JE SHORT 008DFE5F
  36. 008DFE34  |.  0FB705 94FE8D>MOVZX EAX,WORD PTR DS:[8DFE94]
  37. 008DFE3B  |.  50            PUSH EAX
  38. 008DFE3C  |.  6A 00         PUSH 0
  39. 008DFE3E  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
  40. 008DFE41  |.  50            PUSH EAX
  41. 008DFE42  |.  B9 A0FE8D00   MOV ECX,008DFEA0                         ; ASCII "ewdjk32489jhde892klde;lk21e02134jldw;qlk21e4123kldshf"
  42. 008DFE47  |.  BA E0FE8D00   MOV EDX,008DFEE0                         ; ASCII "lQohM3nlt+1eqgQU+qcKO4f7QtOciTmcE6ZEhLk2DID5U4k0PBgvMMOtA4Xi6Q=="
  43. 008DFE4C  |.  8BC6          MOV EAX,ESI
  44. 008DFE4E  |.  E8 05C3FEFF   CALL 008CC158
  45. 008DFE53  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ; |
  46. 008DFE56  |.  33C9          XOR ECX,ECX                              ; |
  47. 008DFE58  |.  8BC6          MOV EAX,ESI                              ; |
  48. 008DFE5A  |.  E8 C5E1FDFF   CALL 008BE024                            ; \UnPacked.008BE024
  49. 008DFE5F  |>  A1 E84E9300   MOV EAX,DWORD PTR DS:[934EE8]
  50. 008DFE64  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
  51. 008DFE66  |.  E8 A5DCBFFF   CALL 004DDB10
  52. 008DFE6B  |>  33C0          XOR EAX,EAX
  53. 008DFE6D  |.  5A            POP EDX
  54. 008DFE6E  |.  59            POP ECX
  55. 008DFE6F  |.  59            POP ECX
  56. 008DFE70  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
  57. 008DFE73  |.  68 8DFE8D00   PUSH 008DFE8D
  58. 008DFE78  |>  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
  59. 008DFE7B  |.  BA 02000000   MOV EDX,2
  60. 008DFE80  |.  E8 E35BB2FF   CALL 00405A68
  61. 008DFE85  \.  C3            RETN
  62.  


Заходишь в процедуру 008DFE13 и убираешь (Nop) два перехода по адресам:
005662C8
0056640B

Если не осилишь, вот распакованный и почеканный файл:
--> Скачать <--

З.Ы. Найти мог поставив бряк на showWindow или на CreateFileA
З.Ы. 2 А чё эта вообще за софтина, чё она делает?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 03:27 · Поправил: dracony
· Личное сообщение · #8

Спасибки ) как раз тоже нашел ету функцию, и зашел на форум написать что теперь еррор 19 =)), но его уже почти пофиксил =)
метод мат индукции подсказівает что дальше будет еррор 21 =)))и ето даже еще не форма регистрации)))

Софтина в теории очень умно сама пишет комееты на блогах, но о ее юзабильности сказать ничего не могу ибо как видите сам еще ни разу ее не запустил))))))))))))
Кста когда ставлю брейк на функцию (bpx shwWindow например) мне выкидывает окошко Intermodular calls, так и должно быть?




Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 03 марта 2010 04:16
· Личное сообщение · #9

dracony спамбот чтоли?
посадить на кол и авторов бота, и Вас за компанию



Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 03 марта 2010 05:19
· Личное сообщение · #10

dracony
Во-первых не знаю откуда у Вас идут дальше ошибки, тот дамп который я скинул работает прекрасно.Там нужно изменить всего пару байт, какие я показал.
Во-вторых чтобы не показывало окошко Intermodular calls нужно писать не bpx showWindow, а bp showWindow
В-третьих регистрировать её бесполезно, ибо проверка лицензии идёт на сервере и это видно уже при первом беглом осмотре проги.



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 15:32
· Личное сообщение · #11

Скачал вашу версию, прога запустилась, но как только откры олькой опят еррор 19
error 19 появляется если запустить прогу в дебагере, и что странно, даже после закрытия ольки все равно при запуске выкидывает тот еррор. Может создает какой-то скрытий файл..



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 16:47
· Личное сообщение · #12

Перекинул на виртуальную машыну, и там тоже работало до первого запуска в дебагере(
наверное в рееэстр пишет что-то или как-то так




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 03 марта 2010 17:47 · Поправил: OKOB
· Личное сообщение · #13

dracony пишет:
тоже работало до первого запуска в дебагере(


Если Олька не чистая а какая нибудь китайско-заточенная под Фиму или Криптор... то она бросает свой дров в памяти после выгрузки.

Для проверки на виртуалке или после ребута запусти Ольку, выйди из нее не запуская свой файл на отладку и стартани приложение. А если пишет в реестр или в файло какое нибудь, то после ребута без запуска отладчика должно о нем тебе напоминать.

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 18:27 · Поправил: dracony
· Личное сообщение · #14

Разобралася=) Прого проверает запущена ли Олли вообще. Тоесть запускаю олли (просто запускаю даже на открываю в ней екзешки), потом отдельно запускаю прогу и она дает еррор 19.
Переименовал екзешку ольки и еррор пропал =) но теперь когда олькой запускаю екзешку то олька дает еррор "acces violation when executing [00000000], pass exception to application shift+/f7/f8/f9
нажимаю ф7 и еррор "debugged program failed to process exception"

еще одна проверка на дебагер?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 19:18
· Личное сообщение · #15

Так ничего и не нашел (
Я так понимаю это еще одна проверка на дебагер ибо без дебагера заускается отлично..
Помоготие ее пройти плиз



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

Создано: 03 марта 2010 21:33
· Личное сообщение · #16

alt+O-Exceptions, поставь все галки и добавь 00000000-FFFFFFFF в конец



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 21:36
· Личное сообщение · #17

Сделал, викинула ошыбку, "dont know how to continue because memory at address 0000000 is not readable. Try to change EIP or pass exception to program"



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 22:00 · Поправил: dracony
· Личное сообщение · #18

"dont know how to continue because memory at address 0000000 is not readable" появляется на строке
008BE762 . CD 2D INT 2D

Занопил ее, пмрога пощла дальше а потом выбросила мне "error 18 please contact support"
при чем еррор выкидывает теперь даже если модификации сохранить в екзешку, выгрузить ольку и запустить саму екзе.
Наверное какая-то защита от модификации еще одна...
да там наверное полкода защиты(((



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 22:18 · Поправил: dracony
· Личное сообщение · #19

О ЧУДО!!!!!!!! Скачал плагин Strong OD и все запустилось!!!!!!! даже без нопа о котором я выше писал =))))))))))))))))))

Ок проверка лицензии происходит сразу после запуска проги, никакой формы для серийника и тд нет.
Как еайти момент когда прога отсылает запрос на сервер?

точно знаю даже ссылки на которые идут запросы (взял чере ваэршарк):
www.box.scrapebox.com/address.php
www.scrapebox.com/lic/lic5.php<параметры >
етот lic5 если передать ему всякую лабуду возвращает INVALID я так понмаю на основе его ответа прога и решает запускатся или нет =)

как тепер ету прокверку найти?




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

Создано: 03 марта 2010 22:31
· Личное сообщение · #20

Ну есть же Правка, почему 9 из 10 её не могут увидеть и непременно налепят подряд постов.



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 03 марта 2010 22:39 · Поправил: dracony
· Личное сообщение · #21

Упс сорри)

Нашел нашел

008CD549 . 05 5C010000 ADD EAX,15C

вот в етой строке обчисливается тот паремтр который прога отсылает на сервер!!!!!!! (виден справа в коментарях )
так вот теперь нужно просто добратся до места обработки его =)
помощь б не помешала )



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 марта 2010 04:10
· Личное сообщение · #22

Если поконкретней то вот тут: 008CD65C начинается оброботка последного ответа из сервера (типа лцензии). Разобратся где конкретно она проверяется на смог (( повсюду куча джампов (( и поздно уже...голова не варит....

Помотрите туда пожалуйста кто-то, может увидите функцию проверки(

Начиная с места 008CDC7B уже обрабатывается сам ответ (без хедера).

Тоесть если отве пришел
<!-- SERVER 206.214.211.165 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang='en'>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" />
<title></title>
<meta name="robots" content="noindex, nofollow" />
<meta name="googlebot" content="noarchive" />
</head>
<body>
INVALID

то в строке 008CDC7B уже отфильтрировано и осталось само:
INVALID

Хотя я не уверен что посе етой строки проверка, может просто лог пишет или-что то. Но то что в 008CD65C начинается обработка лицензии точно =)

П.С. если кто схочет взглянуть не забудьте поставить Strong OD плагин к олли для правильной обработки INT 2D, и переименуйте ollydbg.exe в че нибудь другое так как тоже палит если запущений процес под такой назвой =)

Еще раз сасибо за помощь =)



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

Создано: 04 марта 2010 11:22 · Поправил: tundra37
· Личное сообщение · #23

точно знаю даже ссылки на которые идут запросы (взял чере ваэршарк):
....rapebox.com/address.php
....apebox.com/lic/lic5.php<параметры >

Просто молодец. Умеешь чужими программами пользоваться.
Теперь дело за малым : ломануть этот сервер и посмотреть скрипты.
Тебе же сказали :
В-третьих регистрировать её бесполезно, ибо ПРОВЕРКА лицензии идёт на СЕРВЕРЕ
Придется все-таки научиться еще и своими мозгами шевелить, а не ходить "под диктовку".



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 марта 2010 12:14 · Поправил: dracony
· Личное сообщение · #24

для чего ломать сервер?
Если б програма работала з сервером то понятно что ломануть нельзя было б, а так она просто проверяет лицензию а дельше уже сама по себе работает без сервера.

достаточно найти где проходит проверка, тоесть с чем то сверяется ответ сервера, и поставить там джамп. почему не сработает?



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 марта 2010 15:00 · Поправил: dracony
· Личное сообщение · #25

Разобрался =)
валидный респонс из сервера имеет такой вид
Code:
  1. <code>sdfsfdsd</code>
  2. <var>dfgdfg</var>
  3. <pre>dfgdfgd</pre>

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



Ранг: 3.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 марта 2010 22:19 · Поправил: dracony
· Личное сообщение · #26

Не могу нормально поменятвсе значения ( веччно выкидывет что Access violation то тут то там,, думаю фигово джамнул через код проверки ((
помогите плиз. проверка вот тут начинается
008CDE04

И еще как в олли добавить код в конце проги =)? едитать код могу но добавить нет (



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

Создано: 09 марта 2010 13:57
· Личное сообщение · #27

<code>sdfsfdsd</code>
<var>dfgdfg</var>
<pre>dfgdfgd</pre>

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

Раз непонятно : программа проверяющая лицензию сидит на сервере - это скрипт lic5
Правильный ответ(а не инвалид) будет когда дашь правильный запрос, которого ты не знаешь.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 09 марта 2010 15:17
· Личное сообщение · #28

А зачем тебе его менять? Ты всё равно не знаешь на что!
Смотри по коду дальше для чего этот ответ используется и правь

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



 eXeL@B —› Вопросы новичков —› Не могу найти строчку
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати