![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
-=CHE@TER=- |
![]()
Сообщение
#1
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,371 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 318 раз(а) ![]() |
QUOTE 2020.04.11 note: Original codes found with dictionary attack performed by -=CHE@TER=-. Special thanks to kampaster for first brute-force attack attempt! Hidden commandline argument for hash 0xD95C68A2: FROMINSTALL Hidden word for network chat which triggers developer easter egg quotes for hash 0x72A47EF6: FELTPLAYWORK This topic below contains some historic details for anyone interested. Товарищ Siberian GRemlin, у меня к тебе вопрос, как к знатоку игр Westwood. В первом C&C:RA в исполняемом файле (RA95.EXE - только я не помню, это он такой и был, или я в него RA95.DAT переименовал) есть строчки текста типа таких: QUOTE Denzil L Я так понимаю, что это шуточные цитаты от разработчиков.This would be better on the Mac. Greg H But does it fit into 2 MB? Подумал было, что они есть в титрах - просмотрел их до конца, но ничего не вылезло. Ты не в курсе где и как этот текст в игре выводится? Гуглунием "c&c red alert easter egg quotes" ничего не нашёл. |
![]() ![]() |
-=CHE@TER=- |
![]()
Сообщение
#2
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,371 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 318 раз(а) ![]() |
Так, в теме про The Neverhood подробности написал, теперь давайте здесь закончим.
Короче, в начале недели написал мне Corvin, что нашёл какой-то CD с Exhumed Demo. Я было подумал, что там какая-то особенная версия, но оказалась, что она уже известна. Как он потом объяснил, это для людей которые хотят эстетики - не просто скачать откуда-то демо-версию, а взять её с оригинального диска... Нда... ну, не важо. Помимо этого там были демки и других игр, в том числе C&C:RA1. Заглянул я, значит, демку RA1 посмотреть, а там, ох-ты-ж-охренеть-просто, остались дебажные символы с именами переменных и функций от Watcom. Я не смог пройти мимо такого подарка и загрузил всё это дело в IDA. Увы и ах, игра безвозвратно изуродована классами и прочими объектами, так что код практически не восстанавливается толком. Зато я теперь знаю что функция считающая хеш от строк называется Obfuscate(). Мелочь, а приятно, да. Но ещё я обнаружил, что она, помимо тех уже известных двух хешей, считает хеши и от трёх массивов, которые тоже используются как слова из командной строки (в полной версии их не было). Вот эти списки с оригинальными именами взятые из дебажных символов игры, а также строки для них подобранные атакой по словарю: CODE PlayCodes[] Сразу оговорюсь, что режимы Play и Cheat ничем не отличаются по коду (возможно, когда-то и были разные), а вот Editor не запускается, ибо требует файл сценария какой-то (возможно, в этом режиме игра грузит их из каталога, а не из .MIX архива).E0792D6D SONY 90046ECF ANTHRAXROCKAWAY C3EE9A26 FUNK ED382178 SLICK CheatCodes[] A0E2AB53 JUPITER 00532693 NATE 7DDFF824 PASSWORD 2CB5CF01 CHEATER // (*улыбается*) B5B63531 BLUB DFABC23A ADEN или ATEN (ещё можно ADUN или ATUN) 52B19A22 NUKE BE79088C EARTHIMPROVED B216AE7E SPOON 0E07B213 CARPET // см. ниже EditorCodes[] A2C09326 BUILD 1F944BB3 MOBIUS DE07154D CYCLONE 0E07B213 CARPET // да, тот же самый код - он одновременно включает режимы Cheat и Editor 16B170B1 EDITOR Да, демка на современном компьютере запускается весьма неохотно, так что нужно несколько приседаний сделать: CODE RA95.EXE // set framerate to 60 FPS 001AC080: 53 B8 001AC081: 51 3C 001AC082: 52 00 001AC083: 56 00 001AC084: 57 00 001AC085: B8 C3 И заменить файл THIPX32.DLL такой пустышкой (скомпилировать перед этим), иначе оно будет пытаться вызвать какие-то функции в ядре системы, которых на Windows XP уже нет (в демке игры по сети всё равно нет, так что не страшно что заглушка очень тупая и внутреннему формату не соответствует): CODE library THIPX32; А ещё в файле "REDALERT.INI" добавить:function _Thipx_ThunkData32: integer; begin result:=1; end; function _IPX_Initialise: integer; begin result:=1; end; function _IPX_Open_Socket95: integer; begin result:=1; end; function _IPX_Close_Socket95: integer; begin result:=1; end; function _IPX_Get_Connection_Number95: integer; begin result:=1; end; function _IPX_Send_Packet95: integer; begin result:=1; end; function _IPX_Broadcast_Packet95: integer; begin result:=1; end; function _IPX_Get_Local_Target95: integer; begin result:=1; end; function _IPX_Start_Listening95: integer; begin result:=1; end; function _IPX_Shut_Down95: integer; begin result:=1; end; function _IPX_Get_Outstanding_Buffer95: integer; begin result:=1; end; exports _Thipx_ThunkData32, _IPX_Initialise, _IPX_Open_Socket95, _IPX_Close_Socket95, _IPX_Get_Connection_Number95, _IPX_Send_Packet95, _IPX_Broadcast_Packet95, _IPX_Get_Local_Target95, _IPX_Start_Listening95, _IPX_Shut_Down95, _IPX_Get_Outstanding_Buffer95; end. CODE [Options] Чтобы оно в 640x480 запускалось, ибо у меня монитор 640x400 не поддерживает.Resolution=yes В отличие от The Neverhood здесь из-за хитровыделанного алгоритма ничего оптимизировать особо не получилось, поэтому разбив на 4 ядра пришлось ждать все 6+ часов, пока оно отбрутфорсится. Искал, как нетрудно догадаться, хеши для 90046ECF и BE79088C, но заодно и уже известные два решил тоже забрутфорсить - раз всё равно считается, то что добру пропадать, верно? Хеш 90046ECF - смешной. Не любите Anthrax? Пожалуйста, есть Nirvana: 90046ECF NIRVANAERRANT 90046ECF NIRVANASBRAKY 90046ECF NIRVANASFRAGS Nirvana не нравится? А, может, вы в Worms играете? 90046ECF FIREARMEDBANANA И в Worms не играете? Ну, есть тогда несколько экзотических, на выбор: 90046ECF RAINERAMULET 90046ECF JAILOREXPRESSWAY 90046ECF BAILOREXPRESSWAY Для BE79088C, кстати, было ещё одно нормальное (более или менее) совпадение - EUROPESAPLING. Что касается кодов, про которые мы говорили в этой теме ранее, то, например, у кода для пасхального яйца тоже было много совпадений, но все дурацкие. Вот ещё несколько, если интересно: 72A47EF6 NONPRIZABLE // да и не надо - я человек скромный 72A47EF6 NONPROFITGOD // эх, какой код хороший (погуглите с запросом "новости взаимное безвозмездное одаривание" без кавычек) 72A47EF6 NORTHGLOOMS // ну, а что вы хотите - тут холодно и дни короткие 72A47EF6 ELECTROCONTRACTILITYCHECKROLL // приз за самое длинное словосочетание Тот старый хеш командной строки интересен тем, что когда для других сотни совпадений (в файле с результатами практически 2 тысячи строк), то для D95C68A2 их было, натурально, всего 10: D95C68A2 CYAATHIAHIELAMEN D95C68A2 FRAGORJAMBING D95C68A2 FRAZEDBOLIMBA D95C68A2 FRISONNUCLEOLATE D95C68A2 FROMINSTALL D95C68A2 FROWSHOMOGENIES D95C68A2 FRUGALLYPIMLICO D95C68A2 OFFENSELESSNESSENCLARET D95C68A2 ORLEANSCONVIVIALIZE D95C68A2 RABBINATEPERLING Такие дела. Теперь по хешам уже точно всё. Если, конечно, не объявится кто-нибудь из разработчиков игры и не заявит, что код для хеша 72A47EF6 от пасхального яйца на самом деле был BOLDLYSIXTEEN или DADDYRAISING. (*улыбается*) |
![]() ![]() |
Упрощённая версия | Сейчас: 30th April 2025 - 23:53 |