FeuerFrei
offline
Опыт:
440Активность: |
Deprotect
Предлагаю вашему вниманию альтернативную версию Deprotect`a.
В этой версии исправлен ряд тупых багов. (исправлено на столько, на сколько это позволил HIEW) Например:
Что исправить не удалось (пока...)
Deprotect почти всегда обламывается на создании бэкапа. (см. Instructions_RUS.txt) Если произведена обфуксация кода, то Deprotect в большинстве случаев обламывается. Deprotect не изменяет путь к файлу “Scripts\war3map.j” т.е. по нормальному нужно было бы убрать “Scripts\”, но он этого не делает. Deprotect сам не создает чистый war3mapUnits.doo файл это приходится делать в ручную. Deprotect коцает файл лист так, что ужас просто… Совет: Сначала восстановите файл лист с помощью проги NETRAT`a, сохраните его, где нить, а потом, только потом, можно давать мапу на съедение Deprotect`y. Теперь расскажу про методы защиты, которые не упомянул\не знал автор проги.
Перво-наперво это конечно перенос строк из war3map.wts > war3map.w3*/j Конечно, это нельзя назвать защитой, но WE после этой операции перестает сохранять карту. Знающие люди с легкостью могут восстановить этот беспредел и вернуть карте нормальный вид. (Почему я не пишу конкретных способов, как снять эту защиту? Но я уверен, что большинство читающих уже знают ответ. Ведь статейка не для нубов:) Во-вторых, перенос всей инфы из .w3* > .slk/.txt
Тут уж по сложнее будет. Дело в том что конверторы оставляют практически пустыми все .w3* файлы, а, как нам известно, едитор читает только .w3* файлы, следовательно, при загрузке он выдаст туеву хучу ошибок типа отсутствует объект или как там по-русски :) Выходов несколько либо вручную переносить все(!) данные из .slk/.txt в редактор объектов (можно напрямую в бинарные файлы через HexEdotor (способ для извращенных мазохистов либо для кулхацкеров)) Способ намбер ту: Взять из архива файл WE_Patch.exe (это MPQ архив, а точнее exe-патч к едитору) при помощи святого ВыньМПКЮ (winMpq) запихнуть туда усе .slk/.txt и запускать едитор этим патчем. Для подробностей смотри Patch_ReadMe.txt Существуют так же метод защиты рельефа (там типа добавляется пару байтов лишних и коцается чето в заголовке)
Устраняется элементарно открытием и сохранением мапы в зефире. (Это не всегда получается. Но можно создать левую карту пихнуть туда рельеф потом пересохранить это через зефир и пихнуть рельеф назад на родину так сказать(под "рельефом" понимается war3map.w3e)) Про удаленный лист файл и т.д. не пишу, ибо это азбука.
Хочу сообщить, что я всерьез занялся созданием своего депротекта, там я задействую все функции, которые не были или были криво задействована в текущей версии депротекта.
Что планируется: 1)снятие обфуксации с кода карты * 2)восстановление wts файла 3)обратный конвертер .slk/.txt > .w3 (он, кстати, уже почти готов) 4)восстановление wtg, wct файлов (то бишь GUI/custom text триггеров)** 5)поддержка WEU/UMSWE** 6)восстановление war3mapUnits.doo 7)восстановление war3map.w3c war3map.w3r war3map.w3i war3map.w3s и т.д. 8)полная переупаковка архива (иногда бывает необходимо) *Пока что только экспериментально, скорее всего будет только снятие «шифровки» с переменных (в смысле приведение их к виду «udg_», «gg_rct_», «gg_unit_» и т.д.) и еще кое какие полезные изменения.
**Я вообщето сомневаюсь на этот счет в том плане, что нужно ли востанавливать GUI вообще. Тогда любой нуб будет способен разобраться, что к чему. Может восстанавливать только custom text версии... Релиза ждите ближе к маю.
Вообще то уже было неоднократно доказано что абсолютной защиты не существует даже вездесущая DotaAllstars легла под мои натиском. :)
Сюда прикреплен RAR архив
Структура каталогов Deprotect\Deprotect.exe Deprotect\Deprotect.txt Deprotect\Instructions.txt Deprotect\Instructions_RUS.txt Deprotect\Patch_ReadMe.txt Deprotect\Readme.txt Deprotect\ReadMe_RUS.txt Deprotect\WE_Patch.exe Deprotect\MapSrc\war3map.j Deprotect\MapSrc\war3map.mmp Deprotect\MapSrc\war3map.w3c Deprotect\MapSrc\war3map.w3r Deprotect\MapSrc\war3map.wct Deprotect\MapSrc\war3map.wtg Deprotect\MapSrc\war3mapunits.doo У дачи в темных делах и помните невозможное возможно… |
19.01.2006, 13:48 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Достойная затея. Мне бы хотелось задать пару вопросов, и первый из них:
1. Депр сделан на базе кода оригинального депра Nathan'a? Цитата:
|
|
19.01.2006, 14:44 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FeuerFrei
offline
Опыт:
440Активность: |
Свой депротект я создаю на собственном движке он совсем новый...
А где ты реализавал slk>w3 конверсию??? FeuerFrei добавил: Я уже реализовал обратные к этим преобразования Просто посмотреть ахота а то у меня бывают конфликты c ID |
19.01.2006, 14:55 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Цитата:
Цитата:
Расслабься и откинься на спинку стула, ибо это истиный, абсолютный маразм! Цитата:
Цитата:
Цитата:
Цитата:
NETRAT добавил: С какими ID конфликты? и какого рода? и вообще на каком языке пишешь? |
||||||
19.01.2006, 15:10 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FeuerFrei
offline
Опыт:
440Активность: |
раэмер war3map.w3a
1 942 488 b но работает он у меня криво :) FeuerFrei добавил: C++ конфликты с ID абилок и бафов там ваще ёжик полный без 100g не разберешся... |
19.01.2006, 15:15 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
2 675 881 b, и, кстати говоря, это еще не все, еще около 3% сверху
что значит криво? варианта 2 - либо работает, либо - нет NETRAT добавил: Ты модификаторы Animation Names как восстанавливаешь? |
19.01.2006, 15:18 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FeuerFrei
offline
Опыт:
440Активность: |
едитор его открывает но если че изменить то усе каюк :susel:
FeuerFrei добавил: [a000] Animnames= |
19.01.2006, 15:25 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Угу, они самые, так с каким ID ты их восстанавливаешь?
Ты неправильно типы данных интерпретируешь - то есть если ты запишешь данные типа unreal как integer, скажем число 1.0, то, это, конечно будет в обоих случаях 1, но, если ты ошибся в типе, то при любой попытке сохранить или экспортнуть файл, получишь вылет редактора, это пройденный этап - с моими файлами эдитор нормально работает. |
19.01.2006, 16:49 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FeuerFrei
offline
Опыт:
440Активность: |
если не трудно покажи как ты сделал это(всмысле конверсию на С++ там или на Delphi, ОООчень интересно) |
19.01.2006, 18:00 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Чесслово - это мегагеморрой. Звиняй, но исходники прислать не могу =\ С++ |
19.01.2006, 18:10 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FeuerFrei
offline
Опыт:
440Активность: |
Да нормально не извеняйся $) просто у меня работа стала на этой стадии={ |
19.01.2006, 18:14 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Ты лучше с триггерами покопайся - я ими не занимался, там поле для простора большое |
19.01.2006, 19:51 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|