Сейчас на форуме: vsv1, Alf (+4 невидимых)

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

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

Создано: 06 августа 2015 23:45
· Личное сообщение · #1

Всем добрый день

В общем взламываю сейчас бота к одной браузерке. Выяснил что бот написан на делфи. на форме авторизации есть компонент idTime. как можно обойти или взломать его чтобы она перестала отсчитывать время??. Использую IDR, OllyDBG и Restorator.

Если нужно могу предоставить дизассемблированный код



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

Создано: 07 августа 2015 00:01 · Поправил: tihiy_grom
· Личное сообщение · #2

IDR спасёт отца русской демократии

ищите где юзается в коде этот компонент. если непонятно как он юзается - сделайте сами тестовый пример на дэлфи и разберите его

а компонент юзается примерно так:
Code:
  1. iT := tIdTime.Create(nil);
  2. iT.Host := "ntps1-0.uni-erlangen.de";
  3. CurrTime := iT.DateTime;




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

Создано: 07 августа 2015 00:17
· Личное сообщение · #3

Спасибо за ответ))

нашёл в коде адрес сервера:

time-a.timefreq.bldrdoc.gov - это как я понимаю сервер времени?

Добавлено спустя 3 минуты
а если потереть компоненту ресторатором в боте это поможет??



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

Создано: 07 августа 2015 00:29
· Личное сообщение · #4

WhiteJoker пишет:
а если потереть компоненту ресторатором в боте это поможет??

видимо это поможет боту упасть с ошибкой



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

Создано: 07 августа 2015 00:40
· Личное сообщение · #5

Надо искать обработчик события, в коде которого инициализируется компонент.Это элементарно.

-----
TEST YOUR MIGHT




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

Создано: 07 августа 2015 10:30
· Личное сообщение · #6

Спасибо буду пробовать))

Добавлено спустя 30 минут
Вот что я нашёл в коде

006AAEC8 mov eax,[007225F8]; gvar_007225F8
006AAECD mov byte ptr [eax],1
006AAED0 mov eax,dword ptr [esi+3D4]; TStartForm.IdTime1:TIdTime
006AAED6 mov edx,6AB330; 'time-a.timefreq.bldrdoc.gov'
006AAEDB mov ecx,dword ptr [eax]
006AAEDD call dword ptr [ecx+0A0]; TIdTCPClientCustom.SetHost
006AAEE3 mov eax,dword ptr [esi+3D4]; TStartForm.IdTime1:TIdTime
006AAEE9 mov edx,dword ptr [eax]
006AAEEB call dword ptr [edx+0AC]; TIdTCPClientCustom.Connect
006AAEF1 mov eax,dword ptr [esi+3D4]; TStartForm.IdTime1:TIdTime
006AAEF7 mov edx,dword ptr [eax]
006AAEF9 call dword ptr [edx+74]; TIdTCPConnection.Connected
006AAEFC test al,al
>006AAEFE je 006AB192

Как видно есть функция TIdTCPClientCustom.Connect. Она походу коннектится к серверу. Может убрать визов функции и сменить je на jmp



Ранг: 42.2 (посетитель), 42thx
Активность: 0.040
Статус: Участник

Создано: 07 августа 2015 12:52 · Поправил: kid
· Личное сообщение · #7

WhiteJoker пишет:
Может убрать визов функции и сменить je на jmp


Как вы думаете какое условие было в коде ?

Code:
  1. If (not Connect()) then VseRavnoRabotaem_i_pofig_na_vse()


или

Code:
  1. If (not Connect()) then MessabeGox("Не могу законнектиться на сервер времени , проверяй коннект !");


если первое - тогда да , если второе - то после инициализации компонента и коннекта на сервер наверное будут и другие проверки времени ?


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


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