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

 eXeL@B —› Вопросы новичков —› Ollydbg trial delphi программа, нужна помощь
Посл.ответ Сообщение

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

Создано: 13 февраля 2015 15:38
· Личное сообщение · #1

Понадобилось модифицировать одну программу (бот для браузерки), триальный период на 7 дней, нашёл в коде участок который при условии перенаправляет программу на выход, заменил JNE на JE (или JMP), программа некоторое время идет дальше, но потом начинает генерировать исключения. Не понимаю почему это происходит, из за изменения происходит какое то смещение или что?
Вот участок кода где меняю условие:
Code:
  1. CPU Disasm
  2. Address   Hex dump          Command                                  Comments
  3. 00645627  |.  FF52 14       CALL DWORD PTR DS:[EDX+14]
  4. 0064562A  |.  85C0          TEST EAX,EAX
  5. 0064562C      75 05         JNE SHORT 00645633
  6. 0064562E  |.  E8 9DBCDBFF   CALL <JMP.&rtl70_bpl.@System@@Halt0$qqrv ; Jump to rtl70_bpl.@System@@Halt0$qqrv
  7. 00645633  |>  33C0          XOR EAX,EAX

Вычислил его изменяя системное время, пока триал период ещё идет - вызов функции @System@@Halt перепрыгивается, после перевода времени вперед функция выполняется и закрывает процесс.
Ещё мне необходимо сделать чтобы в программе можно было использовать много логинов, на данный момент Combobox заблокирован для редактирования, по идее надо изменить свойство style с cb_DropDownList на cb_DropDown, но незнаю как найти в программе место где задаются свойства комбобокса.

Буду рад любым советам, я новичок в крекинге, но с ассемблером на базовом уровне знаком.
Прилагаю ехешник: http://zalil-slil.rusfolder.net/files/42974278



Ранг: 80.6 (постоянный), 194thx
Активность: 0.10.04
Статус: Участник

Создано: 13 февраля 2015 19:51
· Личное сообщение · #2

grelik пишет:
Буду рад любым советам, я новичок в крекинге, но с ассемблером на базовом уровне знаком.

Вам не будут помогать с ботом, если вы учитесь - учитесь на других примерах, таких масса.



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

Создано: 13 февраля 2015 20:32
· Личное сообщение · #3

мм.. что за предрассудки? Какая разница на чем учится? В правилах раздела ничего насчет этого не увидел...
Я специально подобрал себе программу чтобы иметь мотивацию. Тем более сам часто пишу на делфи, ну раз так, то видимо ошибся форумом...



Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 13 февраля 2015 20:36
· Личное сообщение · #4

grelik пишет:
нашёл в коде участок который при условии перенаправляет программу на выход

Как вы вышли на этот участок кода? Просто возле точки входа увидели?



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

Создано: 13 февраля 2015 20:41 · Поправил: grelik
· Личное сообщение · #5

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

Ответ на следующий пост( т.к: Вы слишком часто оставляете сообщения с момента регистрации. Подождите до завтра):

Но... Я же выложил файл в первом посте
Да, проверял, когда истек то как раз условие не выполняется и вызывается эта функция SystemHalt, которая и закрывает программу



Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 13 февраля 2015 20:48 · Поправил: vovanre
· Личное сообщение · #6

grelik А почему вы уверенны что это именно тот прыжок? Проверяли когда уже истёк триал? (да ич то вам мешает выложить сам файл? Мы ванговать должны? Ну либо в лс)

Добавлено спустя 17 минут
Нда, бот адово криво скомпилен. Ради него не буду delphi качать. звиняйте.



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

Создано: 14 февраля 2015 08:13 · Поправил: dosprog
· Личное сообщение · #7

vovanre пишет:
Нда, бот адово криво скомпилен. Ради него не буду delphi качать. звиняйте.

Это он вроде. Там две dll'и нужны дополнительно.

grelik пишет:
(бот для браузерки),


На любителя





Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 14 февраля 2015 08:29 · Поправил: unknownproject
· Личное сообщение · #8

grelik пишет:
Но... Я же выложил файл в первом посте

Вы выложили эксе бота, скомпиленного в рантайм.Это вынуждает потенциального 'ковыряльщика' качать недостающие .bpl, необходимые для его запуска.Кстати, заголовок Вашего топика очень напоминает запрос на поиск в гугле, составленный школьником.

--> Недостающее <--

-----
TEST YOUR MIGHT




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

Создано: 14 февраля 2015 10:04
· Личное сообщение · #9

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



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 14 февраля 2015 13:03
· Личное сообщение · #10

grelik пишет:
И как мне найти комбобокс?

Скорее всего имелся ввиду не комбо, а месседжбокс, сообщающий о конце триала ?
Выложите полный дистрибутив бота.

-----
TEST YOUR MIGHT




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

Создано: 14 февраля 2015 13:24
· Личное сообщение · #11

http://rghost.ru/6hMJJ697j
Нету никаких сообщений, он просто закроется до создания формы.



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 14 февраля 2015 15:51
· Личное сообщение · #12

OMG! Какой страшный делфийский код... 5,5 метров!!! Какое-то гавно разбирать решили от хорошей жизни. Впрочем, моё дело малое-подсказать суть:

Очевидно же по логам, что бото-программко парсит (WinAPI FindFirstFileA) в своей директории файлы с расширением "*.key", ниже идет парсинг содержимого key, и вывод в лог
Code:
  1. 00644C15  |.  B9 9C506400   MOV ECX,0064509C                         ; ASCII "*.key"
  2. 00644C1A  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
  3. 00644C1D  |.  E8 46C7DBFF   CALL 00401368                            ; Jump to rtl70_bpl.@System@@LStrCat3$qqrv
  4. 00644C22  |.  8B85 74FEFFFF MOV EAX,DWORD PTR SS:[EBP-18C]
  5. 00644C28  |.  8D8D 7CFEFFFF LEA ECX,[EBP-184]
  6. 00644C2E  |.  BA 3F000000   MOV EDX,3F
  7. 00644C33  |.  E8 18DBDBFF   CALL 00402750                            ; Jump to rtl70_bpl.@Sysutils@FindFirst$qqrx17System@AnsiStringir19Sysutils@TSearchRec
  8. 00644C38  |.  33C0          XOR EAX,EAX
  9. 00644C3A  |.  8945 F4       MOV DWORD PTR SS:[EBP-0C],EAX
  10. 00644C3D  |.  B8 AC506400   MOV EAX,006450AC                         ; ASCII "load keys" //запись фигурирует в логах
  11. 00644C42  |.  8985 6CFEFFFF MOV DWORD PTR SS:[EBP-194],EAX
  12. 00644C48  |.  C685 70FEFFFF MOV BYTE PTR SS:[EBP-190],0B
  13. 00644C4F  |.  8D85 6CFEFFFF LEA EAX,[EBP-194]
  14. 00644C55  |.  33D2          XOR EDX,EDX
  15. 00644C57  |.  E8 CCEDE0FF   CALL 00453A28                            ;
  16. 00644C5C  |.  E9 A7030000   JMP 00645008

думаю key файлы это не что иное как лицензия. Разберете механизм, сгенерите себе валидную лицензию-ботоводьте дальше, на здоровье. Кстати, исключения могут сыпатся, когда в key файле мусор (в моем случае было так).

| Сообщение посчитали полезным: unknownproject, grelik

Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 14 февраля 2015 16:11
· Личное сообщение · #13

ELF_7719116, уточню, имея триальную лицуху можно просто перебить проверку даты.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 14 февраля 2015 16:15
· Личное сообщение · #14

Code:
  1. 00642A96   .  8038 02       CMP BYTE PTR DS:[EAX],2

А тут обойти авторизацию

-----
TEST YOUR MIGHT




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

Создано: 15 февраля 2015 11:46
· Личное сообщение · #15

ELF_7719116 пишет:
думаю key файлы это не что иное как лицензия. Разберете механизм, сгенерите себе валидную лицензию-ботоводьте дальше, на здоровье.

Вообщем поразбирался, и понял что ключ не проверяется вообще нигде, используется только при выводе в логе, даже если просто поменять его на любой такой же длины ничего не меняется.. В итоге нашёл пару условий где сравнивается дата, поменял их и вуаля: "TRIAL -N days". Осталось только разблокировать поле ввода и убрать эту надпись про триал сверху.
unknownproject пишет:
А тут обойти авторизацию

Во первых не авторизацию, а аутентификацию, а во вторых зачем её обходить если она происходит на сервере?

Добавлено спустя 11 часов 42 минуты
Застрял на поиске поля ввода...
Воспользовался winspy, используется класс TLMDCombobox, пробовал искать по размеру, хэндлу, createwindow, не помогло.
Затем попробовал изменить поле через редактор ресурсов, поменять св-во Style, поле стало рабочим, но при вводе выбрасывало исключения "Range Check Error".. Так что видимо редактор ресурсов не вариант. Видимо там ещё какие то проверки идут. Подскажите каким методом можно найти нужный элемент управления на форме?



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 16 февраля 2015 05:19 · Поправил: unknownproject
· Личное сообщение · #16

grelik пишет:
Во первых не авторизацию, а аутентификацию

пожалуй, что не буду это комментировать, так как лол.Там передаются параметры скрипту, а передача данных на скрипт с последующим выделением сессии - это авторизация.В зависимости от ответа сервера она будет удачной или нет, а аутентификация может представлять из себя сертификат, который локально сохраняется на машине и может быть ей отвергнут, так же как сервер может отвергнуть локальную копию сертификата и запретить доступ.Есть белые и черные списки машин.Для успешности авторизации сертификат может и не требоваться.
grelik пишет:
а во вторых зачем её обходить если она происходит на сервере?

А зачем ради того, чтобы разобраться в коде говнобота регаться в говноигре ?

Добавлено спустя 1 минуту
grelik пишет:
Застрял на поиске поля ввода...
Воспользовался winspy, используется класс TLMDCombobox, пробовал искать по размеру, хэндлу, createwindow, не помогло.
Затем попробовал изменить поле через редактор ресурсов, поменять св-во Style, поле стало рабочим, но при вводе выбрасывало исключения "Range Check Error".. Так что видимо редактор ресурсов не вариант. Видимо там ещё какие то проверки идут. Подскажите каким методом можно найти нужный элемент управления на форме?

Что за извращения ? Берете гексредактор и ищете по кэпшену.Свойства компонента идут по порядку.

-----
TEST YOUR MIGHT



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


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