PDA

Просмотр полной версии : Sprinter: нужна помощь



Juge (GodFather)
20.04.2010, 23:06
Некоторое время назад эмуляция единственной игры для Спринтера сдвинулась с мертвой точки - Саша Шабаршин, после долгих уговоров, взялся за эмуляцию проекта "Thunder In The Deep". Нашли завалявший ЦД с игрой. Но... Нашла коса на камень. При инсталляции игра требует ввода кода и соответственно зашифрована с учетом уникального номера компа, на который ставится. Это конечно смешно, но у авторов не сохранилось ни одного исходника. Как чего делалось тоже поросло мхом.
Вопрос: нужно сломать эту пресловутую защиту, чтобы уже заэмулить саму игру. Для этого прикладываю модифицированный эмулятор и то, что было на игровом ЦД. То, что получится нужно отдать мне или Саше - и вперед, к светлому будущему эмулятора Спринтера :)

Это то, что писал Саша:
---
mk.bat собирает под дос (нужен ватком), а c_mk.bat собирает под винду (нужна студия с SDL либами и инклудниками)
последний код собран под линукс (sprint), а sprint.exe - старый, если надо под винду новый, то можно пересобрать - все исходники там же - mk.bat собирает под дос (нужен ватком), а c_mk.bat собирает под винду (нужна студия с SDL либами и инклудниками)
в disk каталоге лежат "проинсталлированные" TITD.EXE и TITD.PAK (в котором если открыть в хексе видна графика) - EXE не запускается, т.к. он начинает делать какие-то неведомые мне пертурбации причём экран остаётся чёрным (кстати у кого есть реальный спринтер - возможно заработает)
---

Как один из авторов прошу помощи и даю свое полное согласие на ломание защиты сего проекта :v2_thumb:

Файл лежит тут:
http://rapidshare.com/files/378143333/sprint-thunder.zip.html

savelij
21.04.2010, 00:56
Некоторое время назад эмуляция единственной игры для Спринтера сдвинулась с мертвой точки - Саша Шабаршин, после долгих уговоров, взялся за эмуляцию проекта "Thunder In The Deep". Нашли завалявший ЦД с игрой. Но... Нашла коса на камень. При инсталляции игра требует ввода кода и соответственно зашифрована с учетом уникального номера компа, на который ставится. Это конечно смешно, но у авторов не сохранилось ни одного исходника. Как чего делалось тоже поросло мхом.
Вопрос: нужно сломать эту пресловутую защиту, чтобы уже заэмулить саму игру. Для этого прикладываю модифицированный эмулятор и то, что было на игровом ЦД. То, что получится нужно отдать мне или Саше - и вперед, к светлому будущему эмулятора Спринтера :)

Это то, что писал Саша:
---
mk.bat собирает под дос (нужен ватком), а c_mk.bat собирает под винду (нужна студия с SDL либами и инклудниками)
последний код собран под линукс (sprint), а sprint.exe - старый, если надо под винду новый, то можно пересобрать - все исходники там же - mk.bat собирает под дос (нужен ватком), а c_mk.bat собирает под винду (нужна студия с SDL либами и инклудниками)
в disk каталоге лежат "проинсталлированные" TITD.EXE и TITD.PAK (в котором если открыть в хексе видна графика) - EXE не запускается, т.к. он начинает делать какие-то неведомые мне пертурбации причём экран остаётся чёрным (кстати у кого есть реальный спринтер - возможно заработает)
---

Как один из авторов прошу помощи и даю свое полное согласие на ломание защиты сего проекта :v2_thumb:

Файл лежит тут:
http://rapidshare.com/files/378143333/sprint-thunder.zip.html

А какой призовой фонд? ;):p

Sayman
21.04.2010, 06:29
так вроде ж гдето была распакованная и проинсталенная игра, разве её никак не запустить? хотя я могу и ошибаться конечно...

Juge (GodFather)
21.04.2010, 07:43
Это она и есть. Но перед инсталяцией надо сломать :-\

---------- Post added at 07:43 ---------- Previous post was at 07:40 ----------


А какой призовой фонд? ;):p

Пиво с авторами :) :v2_cheer:

savelij
21.04.2010, 19:32
Вопрос что возвращает следующий код в досе в регистрах HL и A?
LD BC,#1ED
RST 8

Juge (GodFather)
21.04.2010, 20:08
Это биос
функция FN_CRIPT
возвращает код материнской платы
эмуль копирует мой спринтер, соответственно возвращает мой код:
A = 0x00
HL = 0x0014
DE = 0x47E8
BC = 0x5281
estex.cpp строчка 1034 :)

savelij
21.04.2010, 20:40
estex.cpp строчка 1034

Так я туда и не пытался смареть ибо не шарю ни разу :D

Не знаю что получилось, но попробуй вот это запустить. Я фиг ее знает чо там далее будет или должно быть. Расскажешь что вышло?

CHRV
22.04.2010, 10:38
У Дениса Паринова были исходники игры. Когда последний раз с ним общался (лет пять назад) он мне их не отдал (типа авторские права у Петерсов). Сейчас все кто занимался Спринтером уже не работает в Петерсах, наверняка можно забрать.
Кстати Ден работал с Шабаршином тогда в одной конторе, наверняка можно найти Дена через Виталика Видмирова или Антона Енина - они все вместе тогда работали в одной шаражке.
А эмуль полный как бы сказать кал, даже im2 проца не эмулирует - изза чего Клад например не работает, уж лучше анрыл подтянуть.

VELESOFT
23.04.2010, 19:36
Here is full version of TITD game for SPRINTER 2000. TXT file with serial number included.

http://velesoft.speccy.cz/sprinter-cz.htm

Juge (GodFather)
23.04.2010, 22:58
У Дениса Паринова были исходники игры. Когда последний раз с ним общался (лет пять назад) он мне их не отдал (типа авторские права у Петерсов). Сейчас все кто занимался Спринтером уже не работает в Петерсах, наверняка можно забрать.
Кстати Ден работал с Шабаршином тогда в одной конторе, наверняка можно найти Дена через Виталика Видмирова или Антона Енина - они все вместе тогда работали в одной шаражке.
А эмуль полный как бы сказать кал, даже im2 проца не эмулирует - изза чего Клад например не работает, уж лучше анрыл подтянуть.

У Дениса исходников нет и никогда не было. Слова из первых уст - мы сейчас с ним работаем по проектам на ПЦ.
У Антона и Виталика они были - но закончились. Тоже из первых уст.
Другого эмуля нет - надо сделать хотя бы чтобы на чем-то работало. Потом можно поддержать где хочешь.

Задача - попробовать запустить ломанного Тюндера на другом Спринтере, чтобы понять, сломана защита или нет. Если сломана - то эмулить дальше... А там есть что поэмулить.

Shaos
26.04.2010, 08:56
Here is full version of TITD game for SPRINTER 2000. TXT file with serial number included.

http://velesoft.speccy.cz/sprinter-cz.htm

Unfortunately your serial number depends on code of your particular motherboard, so it will not work on any other Sprinter...

Sayman
05.02.2020, 07:05
собственно, не некропостинг, но таки спустя xxx лет я обеззащитил игру. Когда запустил своего 2016го Спринтера, ранее установленный Тюндер не хотел работать из-за неверного серийника в пзу. Вместо того, что бы прошить серийник, я посидел пару часов над дебагом и сделал этот архивчик. в нём игра и ей совершенно плевать на ваши серийники зашитые в пзу. хотел ещё было интру (типа кряктру) прикарячить. но не эффектописатель я (сорян).
Ранее выложенная якобы ломанная версия от Савелия по факту не рабочая.

71445

Shaos
29.11.2020, 05:33
Файл лежит тут:
http://rapidshare.com/files/378143333/sprint-thunder.zip.html
ни у кого копии не завалялось? я посеял :(
мне PAK-файл нужен чтобы поглядеть на крякнутую версию ;)

Shaos
29.11.2020, 09:50
Удалось в своём эмуле проинсталлировать с дистрибутива воспользовавшись серийником Велесофта:

https://zx-pk.ru/attachment.php?attachmentid=74065&d=1606627910

Может кто-то подтвердить, что у меня получились правильные EXE и PAK?


> ls -l TITD.*
-rw-r--r-- 1 shaos shaos 14119 Nov 28 21:14 TITD.EXE
-rw-r--r-- 1 shaos shaos 917504 Nov 28 21:14 TITD.PAK

>md5sum TITD.EXE
19a09db4d4db3cc714822feacef136eb TITD.EXE

>md5sum TITD.PAK
1f912e28e77f289e373889c71df7d593 TITD.PAK


Разница между оригинальной и крякнутой версией EXE-шника:


< 00000010 00 b0 00 b0 ff bf 18 12 20 28 63 29 32 30 30 33 |........ (c)2003|
< 00000020 20 44 65 76 69 61 6e 74 73 20 01 c5 09 21 23 b0 | Deviants ...!#.|
< 00000030 7e ad 77 23 0d 20 f9 05 20 d5 25 90 2f 06 1b 99 |~.w#. .. .%./...|
< 00000040 53 85 5b 0e 23 0f c9 34 12 70 81 23 8d a7 cb 26 |S.[.#..4.p.#...&|
< 00000050 ed 38 e7 b5 99 b6 11 e3 c4 b5 b9 64 c9 4e 69 10 |.8.........d.Ni.|
< 00000060 fa 35 b1 e0 49 b2 fc 26 71 ae 79 75 a2 aa 7d 42 |.5..I..&q.yu..}B|
< 00000070 28 c2 e2 0a d0 ef e8 5d b6 34 13 fb db f3 ea 82 |(......].4......|
< 00000080 eb 10 84 1c e6 d0 f1 6b 38 a2 40 8e d0 2e 27 54 |.......k8.@...'T|
< 00000090 fd 68 7b 96 ec fc a6 d1 f9 d5 c7 98 0b 6e 28 cb |.h{..........n(.|
< 000000a0 b5 37 dc f0 e5 71 04 f3 63 b3 4f e8 4e d8 13 07 |.7...q..c.O.N...|
< 000000b0 3a 90 83 b5 e1 09 28 c8 61 f4 e7 9b e6 f6 95 6f |:.....(.a......o|
< 000000c0 82 85 91 03 4f ca 3c 73 d8 0f f7 d9 b7 1f f9 0f |....O.<s........|
< 000000d0 0a e2 e3 09 47 70 45 30 2b 44 07 46 88 9d a6 f1 |....GpE0+D.F....|
< 000000e0 e7 6f 21 12 6e 24 d9 e5 56 81 e8 ec ec 32 cf 9e |.o!.n$..V....2..|
< 000000f0 0d 79 6d 7d f5 bd 29 dc 96 79 09 b9 eb c4 32 4d |.ym}..)..y....2M|
< 00000100 13 a4 20 f5 41 13 d0 12 9a 6c 54 58 32 8d 33 d7 |.. .A....lTX2.3.|
< 00000110 9e 97 bc 4a 6d 80 bf f6 03 15 9b d5 63 9c dc 72 |...Jm.......c..r|
< 00000120 0d fd c8 c7 0a 63 46 fb 8e d8 97 99 2c 50 d3 71 |.....cF.....,P.q|
< 00000130 87 c7 a5 8c e0 ce 72 8f 5c 4e ca 39 2f a7 e5 11 |......r.\N.9/...|
< 00000140 ee a4 98 69 2d cd 37 54 ff 21 11 14 47 73 a8 ec |...i-.7T.!..Gs..|
< 00000150 a4 ac dd 64 ee 36 c3 d6 ed c2 62 80 1e e8 4a c1 |...d.6....b...J.|
< 00000160 74 62 ec a2 54 eb b3 e3 7a 31 2e dc 4f 3d 5b d7 |tb..T...z1..O=[.|
---
> 00000010 00 b0 00 b0 ff bf dd 7e fd 32 b6 b0 af 21 07 00 |.......~.2...!..|
> 00000020 da 94 b0 22 b7 b0 32 b9 b0 21 bb b0 11 04 00 0e |..."..2..!......|
> 00000030 13 3a b6 b0 d7 21 00 80 11 00 30 0e 13 3a b6 b0 |.:...!....0..:..|
> 00000040 d7 38 6c d5 3a b6 b0 0e 12 d7 d1 dd 21 b7 b0 dd |.8l.:.......!...|
> 00000050 7e 00 ee 55 dd 77 00 dd 7e 01 ee ae dd 77 01 dd |~..U.w..~....w..|
> 00000060 7e 02 ee 43 dd 77 02 dd 7e 03 ee 32 dd 77 03 21 |~..C.w..~..2.w.!|
> 00000070 00 80 d9 97 6f 67 4f 47 57 d9 7e dd ae 00 ad 77 |....ogOGW.~....w|
> 00000080 d9 5f 19 30 01 03 d9 3a 67 b0 3c e6 03 32 67 b0 |._.0...:g.<..2g.|
> 00000090 23 1b 7a b3 20 e4 d9 eb 2a bb b0 b7 ed 52 20 14 |#.z. ...*....R .|
> 000000a0 2a bd b0 ed 42 20 0d c3 00 80 21 f4 b0 18 08 21 |*...B ....!....!|
> 000000b0 0c b1 18 03 21 22 b1 e5 21 bf b0 0e 5c d7 e1 0e |....!"..!...\...|
> 000000c0 5c d7 3a b6 b0 0e 12 d7 01 41 ff d7 02 00 00 00 |\.:......A......|
> 000000d0 00 00 00 00 00 0d 0a 54 68 75 6e 64 65 72 20 69 |.......Thunder i|
> 000000e0 6e 20 74 68 65 20 44 65 65 70 2e 20 43 6f 70 79 |n the Deep. Copy|
> 000000f0 72 69 67 68 74 20 28 43 29 20 32 30 30 33 20 44 |right (C) 2003 D|
> 00000100 65 76 69 61 6e 74 73 0d 0a 00 49 6e 76 61 6c 69 |eviants...Invali|
> 00000110 64 20 62 69 6f 73 20 76 65 72 73 69 6f 6e 21 0d |d bios version!.|
> 00000120 0a 00 44 69 73 6b 20 6c 6f 61 64 69 6e 67 20 65 |..Disk loading e|
> 00000130 72 72 6f 72 2e 0d 0a 00 49 6e 76 61 6c 69 64 20 |rror....Invalid |
> 00000140 73 65 72 69 61 6c 20 6e 75 6d 62 65 72 21 20 50 |serial number! P|
> 00000150 6c 65 61 73 65 20 72 65 67 69 73 74 65 72 21 0d |lease register!.|
> 00000160 0a 00 ec a2 54 eb b3 e3 7a 31 2e dc 4f 3d 5b d7 |....T...z1..O=[.|


но чото пока не взлетает:

https://zx-pk.ru/attachment.php?attachmentid=74066&d=1606629179

- - - Добавлено - - -

Попатчил немного - заменил JR NZ,offset на пару NOP-ов в двух местах в titd_cr1.exe и получил titd_cr2.exe (см. ZIP внизу):


< 00000090 23 1b 7a b3 20 e4 d9 eb 2a bb b0 b7 ed 52 20 14 |#.z. ...*....R .|
< 000000a0 2a bd b0 ed 42 20 0d c3 00 80 21 f4 b0 18 08 21 |*...B ....!....!|
---
> 00000090 23 1b 7a b3 20 e4 d9 eb 2a bb b0 b7 ed 52 00 00 |#.z. ...*....R..|
> 000000a0 2a bd b0 ed 42 00 00 c3 00 80 21 f4 b0 18 08 21 |*...B.....!....!|

Теперь идёт дальше - загрузка палитр и т.д. (но в моём эмуле пока чёрный экран)

Shaos
30.11.2020, 01:07
Судя по всему в моём TITD.PAK размером 917504 байта лишние полтора килобайта в конце - на самом деле этот файл должен быть длиной 916055 байт, а так первые 916055 байта у моего файла и правильного файла, полученного от двух разных людей, совпадают - теперь проблема только запустить игру на эмуляторе :)

Sayman
30.11.2020, 08:59
как я ломал TITD:
в эмуляторе zxmak2 загрузил exe файл и поставил точку останова на адрес старта. файл был заксорен. перед ксоркой стоял вызов биоса, функция 0xED. соответственно, если board-id был не верный, то invalid board-id с выходом в дос. При этом если игнорить ошибку и продолжать расксоривать, то бинарь получался битый и не рабочий. поэтому зная board-id Велесофтовского компа я расксорил файл и получил чистый бинарь. из него так же выкосил опрос биоса на предмет board-id. сохранил его. написал новый загрузчик с прикрученным (склеенным) бинарником игры. профит. на реальном спринтере cr1 работает без проблем.

поэтому бинарно оригинальный файл и cr1 будут сильно отличаться.


7408074081

Freiwind
30.11.2020, 15:32
А есть где уже готовое, ломаное, чтобы не мучиться со всей этой фигней? :)

Sayman
30.11.2020, 16:29
А есть где уже готовое, ломаное, чтобы не мучиться со всей этой фигней? :)
https://www.dropbox.com/s/sfsfpvpcefflzoo/titd.zip?dl=0
там 3 файла exe
titd.exe - оригинал
ну два остальных 2 варианта кряка.

Doronetty
01.12.2020, 23:18
Надо же, настоящий эмулятор Спринтера! Только так и не нашёл, где его скачать... Или ещё не было релизов?

Shaos
02.12.2020, 02:32
Надо же, настоящий эмулятор Спринтера! Только так и не нашёл, где его скачать... Или ещё не было релизов?

Да это всё тот же старый добрый SPRINT, который эмулирует точки входа BIOS/DSS без образов самих ромов и кое-какое железо типа расширенной графики и акселератора - новое местоположение (и новое название) эмуля ( ссылка кстати была прямо в скриншоте : )

https://gitlab.com/nedopc/zpring

Но мне тут говорят, что все современные спринтеристы пользуются эмулятором ZXMAK2, который чуть лучше эмулирует железо Спринтера (но естественно не альтеру) и работает прямо с образами прошивок биоса и эстекса :v2_confu:

https://github.com/zxmak/ZXMAK2

(за последними версиями сборок и конфигов оного обращайтесь к Sayman-y)