![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
Требуются программисты на Си (ковыряние чужих исходников на языке, являющимся близкой производной Си) и реверс-инженеры (ковыряние чужого экзешника, откомпилированного с Си, и ничем не защищенного и не запакованного). Также приветствуются любые люди, умеющие писать распаковщики под хитрые деф-подобные форматы файлов.
Тема проекта: http://forum.df2.ru/index.php?showtopic=8422&st=220 -------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#2
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
я могу исходники анализировать
|
|
|
![]()
Сообщение
#3
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
Одним программистом там не обойдешься - слишком много кода.
Плюс нужен человек, который напишет распаковщик местных дефов. О которых неизвестно ничего, кроме того что это некий .bmp-подобный формат, склеенный кадр за кадром в длинную пленку. Наконец, каждый кадр (как и часть не-дефообразной графики) хранится в загадочном формате RLE, который ничем не открывается. Рождаются предположения о родстве этого формата со стандартным RLE, который является в свою очередь разновидностью BMP. Однако местные RLE никакими известными редакторами не открываются. Остальная часть графики (причем достаточно большая) хранится в BMP, поэтому остается еще надежда, что разработчики не стали особо мудрить и основали прочие форматы на BMP. -------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#4
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
ну думаю формат я расшифрую, а потом и прогу составить можно
|
|
|
![]()
Сообщение
#5
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
Давай свое мыло в личку, пришлю образцы обычного .RLE и .MMP (склеенные RLE)
-------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#6
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Я тоже могу поучаствовать. Темы как раз интересные. Правда, времени мало.
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#7
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
Могу сразу предложить задание - вскрытие игрового архива с графикой, единственное что пока не удалось распаковать. Точнее, его не распаковывать нужно, - это один гигантский деф, - требуется написать редактор, который позволит его изменять, вытягивая координаты нужных массивов картинок из прилагающихся в обилии .RLE файлов (как выяснилось, в них содержится лишь раскадровка анимации, а сами кадры хранятся в одном большом файле).
-------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#8
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Попробую.
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#9
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
См. личку - отпиши свой ящик на gmail или заведи себе, если нет. Вышлю со своего рип игры на 400 Мб без видео и реплик юнитов на испанском, но со всем остальным, и свои соображения по поводу организации данных. Все, кроме вызывающих затруднение архивов, распаковано и разложено так, чтобы игра находила данные и работала.
-------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#10
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
Это содержимое плагина экстрактора на Яве для PAK файлов игры
Код import java.io.File; public class Plugin_PAK_HMMSYS extends ArchivePlugin { public Plugin_PAK_HMMSYS() { name = "PAK_HMMSYS"; canRead = true; canWrite = false; canReplace = false; canRename = false; allowImplicitReplacing = true; games = (new String[] { "Rising Kingdoms" }); extensions = (new String[] { "pak" }); columns = Archive.getColumns(); } public int getMatchRating(FileManipulator filemanipulator) { int i; i = 0; if(filemanipulator.getExtension().equals(extensions[0])) i += 25; if(filemanipulator.readString(15).equals("HMMSYS PackFile")) i += 50; filemanipulator.skip(17); int j = filemanipulator.getLength(); ArchivePlugin.check; if(FieldValidator.numFiles(filemanipulator.readIntL())) i += 5; ArchivePlugin.check; if(FieldValidator.length(filemanipulator.readIntL(), j)) i += 5; return i; Throwable throwable; throwable; return 0; } public Resource[] read(File file) { Resource aresource[]; addFileTypes(); FileManipulator filemanipulator = new FileManipulator(file, "r"); filemanipulator.skip(32); int i = filemanipulator.readIntL(); ArchivePlugin.check; FieldValidator.numFiles(i); filemanipulator.skip(4); int j = filemanipulator.getLength(); aresource = new Resource[i]; WSProgressDialog.loadProgress(i); String s = ""; for(int k = 0; k < i; k++) { int l = filemanipulator.readByteU(); int i1 = filemanipulator.readByteU(); int j1 = l - i1; String s1 = ""; if(i1 > 0) s1 = s.substring(0, i1); s1 = s1 + filemanipulator.readString(j1); s = s1; int k1 = filemanipulator.getOffset(); byte byte0 = 4; int l1 = filemanipulator.readIntL(); ArchivePlugin.check; FieldValidator.offset(l1, j); int i2 = filemanipulator.getOffset(); byte byte1 = 4; int j2 = filemanipulator.readIntL(); ArchivePlugin.check; FieldValidator.length(j2, j); aresource[k] = new ReplacableResource(file, s1, l1, k1, byte0, j2, i2, byte1); WSProgressDialog.setProgress(k); } filemanipulator.close(); return aresource; Throwable throwable; throwable; Plugin.logError(throwable); return null; } А вот описание: Код // The filenames are stored so that directory names etc are reused, thus minimising repeats.
// To determine the filename, take the first "Previous Filename Reuse Length" chars of the // filename of the previous file, and append the "Filename Part" to it. // In other words, if a directory repeats, you would keep the first X bytes of the previous // file and just append the actual name of the file. 16 - Header ("HMMSYS PackFile" + (byte)10) 4 - Unknown (26) 12 - null 4 - Number Of Files? 4 - Directory Length [+40 archive header] // for each file 1 - Filename Length 1 - Previous Filename Reuse Length X - Filename Part (length = filenameLength - previousFilenameReuseLength) 4 - File Offset 4 - File Length X - Padding (repeating 153,121,150,50) until first file offset X - File Data -------------------- |
|
|
![]()
Сообщение
#11
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
Хм. Никогда даже не думал, что все это в Яве хранится открытым кодом. Я думал, такие вещи компилируются...
А как насчет проблемных файлов? -------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]()
Сообщение
#12
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
файлы действительно компилируються....
файл карт - формат не ясен, не за что зачепиться большой файл - тоже не понятен, надо смотреть отдельно для каждого RLE -------------------- |
|
|
![]()
Сообщение
#13
|
|
![]() Immortal Сообщений: 2 359 Спасибо сказали: 461 раз ![]() |
В смысле - действительно компилируются? Куда компилируются? Зачем компилируются?
RandomMap.pak - единственный и неповторимый. Есть у него собратья в первых двух частях игры, могу прислать. Возможно, тебе также помогут обрезки от главного архива графики предыдущих частей... Быть может, тебе стоит-таки раскопать в сусеках игру, поставить ее и трассировщиком посмотреть, что же игра делает с файлами? Экзешник-то ничем не защищен от отладки... Или в SoftIce запустить игрушку и инструкция за инструкцией смотреть, чем игра страдает во время загрузки карты... -------------------- Бак, ты чего? Усмотрел в моём сообщении крамолу? ;)
hippocamus Руки бы тебе отрезать за такие предложения по тактике и балансу. И клизму с патефонными иголками. Бак |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 16 June 2025 - 16:42 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|