C-C++ Взлом шахматного бота

fullHorviG

Посетитель
Новичок
Сообщения
30
Реакции
0
Врядли им это поможет, там один лучше другого, "скажи кто твой друг и я скажу кто ты" :)
Не нужно ставить себя выше других, лучше бы реально чем-то помогли, либо ничего не говорить вовсе, чем устраивать разговор о пустом.
 

Jaa

Постоянный
Мудрец
Сообщения
90
Реакции
273
Не нужно ставить себя выше других, лучше бы реально чем-то помогли, либо ничего не говорить вовсе, чем устраивать разговор о пустом.
А где в моих словах высокомерие, вам же помогли уже, написали алгоритм, берите да пользуйтесь, проверяйте. Я о ваших знаниях написал в этой сфере, если их нет для этого есть Запросы на взлом и Поиск специалистов за кеш.
 

fullHorviG

Посетитель
Новичок
Сообщения
30
Реакции
0
А где в моих словах высокомерие, вам же помогли уже, написали алгоритм, берите да пользуйтесь, проверяйте. Я о ваших знаниях написал в этой сфере, если их нет для этого есть Запросы на взлом и Поиск специалистов за кеш.
Да просто вы так всё преподносите с сарказмом счия что если вы в этой сфере понимаете, то вы классный и чёткий, а мы тут якобы дураки (просто вы так не говорите на самом деле) и с нас можно ржать и прикалываться.
 

ura122

Зарегистрированный
Сообщения
9
Реакции
0
Мне интересно, а процитируйте ваше сообщение где ранее вы это писали? Может вы хотели написать и не написали. Выложите полный комплект бота и объясните что запускать, если запустился значит работает?) То что тут выкладывалось - запускается.
Что по вашему запускается? Если вы имеете ввиду появления окошка интерфейса, то да. Но смысл в том, чтобы он еще и играл.
Выкладываю:
fullHorvig.rar - папка с полным комплектом бота, работающим только на одном ПК;
HorviG_speedtest.exe - демоверсия ослабенная и рабочая на всех ПК, чтобы неэкстрасенсы поняли, чего от них хотят и как должен играть бот;
пример включения бота.png - скрин примера запуска бота в игру.
Для тестирования работоспособности: перейти на любой шахм. сайт, например этот https://lichess.org , выбрать сыграть с компьютером, когда на сайте откроется новая игра, нажать на экзешник бота. При появлении интерфейса бота, для того чтобы бот определил доску, сначала нажать мышкой и удерживать 3 сек в левом верхнем углу доски до появления красной точки, потом тоже самое в правом нижнем углу (как на скрине).
 

Прикрепленные файлы:

_MBK_

Ветеран
Новичок
Сообщения
157
Реакции
30
Ну вы меня, конечно, извините, но вы и вправду тупите изрядно и профессионализм тут ни при чем. Сперва из вас постановку задачи клещами два дня вытягивали (причем, так толком до конца и не понятно в чем именно ограничения выражаются), в итоге человек вам готовый вариант решения дал а вы никак его даже попробовать не можете.
 

fullHorviG

Посетитель
Новичок
Сообщения
30
Реакции
0
Ну вы меня, конечно, извините, но вы и вправду тупите изрядно и профессионализм тут ни при чем. Сперва из вас постановку задачи клещами два дня вытягивали (причем, так толком до конца и не понятно в чем именно ограничения выражаются), в итоге человек вам готовый вариант решения дал а вы никак его даже попробовать не можете.
Мы же сказали что знаний мало в этой сфере поэтому и обратились сюда за помощью, а вы здесь шуточки в виде сарказма устраиваете вместо того чтобы реально помочь.

Автор бота делает вход на ПК с помощью TeamViewer, устанавливает приложение Аквариум (это приложение для работы с книгами CTG) с его файлами, шахматным двигателем Stockfish и книгой в формате ctg, потом смотрит характеристики моего ПК, смотрит систему где написано какой процессор, частота, ОЗУ, после этого он кидает на ПК два экзешника 'license.exe' и 'sendit.exe' и запускает их, появляются какие-то 2 чёрных окна быстро по очереди, но ничего из этого не понятно было, и тут автор просит подождать минут 10-15, после он присылает экзешник 'fullHorviG.exe' и проверяет бот на шахматном сайте для работоспособности его.

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

Постараюсь сделать видеозапись чтобы показать вам как это работает для того чтобы иметь представление.
 
Последнее редактирование:

OKOB

Постоянный
Победители турниров
Финалисты турниров
Мудрец
Сообщения
66
Реакции
518
и тут автор просит подождать минут 10-15, после он присылает экзешник 'fullHorviG.exe'
Согласно этому описанию, привязка содержится в файле fullHorviG.exe, но побайтовое сравнение этого файла представленного в полном комплекте и файла взятого в интернете (см пост #28 этого треда https://cracklab.team/index.php?threads/508/post-3737) не находит ни одного отличия.

Но основной двиг в комплектах разный. В старом (2016) на основе stockfish [Romstad, Costalba, Kiiski, Linscott], в новом (2020) на основе brainfish [Thomas Zipproth].

Исходники brainfish версии от 24.07.2020 (именно такой двиг в новом комплекте) лежат тут https://zipproth.de/Brainfish/download/
А собранная версия от туда же байт в байт соответствует файлу из комплекта.

Вероятно запуск 'license.exe' и 'sendit.exe' что-то прописывает в системе.

Упомянутый Aquarium Book Adapter есть здесь
http://www.chessok.com/download/Aquarium/books/AquariumBookAdapterSetup.exe
 
Последнее редактирование:

Jaa

Постоянный
Мудрец
Сообщения
90
Реакции
273
Мы же сказали что знаний мало в этой сфере поэтому и обратились сюда за помощью
Помочь это направить на путь истинный, а не сделать все за вас и подать на блюдечке. Помощь выше уже была, если не помогает то как пробовали конкретно с подробностями, что не понятно и т д.
Поиск специалистов - тут можете писать ваши пожелания, условия, в ЛС тому кто откликнется и никакие знания не нужны, как раз для вас.
 

fullHorviG

Посетитель
Новичок
Сообщения
30
Реакции
0
Согласно этому описанию, привязка содержится в файле fullHorviG.exe, но побайтовое сравнение этого файла представленного в полном комплекте и файла взятого в интернете (см пост #28 этого треда https://cracklab.team/index.php?threads/508/post-3737) не находит ни одного отличия.

Но основной двиг в комплектах разный. В старом (2016) на основе stockfish [Romstad, Costalba, Kiiski, Linscott], в новом (2020) на основе brainfish [Thomas Zipproth].

Исходники brainfish версии от 24.07.2020 (именно такой двиг в новом комплекте) лежат тут https://zipproth.de/Brainfish/download/
А собранная версия от туда же байт в байт соответствует файлу из комплекта.

Вероятно запуск 'license.exe' и 'sendit.exe' что-то прописывает в системе.
Двигатель и книги для бота fullHorviG можно менять.

'Смотрите' что ещё хотел добавить:
Мой бот 2021 года, а тот что выложили по ссылке он 2019 года, то есть, я взял чужой бот 2019 года выпуска и он работал, но работал бот 2019 после того как я вначале (сперва) своим ботом 2021 пользовался, а вот когда я перезагрузил ПК и сразу подставил чужой бот 2019 (то есть сразу я не запускал свой бот 2021), то бот 2019 уже не работал, то есть чужой бот 2019 может работать только тогда когда я вначале хотя бы один раз сделаю запуск своего бота 2021.
 

ura122

Зарегистрированный
Сообщения
9
Реакции
0
Согласно этому описанию, привязка содержится в файле fullHorviG.exe, но побайтовое сравнение этого файла представленного в полном комплекте и файла взятого в интернете (см пост #28 этого треда https://cracklab.team/index.php?threads/508/post-3737) не находит ни одного отличия.

Сравните побайтово еще с этими, отличий немного, но есть закономерность:
 

Прикрепленные файлы:

_MBK_

Ветеран
Новичок
Сообщения
157
Реакции
30
Я не пойму, вы способ, предложенный вам rmn пробовали или нет?
Если вы не поняли - поменяйте по смещению .40339B 05 на 00 и посмотрите будет работать на другом компе или нет?
 

ura122

Зарегистрированный
Сообщения
9
Реакции
0
Я не пойму, вы способ, предложенный вам rmn пробовали или нет?
Если вы не поняли - поменяйте по смещению .40339B 05 на 00 и посмотрите будет работать на другом компе или нет?
какой инструмент использовать?? и почему именно это смещение?
 

OKOB

Постоянный
Победители турниров
Финалисты турниров
Мудрец
Сообщения
66
Реакции
518
Сравните побайтово еще с этими, отличий немного, но есть закономерность
Отличия между файлами в семи местах.
В четырех местах данные завязанные на компиляцию (дата, время, контрольная сумма файла).
PE header : TimeDateStamp (offset 0xE8) dd 58508714h
PE header : Checksum (offset 0x138) dd 030D4B

--------------------------------------- 1
Код:
.rdata:00411200                   ; Debug Directory entries
.rdata:00411200 00 00 00 00                       dd 0                          ; Characteristics
.rdata:00411204 14 87 50 58                       dd 58508714h            ; TimeDateStamp: Tue Dec 13 23:41:08 2016
--------------------------------------- 2 59579EECh

--------------------------------------- 1
Код:
.rdata:00413460                   ; Debug information (IMAGE_DEBUG_TYPE_CODEVIEW)
.rdata:00413460 52 53 44 53       asc_413460    db 'RSDS'               ; CV signature
.rdata:00413464 74 CF F0 21 CC 6D+                dd 21F0CF74h            ; Data1 ; GUID
.rdata:00413464 AF 44 B9 73 94 BE+                dw 6DCCh                ; Data2
.rdata:00413464 9F E7 49 D3                           dw 44AFh                ; Data3
.rdata:00413464                                             db 0B9h, 73h, 94h, 0BEh, 9Fh, 0E7h, 49h, 0D3h; Data4
.rdata:00413474 16 00 00 00                           dd 16h                  ; Age
--------------------------------------- 2 1Ah

Еще в трех местах данные которые могут быть использованы для привязки.
Как уже было указано
"Привязка к железу" заключается в том, что (CPUID(1).EAX / 5) * 4) должен быть равен 0x19F10.
получение значения
Код:
.text:00402172 33 C9                             xor     ecx, ecx
.text:00402174 B8 01 00 00 00                mov     eax, 1
.text:00402179 0F A2                             cpuid
.text:0040217B 8D B4 24 D8 00 00+        lea     esi, [esp+9F0h+var_918]
.text:00402182 89 06                             mov     [esi], eax
его модификация
Код:
.text:004021A6 B8 67 66 66 66               mov     eax, 66666667h
.text:004021AB F7 AC 24 D8 00 00+        imul    [esp+9F0h+var_918]
.text:004021B2 D1 FA                             sar     edx, 1
.text:004021B4 8B C2                             mov     eax, edx
.text:004021B6 C1 E8 1F                         shr     eax, 1Fh
.text:004021B9 03 C2                             add     eax, edx
.text:004021BB 03 C0                             add     eax, eax
.text:004021BD 03 C0                             add     eax, eax
.text:004021BF 89 84 24 D8 00 00+         mov     [esp+9F0h+var_918], eax
и проверка
--------------------------------------- 1
Код:
.text:0040338F 81 BC 24 D8 00 00+                cmp     [esp+9F0h+var_918], 19F00h (106240)
--------------------------------------- 2 26BCCh (158668)

и еще одна

получение значения
Код:
.text:0040218D 33 C9                             xor     ecx, ecx
.text:0040218F B8 02 00 00 00                mov     eax, 2
.text:00402194 0F A2                             cpuid
.text:00402196 BE 60 91 41 00                mov     esi, offset dword_419160
.text:0040219B 89 06                             mov     [esi], eax
аналогичная модификация
Код:
.text:004021C6 B8 67 66 66 66                mov     eax, 66666667h
.text:004021CB F7 2D 60 91 41 00           imul    dword_419160
.text:004021D1 D1 FA                             sar     edx, 1
.text:004021D3 8B CA                             mov     ecx, edx
.text:004021D5 C1 E9 1F                         shr     ecx, 1Fh
.text:004021D8 03 CA                             add     ecx, edx
.text:004021E0 03 C9                             add     ecx, ecx
.text:004021E5 03 C9                             add     ecx, ecx
.text:004021E8 89 0D 60 91 41 00           mov     dword_419160, ecx
и проверка
--------------------------------------- 1
Код:
.text:0040427B 81 3D 60 91 41 00+                cmp     dword_419160, 4402AE64h
--------------------------------------- 2 5E691C00h

псевдокод подтверждает написанное rmn

_EAX = 1;
__asm { cpuid }
v231 = _EAX;
_EAX = 2;
__asm { cpuid }
dword_419160 = _EAX;
v231 = 4 * (v231 / 5);
dword_419160 = 4 * (dword_419160 / 5);

одно из значений хранится также еще в одном месте, но обращения к нему не видно
--------------------------------------- 1
Код:
.data:00415F10 00 9F 01 00                       dd 19F00h
--------------------------------------- 2 26BCCh

Если это и действительно вся привязка, то это точно Джо Неуловимый. Наверняка с 2011 неоднократно была сломана под себя, но так как никто не брался барыжить, то автор ничего не менял в "защите".
 

_MBK_

Ветеран
Новичок
Сообщения
157
Реакции
30
Так там проверка только в одном месте .40339B патчится одним байтом
Или я где то пропустил?
 

OKOB

Постоянный
Победители турниров
Финалисты турниров
Мудрец
Сообщения
66
Реакции
518

_MBK_

Ветеран
Новичок
Сообщения
157
Реакции
30
Точно, пропустил ее
У меня вот так она выглядит

.text:0040427B 81 3D 60 91 41 00 CC 14 69 5E cmp dword_419160, 5E6914CCh
.text:00404285 0F 84 E7 01 00 00 jz loc_404472

Тогда тремя байтами - добавляется
.404285 0F 90
.404286 84 E9
 

fullHorviG

Посетитель
Новичок
Сообщения
30
Реакции
0
Отличия между файлами в семи местах.
В четырех местах данные завязанные на компиляцию (дата, время, контрольная сумма файла).
PE header : TimeDateStamp (offset 0xE8) dd 58508714h
PE header : Checksum (offset 0x138) dd 030D4B

--------------------------------------- 1
Код:
.rdata:00411200                   ; Debug Directory entries
.rdata:00411200 00 00 00 00                       dd 0                          ; Characteristics
.rdata:00411204 14 87 50 58                       dd 58508714h            ; TimeDateStamp: Tue Dec 13 23:41:08 2016
--------------------------------------- 2 59579EECh

--------------------------------------- 1
Код:
.rdata:00413460                   ; Debug information (IMAGE_DEBUG_TYPE_CODEVIEW)
.rdata:00413460 52 53 44 53       asc_413460    db 'RSDS'               ; CV signature
.rdata:00413464 74 CF F0 21 CC 6D+                dd 21F0CF74h            ; Data1 ; GUID
.rdata:00413464 AF 44 B9 73 94 BE+                dw 6DCCh                ; Data2
.rdata:00413464 9F E7 49 D3                           dw 44AFh                ; Data3
.rdata:00413464                                             db 0B9h, 73h, 94h, 0BEh, 9Fh, 0E7h, 49h, 0D3h; Data4
.rdata:00413474 16 00 00 00                           dd 16h                  ; Age
--------------------------------------- 2 1Ah

Еще в трех местах данные которые могут быть использованы для привязки.
Как уже было указано


получение значения
Код:
.text:00402172 33 C9                             xor     ecx, ecx
.text:00402174 B8 01 00 00 00                mov     eax, 1
.text:00402179 0F A2                             cpuid
.text:0040217B 8D B4 24 D8 00 00+        lea     esi, [esp+9F0h+var_918]
.text:00402182 89 06                             mov     [esi], eax
его модификация
Код:
.text:004021A6 B8 67 66 66 66               mov     eax, 66666667h
.text:004021AB F7 AC 24 D8 00 00+        imul    [esp+9F0h+var_918]
.text:004021B2 D1 FA                             sar     edx, 1
.text:004021B4 8B C2                             mov     eax, edx
.text:004021B6 C1 E8 1F                         shr     eax, 1Fh
.text:004021B9 03 C2                             add     eax, edx
.text:004021BB 03 C0                             add     eax, eax
.text:004021BD 03 C0                             add     eax, eax
.text:004021BF 89 84 24 D8 00 00+         mov     [esp+9F0h+var_918], eax
и проверка
--------------------------------------- 1
Код:
.text:0040338F 81 BC 24 D8 00 00+                cmp     [esp+9F0h+var_918], 19F00h (106240)
--------------------------------------- 2 26BCCh (158668)

и еще одна

получение значения
Код:
.text:0040218D 33 C9                             xor     ecx, ecx
.text:0040218F B8 02 00 00 00                mov     eax, 2
.text:00402194 0F A2                             cpuid
.text:00402196 BE 60 91 41 00                mov     esi, offset dword_419160
.text:0040219B 89 06                             mov     [esi], eax
аналогичная модификация
Код:
.text:004021C6 B8 67 66 66 66                mov     eax, 66666667h
.text:004021CB F7 2D 60 91 41 00           imul    dword_419160
.text:004021D1 D1 FA                             sar     edx, 1
.text:004021D3 8B CA                             mov     ecx, edx
.text:004021D5 C1 E9 1F                         shr     ecx, 1Fh
.text:004021D8 03 CA                             add     ecx, edx
.text:004021E0 03 C9                             add     ecx, ecx
.text:004021E5 03 C9                             add     ecx, ecx
.text:004021E8 89 0D 60 91 41 00           mov     dword_419160, ecx
и проверка
--------------------------------------- 1
Код:
.text:0040427B 81 3D 60 91 41 00+                cmp     dword_419160, 4402AE64h
--------------------------------------- 2 5E691C00h

псевдокод подтверждает написанное rmn

_EAX = 1;
__asm { cpuid }
v231 = _EAX;
_EAX = 2;
__asm { cpuid }
dword_419160 = _EAX;
v231 = 4 * (v231 / 5);
dword_419160 = 4 * (dword_419160 / 5);

одно из значений хранится также еще в одном месте, но обращения к нему не видно
--------------------------------------- 1
Код:
.data:00415F10 00 9F 01 00                       dd 19F00h
--------------------------------------- 2 26BCCh

Если это и действительно вся привязка, то это точно Джо Неуловимый. Наверняка с 2011 неоднократно была сломана под себя, но так как никто не брался барыжить, то автор ничего не менял в "защите".
Скажите пожалуйста с помощью какой программы вы отказываете код что сейчас показали?
 
Верх Низ