![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Кто умеет работать с MPQlib.dll или у кого есть исходники программ для открытия MPQ
Попытался использовать библиотеку - что-то не получается. Может кто уже работал или есть исходники рабочих программ. Хочу попытаться влезть в архив и реализовать некоторые фичеры, но поскольку инструментов для открытия архивов нет, то ничего не могу сделать...
Как открыть MPQ программно? (я не собираюсь писать новые функции для работы с MPQ, я просто хочу ими воспользоваться) |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
zibada
![]() offline
Опыт: отключен
|
у меня есть самодельные консольный архиватор + плагинчик под FAR MultiArc (для которого, собственно, отдельный архиватор и делался) для работы с MPQ через винмпкушную SFMpq.dll...
могу в приват с исходниками кинуть (MSVC++ 6.0), в открытую это глюкалово публиковать не хочу. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
DimonT кидай, интересно посмотреть, ибо сколько я не геморрился, либо длл кривая, либо руки... Я хотел сделать load-time подключение библиотеки, но, что-то нифика не получалось, а для run-time мне очень вломы ковыряться с указателями(хотя начало было положено, некоторые функции работали)
NETRAT добавил: Вообще говоря я уже сделал то что мне нужно было другим способом =) , но тем не менее хотелось бы глянуть |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
Ищи SFmpq.dll. Автор - тот же, кто и сделал WinMPQ. |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
RaZ да фик с нею, я просто хотел ломалку сделать, которая опознает и восстанавливает типы файлов из запротекченных карт, но это ручками не так уж и сложно сделать
|
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
NETRAT
Тогда тебе другое надо :) Это все - библиотеки альтернативные близзардовскому storm.dll. Эту библиотеки использует сама игра, поэтому все, что сможет открыть игра, сможет открыть и редактор, сделанный на основе storm.dll. А такие есть. |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
zibada
![]() offline
Опыт: отключен
|
я делал такую штуку..
скрипт анализировал содержимое основных файлов карты (*.w3*), выцепляя оттуда все возможные строки, хоть как-то напоминающие имя файла, и генерил из этого листфайл, который затем скармливался архиватору. (разумеется, так не поймать имена, генерирующиеся скриптом карты динамически, но это редкий случай) испытывал все это на доте 6.13 - после анализа нераспознанными остались 16 файлов из 127 неизвестных ранее... DimonT добавил: RaZ формат MPQ создан с таким расчетом, что открыть файл, по идее, можно лишь точно зная его имя. например, файловый блок в mpq шифруется ключом, полученным из хэша имени. если имя, и соответственно, ключ неизвестнен, его можно попробовать угадать, что всякие SFmpq.dll и прочие и делают, показывая на месте таких файлов ~unknown/ + позицию в хэш-таблице. как в большинстве случаев легко отгадывается неизвестный ключ, а также много чего интересного про MPQ можно прочитать здесь. |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
DimonT угу, я примерно так и шифровал длл инсталляшки для Инсталлера - не зная имя файла и размер, фик ты его оттуда вытащишь.
Доту в-общем то можно ручками опознать, просто что 127 файлов конечно за*ся ручками. Ну вот я такую и хотел сделать, ну да решил фик с ней, если надо ручками опознаю, а так только время терять. Просто что узнал как устроены MPQ |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
DimonT
Я не понял, ты с этим (ниже) не согласен? :) Цитата:
|
|
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
zibada
![]() offline
Опыт: отключен
|
с этим согласен.
но игра не умеет, например, строить список файлов в произвольном архиве. в то же время, это обязательная функция любого стороннего архиватора.. |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
DimonT
По-любому её средств хватит, чтобы извлечь все что требуется из запротекченного архива. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Raz очевидно. А у тебя список функций к ней есть?! +) вопрос риторический
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
NETRAT
Цитата:
Наизусть не помню :D Ищи в тырнете. Отредактировано Raz, 11.10.2005 в 23:14. |
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
tysch_tysch
Работаем
![]() ![]()
online
Опыт: отключен
|
тырнет большой=) |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
По идее должен быть в описании MPQ от Quantum'а. Но я его до конца так ниразу и не дочитал, поэтому проверь... :) |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Raz вломы. Кстати Депротектор прога очень слабая ибо старая, однако аналогов я не видел - то есть почуму-то никто не написал больше взломщиков
|
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
NETRAT
Потому что ты никак не восстановишь инфу о триггерах (а именно это надо абсолютному большинству; те же, кто достаточно разбираются в jass, и сами безо всяких депротекторов смогут все достать) по обфусцированному коду, а этот метод стремительно набирает популярность. |
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
NETRAT
![]() ![]() offline
Опыт:
83,712Активность: |
Raz есть такая хрень... Однако, я полагаю что обратный ход тоже существует, просто что автоматизация этого самого "хода" займет слишком много времени и сил. Обфускация это отдельная тема...
оФФтопим |
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Raz
Click here!
![]() offline
Опыт:
5,714Активность: |
NETRAT
Нету обратного хода. Названия не шифируются все-таки, а заменяются совершенно рандомными наборами символов. Конечно, защиты на уровне MPQ и многие другие обойти можно, но восстановить GUI-структуру триггеров не получится. |
![]() |
#19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|