Сейчас на форуме: localhost1, vsv1, asfa, tyns777 (+5 невидимых)

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

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

Создано: 28 марта 2020 13:20
· Личное сообщение · #1

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

Нужно взломать активацию бота написанного на делфи (Dwar Rapid Bot если кому-то интересно).

Начал с простого: прогнал в PeID. Показало что нема никаких упаковщиков.

Прогнал через OllyDBG. Возле поля ввода ключа активации в проге есть текстовое поле "Введите код активации". Решил найти это поле в Search for > All referenced strings. И проблема заключается в том, что там нет вообще полей с русскими символами.
Но в одной из строк вижу это:

Code:
  1. Text strings referenced in drbot_ht:.text, item 38413
  2.  Address=005FEF75
  3.  Disassembly=PUSH drbot_ht.005FEFB0
  4.  Text string=UNICODE "Delphi Component"

Соответственно, прога написана на делфи, и по идее её не должно создавать никакого труда декомпилировать.

Паралельно вспоминаю про Detect It Easy, загоняю туда. Компилятор: Embarcadero Delphi(XE2-XE4)[-], Линкер: Turbo Linker(2.25*,Delphi)[EXE32]

Заганяю это дело в Delphi Decompiler. При открытии процесса, после того как вылазит окно "Press OK when target fully loaded" ничего не вылазит. Просто отказывается запускаться процесс. DeDe даёт тот же результат.

Куда двигаться реально уже не знаю. Просвятите новичка, пожалуйста




Ранг: 568.2 (!), 465thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 28 марта 2020 13:24
· Личное сообщение · #2

ccc0der пишет:
Куда двигаться реально уже не знаю

--> СЮДА <--

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 марта 2020 13:39
· Личное сообщение · #3

ccc0der пишет:
Возле поля ввода ключа активации в проге есть текстовое поле "Введите код активации". Решил найти это поле

Зачем? Ну намазаны на окно два контрола, что тебе даст поиск места, где был создан один из них? Тебя должно интересовать либо где значение ключа забирается, либо где выводится результат проверки. Ставь бряки в GetWindowTextA/GetWindowTextW/SetWindowTextA/SetWindowTextW/SendMessageA/SendMessageW/ShowWindow и если сработает, думай что с этим делать.

-----
2 оттенка серого




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

Создано: 28 марта 2020 13:47 · Поправил: _MBK_
· Личное сообщение · #4

Вовсе не факт, что там действительно дельфи и все так шоколадно декомпилируется. Ну или давайте по порядку - вы хотите научиться кириллический текст в олли искать? Я так понял, что вы искали в памяти процесса кириллическую юникодную строку в момент загруженной формы, но не нашли или как?



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 28 марта 2020 13:57
· Личное сообщение · #5

ccc0der пишет:
Вообще никогда не занимался реверсом, но появилась нужда и я решил попробовать.

И ВНЕЗАПНО оказалось, что реверсить софт - не такое уж и простое дело.

f13nd пишет:
и если сработает...

... то окажется он где-то глубоко в потрохах vcl, которые часами придется трассировать, пока не вылезем в метод класса TRegistrationForm::OnActivateClick().

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


Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 марта 2020 14:03
· Личное сообщение · #6

rmn пишет:
которые часами придется трассировать

На поиск ctrl-F9 в отладчике меньше времени уйдет.

-----
2 оттенка серого





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

Создано: 28 марта 2020 17:31 · Поправил: difexacaw
· Личное сообщение · #7

А зачем мой пост потёрли, там был url из сабжа для проверки ключа. Модеры вы сошли с ума!

ccc0der

Там url для проверки в открытом виде лежит. А ActivationKey в реестре. Что касаемо кода ввода и проверки, то он тебе точно не нужен. Сам интерфейс ввода занимает более сотни ветвей. А с проверкой вообще большое покрытие могу точные данные привести. Лучше сразу декомпилить, а не копаться в дизе оно очень толстое.

Добавлено спустя 21 минуту
~ 50 процедур между вводом ключа и выводом сообщения:

Code:
  1. $ ==> 00539DBA  drbot_ht.00539DBA
  2. $+4   00539710  Entry address
  3. $+8   00539733  drbot_ht.00539733
  4. $+C   004E1090  drbot_ht.004E1090
  5. $+10  004E10AD  drbot_ht.004E10AD
  6. $+14  004E1199  drbot_ht.004E1199
  7. $+18  00539E0E  drbot_ht.00539E0E
  8. $+1C  00539AF0  Entry address
  9. $+20  00539E54  drbot_ht.00539E54
  10. $+24  005321DC  Entry address
  11. $+28  005321EA  drbot_ht.005321EA
  12. $+2C  0040F2F0  Entry address
  13. $+30  00539EBB  drbot_ht.00539EBB
  14. $+34  0040F458  Entry address
  15. $+38  00539EC3  drbot_ht.00539EC3
  16. $+3C  00531F70  Entry address
  17. $+40  00539EEF  drbot_ht.00539EEF
  18. $+44  0053CFB0  Entry address
  19. $+48  004059A4  drbot_ht.004059A4
  20. $+4C  00533FF4  drbot_ht.00533FF4
  21. $+50  00406059  drbot_ht.00406059
  22. $+54  00533F80  drbot_ht.00533F80
  23. $+58  00533F91  drbot_ht.00533F91
  24. $+5C  00455D40  Entry address
  25. $+60  00533FAB  drbot_ht.00533FAB
  26. $+64  0044D18C  Entry address
  27. $+68  00533FEA  drbot_ht.00533FEA
  28. $+6C  005341A4  drbot_ht.005341A4
  29. $+70  0053400D  drbot_ht.0053400D
  30. $+74  0053CFEC  Entry address
  31. $+78  00537C9B  drbot_ht.00537C9B
  32. $+7C  0052856C  Entry address
  33. $+80  00534075  drbot_ht.00534075
  34. $+84  0053B488  Entry address
  35. $+88  004059A4  drbot_ht.004059A4
  36. $+8C  004919A8  drbot_ht.004919A8
  37. $+90  004059A4  drbot_ht.004059A4
  38. $+94  00474214  drbot_ht.00474214
  39. $+98  005340ED  drbot_ht.005340ED
  40. $+9C  00533280  Entry address
  41. $+A0  005332B7  drbot_ht.005332B7
  42. $+A4  004969B0  Entry address
  43. $+A8  00496A53  drbot_ht.00496A53
  44. $+AC  00497CDC  Entry address
  45. $+B0  00497CFB  drbot_ht.00497CFB
  46. $+B4  004917BC  Entry address
  47. $+B8  00496A5E  drbot_ht.00496A5E
  48. $+BC  004B7AC8  drbot_ht.004B7AC8
  49. $+C0  00406059  drbot_ht.00406059
  50. $+C4  00455AA4  drbot_ht.00455AA4
  51. $+C8  004059A4  drbot_ht.004059A4
  52. $+CC  0051F5DC  drbot_ht.0051F5DC
  53. $+D0  00496A8B  drbot_ht.00496A8B
  54. $+D4  00457AD4  Entry address
  55. $+D8  00496AC4  drbot_ht.00496AC4
  56. $+DC  004921AC  Entry address
  57. $+E0  004921C4  drbot_ht.004921C4
  58. $+E4  0053CDB8  Entry address
  59. $+E8  004059A4  drbot_ht.004059A4
  60. $+EC  004A4118  drbot_ht.004A4118
  61. $+F0  00492294  drbot_ht.00492294
  62. $+F4  00455A54  Entry address
  63. $+F8  00455A68  drbot_ht.00455A68
  64. $+FC  00455AB0  Entry address
  65. $+100 00455A6F  drbot_ht.00455A6F
  66. $+104 00455CD4  Entry address
  67. $+108 00455A7D  drbot_ht.00455A7D
  68. $+10C 00455C9C  Entry address
  69. $+110 00455E0A  drbot_ht.00455E0A
  70. $+114 00455DD4  Entry address
  71. $+118 00455DDE  drbot_ht.00455DDE
  72. $+11C 00455D7C  Entry address
  73. $+120 00455CC9  drbot_ht.00455CC9
  74. $+124 00455BC0  Entry address
  75. $+128 004059A4  drbot_ht.004059A4
  76. $+12C 0045860C  drbot_ht.0045860C
  77. $+130 0040AA78  drbot_ht.0040AA78
  78. $+134 004397BD  drbot_ht.004397BD
  79. $+138 0040AB6C  drbot_ht.0040AB6C
  80. $+13C 0044792C  drbot_ht.0044792C
  81. $+140 00447939  drbot_ht.00447939
  82. $+144 00447968  Entry address
  83. $+148 004059A4  drbot_ht.004059A4
  84. $+14C 0044769C  drbot_ht.0044769C
  85. $+150 00406295  drbot_ht.00406295
  86. $+154 0040629C  Entry address
  87. $+158 0040AA78  drbot_ht.0040AA78
  88. $+15C 004565AF  drbot_ht.004565AF
  89. $+160 0040AA78  drbot_ht.0040AA78
  90. $+164 00456589  drbot_ht.00456589
  91. $+168 00496A5E  drbot_ht.00496A5E
  92. $+16C 0049E664  Entry address
  93. $+170 00492222  drbot_ht.00492222
  94. $+174 00534CCC  drbot_ht.00534CCC
  95. $+178 0040AA78  drbot_ht.0040AA78
  96. $+17C 004E11B5  drbot_ht.004E11B5
  97. $+180 005A3D9A  drbot_ht.005A3D9A
  98. $+184 0059817C  Entry address
  99. $+188 005981AA  drbot_ht.005981AA
  100. $+18C 00598554  Entry address
  101. $+190 00598589  drbot_ht.00598589
  102. $+194 0056D5E8  Entry address
  103. $+198 0056D5FE  drbot_ht.0056D5FE
  104. $+19C 0056CAC4  Entry address
  105. $+1A0 005985AB  drbot_ht.005985AB
  106. $+1A4 0056CBC0  Entry address
  107. $+1A8 0056CBED  drbot_ht.0056CBED
  108. $+1AC 0056CAFC  Entry address
  109. $+1B0 0056CB42  drbot_ht.0056CB42
  110. $+1B4 00552B0C  Entry address
  111. $+1B8 00552B12  drbot_ht.00552B12
  112. $+1BC 00552B18  Entry address
  113. $+1C0 00552B86  drbot_ht.00552B86
  114. $+1C4 005529FC  Entry address
  115. $+1C8 00552A40  drbot_ht.00552A40
  116. $+1CC 00551264  Entry address
  117. $+1D0 0055128C  drbot_ht.0055128C
  118. $+1D4 0055139C  Entry address
  119. $+1D8 005513C1  drbot_ht.005513C1
  120. $+1DC 005512C0  Entry address
  121. $+1E0 005513D1  drbot_ht.005513D1
  122. $+1E4 00551724  Entry address
  123. $+1E8 00551724  Entry address
  124. $+1EC 0045C57C  Entry address
  125. $+1F0 00552A4E  drbot_ht.00552A4E
  126. $+1F4 00429CEC  Entry address
  127. $+1F8 00429D91  drbot_ht.00429D91
  128. $+1FC 005512EC  drbot_ht.005512EC
  129. $+200 00552A89  drbot_ht.00552A89
  130. $+204 00429FF4  Entry address
  131. $+208 0042A134  drbot_ht.0042A134
  132. $+20C 005512F0  drbot_ht.005512F0
  133. $+210 005512FF  drbot_ht.005512FF
  134. $+214 005520AC  Entry address
  135. $+218 00552B9A  drbot_ht.00552B9A
  136. $+21C 00550E7C  Entry address
  137. $+220 00550E95  drbot_ht.00550E95
  138. $+224 00552104  Entry address
  139. $+228 0056CB5B  drbot_ht.0056CB5B
  140. $+22C 0056CD54  Entry address
  141. $+230 0056CD7F  drbot_ht.0056CD7F
  142. $+234 0056CE24  Entry address
  143. $+238 0056CEC5  drbot_ht.0056CEC5
  144. $+23C 0056D17C  drbot_ht.0056D17C
  145. $+240 0056D19E  drbot_ht.0056D19E
  146. $+244 0056DB8C  drbot_ht.0056DB8C
  147. $+248 0056DB95  drbot_ht.0056DB95
  148. $+24C 00552D54  drbot_ht.00552D54
  149. $+250 0056D1D9  drbot_ht.0056D1D9
  150. $+254 0056D9C8  drbot_ht.0056D9C8
  151. $+258 0056DA49  drbot_ht.0056DA49
  152. $+25C 00552AB8  Entry address
  153. $+260 00552AD5  drbot_ht.00552AD5
  154. $+264 00550DE4  Entry address
  155. $+268 0056DA9F  drbot_ht.0056DA9F
  156. $+26C 00408F30  Entry address
  157. $+270 0056DAE7  drbot_ht.0056DAE7
  158. $+274 0056DBB4  drbot_ht.0056DBB4
  159. $+278 0056DC6A  drbot_ht.0056DC6A
  160. $+27C 0056C4CC  Entry address
  161. $+280 0056DB15  drbot_ht.0056DB15
  162. $+284 00551818  Entry address
  163. $+288 0056CBFC  drbot_ht.0056CBFC
  164. $+28C 0056DB38  drbot_ht.0056DB38
  165. $+290 0056DB4B  drbot_ht.0056DB4B
  166. $+294 0056CF78  Entry address
  167. $+298 0056CF8F  drbot_ht.0056CF8F
  168. $+29C 00551748  Entry address
  169. $+2A0 00551782  drbot_ht.00551782
  170. $+2A4 00407B68  Entry address
  171. $+2A8 00575557  drbot_ht.00575557
  172. $+2AC 00433364  Entry address
  173. $+2B0 77F82556  SHLWAPI.77F82556
  174. $+2B4 005702AB  drbot_ht.005702AB
  175. $+2B8 00571ACB  drbot_ht.00571ACB
  176. $+2BC 00573B4C  drbot_ht.00573B4C
  177. $+2C0 00573B83  drbot_ht.00573B83
  178. $+2C4 005730A4  Entry address
  179. $+2C8 77F75E6A  SHLWAPI.77F75E6A
  180. $+2CC 005702CC  drbot_ht.005702CC
  181. $+2D0 7E205C4A  shdocvw.7E205C4A
  182. $+2D4 00570A54  drbot_ht.00570A54
  183. $+2D8 0053E42D  drbot_ht.0053E42D
  184. $+2DC 0040F390  Entry address
  185. $+2E0 0053E4C7  drbot_ht.0053E4C7
  186. $+2E4 0040F010  Entry address
  187. $+2E8 7E20475A  shdocvw.7E20475A
  188. $+2EC 00570A47  drbot_ht.00570A47
  189. $+2F0 00573BFA  drbot_ht.00573BFA
  190. $+2F4 005ADBB0  drbot_ht.005ADBB0
  191. $+2F8 005ADC05  drbot_ht.005ADC05
  192. $+2FC 005733F4  Entry address
  193. $+300 005733FC  drbot_ht.005733FC
  194. $+304 005737AC  Entry address
  195. $+308 0044A2BE  drbot_ht.0044A2BE
  196. $+30C 0044ABCC  Entry address
  197. $+310 005ADD5B  drbot_ht.005ADD5B
  198. $+314 004E0834  Entry address
  199. $+318 004E083A  drbot_ht.004E083A
  200. $+31C 004E0840  Entry address
  201. $+320 004E084F  drbot_ht.004E084F
  202. $+324 004E0700  Entry address
  203. $+328 004E077D  drbot_ht.004E077D
  204. $+32C 004E063C  Entry address
  205. $+330 004E065D  drbot_ht.004E065D
  206. $+334 004E0058  Entry address
  207. $+338 004E0098  drbot_ht.004E0098
  208. $+33C 004DFAC8  Entry address
  209. $+340 004E03A5  drbot_ht.004E03A5
  210. $+344 0053DF54  Entry address
  211. $+348 004E0458  drbot_ht.004E0458
  212. $+34C 00492CC8  Entry address
  213. $+350 004E0788  drbot_ht.004E0788
  214. $+354 004E0664  Entry address
  215. $+358 004E0685  drbot_ht.004E0685
  216. $+35C 00492C48  Entry address


--> Link <--

-----
vx




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 28 марта 2020 19:02
· Личное сообщение · #8

Господи, Инди, опять ты какого-то мусора на копипастил. Этот говнобот ломается патчем двух байт, ибо все проверки внутри софта и похер что он шлет на гейт мд5 хэш и имя компа, это вообще ни на что не влияет




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

Создано: 28 марта 2020 19:05
· Личное сообщение · #9

TryAga1n

1. Проверку как то нужно найти, иголку в стоге сена.
2. ТС задал вопрос про начало обработки ввода.

Это ты пишешь какой то бред. А я дал конкретный ответ.

-----
vx




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 28 марта 2020 19:08
· Личное сообщение · #10

Конкретный ответ - это 00598300:9090




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

Создано: 28 марта 2020 19:15
· Личное сообщение · #11

TryAga1n

Можно найти по строкам validkey", но врядле тс нужно готовое. Ему нужен сам путь решения, а не адреса.

-----
vx




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 28 марта 2020 19:20
· Личное сообщение · #12

difexacaw пишет:
Ему нужен сам путь решения

Ты поистине удивительный человек, если искренне считаешь, что это так




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

Создано: 28 марта 2020 19:35
· Личное сообщение · #13

TryAga1n

Иначе бы он задал вопрос в соотв теме по запросам на взлом.

-----
vx


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

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

Создано: 28 марта 2020 23:09 · Поправил: tihiy_grom
· Личное сообщение · #14

difexacaw пишет:
Иначе бы он задал вопрос в соотв теме по запросам на взлом.

ты снова не читаешь текст он же чётко пишет

ccc0der пишет:
появилась нужда и я решил попробовать


Тут всем насрать на правила форума.


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

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

Создано: 29 марта 2020 02:03
· Личное сообщение · #15

difexacaw пишет:
Иначе бы он задал вопрос в соотв теме по запросам на взлом.


Да. Я на самом деле ищу путь, а не решение. Это я себе такой своеобразный крекми выбрал.
Просто из-за вообще полного отсутствия скилла потерялся в трёх соснах.

Добавлено спустя 4 минуты
_MBK_ пишет:
Ну или давайте по порядку - вы хотите научиться кириллический текст в олли искать? Я так понял, что вы искали в памяти процесса кириллическую юникодную строку в момент загруженной формы, но не нашли или как?

Я даже не удосужился подумать о том, что тупо кириллицу оно не проглотит.

Добавлено спустя 11 часов 27 минут
difexacaw пишет:
Лучше сразу декомпилить, а не копаться в дизе оно очень толстое.


Ну я вот когда увидел объём кода в ассемблере сразу так и подумал. Но что-то оно напрочь отказывается декомпилиться.




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

Создано: 29 марта 2020 21:15
· Личное сообщение · #16

ccc0der

Плохой значит пример взял. Дельфя это стог мусора в котором закопаешься.

-----
vx




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

Создано: 03 апреля 2020 19:04
· Личное сообщение · #17

ccc0der загрузи куда-нибудь программу и выложи ссылку.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 04 апреля 2020 09:08
· Личное сообщение · #18

cache
Зачем? Название есть, качается с оффсайта спокойно, кряк тоже уже есть(для html5 версии):
TryAga1n пишет:
00598300:9090

Автор хочет, чтобы все сделали за него, поэтому топик вообще можно закрывать




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 04 апреля 2020 09:20
· Личное сообщение · #19

ccc0der, IDR (Interactive Delphi Reconstructor)


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


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