Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 20.03.2007, 14:07   #1
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Доброе время суток, Господа.

У меня вопрос чисто теоритического плана по поводу загрузки ресурсов в программу. В частности это связанно с низкой "защито" блитцевских продуктов.

Как можно реализовать загрузку ресурсов с измененными разширениями -
пример - *.x замененным на *.y, но загружаемый как x
или
если в заголовке файла изменены символы. У jpeg, например , первые символы несущие описание формата (JFIF) заменить но xxxxx - я смотрю это достаточно популярная защита - в некоторых играх у всех файлов одинаковое расширение и заголовок.
Но как сделать что бы блитц с ними работал?

зы.В принципе реверсинг все равно возможен, но по крайней мере уже затруднен.
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 17:02   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

???
копировать файл во временную папку, изенять заголовок временного файла, грузить временный файл, удалять временный файл.
помоему блитз загрузит *.x объект как *.x объект даже если у него будет расширение*.y

насчет изменения заголовка
openfile
seekfile
readbyte
writebyte
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 17:39   #3
Черный крыс
 
Сообщений: n/a
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

2 HolyDel - а можно пример....=)
 
Ответить с цитированием
Старый 20.03.2007, 22:50   #4
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

да можно пример?. мне бы счас пригодился. плиз
__________________

(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 22:58   #5
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Сообщение от HolyDel
???
копировать файл во временную папку, изенять заголовок временного файла, грузить временный файл, удалять временный файл.
помоему блитз загрузит *.x объект как *.x объект даже если у него будет расширение*.y

насчет изменения заголовка
openfile
seekfile
readbyte
writebyte
Гм, спасибо. Учтем.
Но идея с временным файлом и у меня была - понятна и проста, соответственно любой пакер нечто подобное делает, но отметена - ибо порочна, это надо делать в памяти - ибо отловить темп не сложно... слишком не сложно.
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 23:21   #6
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Берите любой из 3 десятков пакеров ресурсов для блитц, и не морочьте голову.
Нашли себе проблему на ровном месте

Есть такой пакер товарища Максуса, который распаковывает на лету без создания временных файлов.
Брать здесь http://amt-lab.com
Полную проси у Максуса - своим дает бесплатно.
__________________
(Offline)
 
Ответить с цитированием
Старый 21.03.2007, 12:59   #7
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

дык хочется не только юзать но и понять =)))
Пакеры я юзаю давно... хотел просто посмотреть на др. варианты.
(Offline)
 
Ответить с цитированием
Старый 24.05.2007, 23:19   #8
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Вопрос Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Кстати если надо запаковать контент так шоб никто не нашёл, то вот мои мысли:

MyPack.mpk

имя_запакованного_файла подкаталог_где_он_лежал_вне_архива его_расширение кол-во_байт_в_ём
самоё_содержимое_файла
имя_второго_запакованного_файла подкаталог_где_он_лежал_вне_архива его_расширение кол-во_байт_в_ём
самоё_содержимое_файла
.....
.....
конец_архива


потом читать так:

1. Пропускаем надпись MyPack
2. Читаем имя файла и пишем в переменную ИМЯ
3. Читаем подкаталог и пишем в переменную ДИРЕКТОРИЯ
4. Читаем его расширение и пишем в переменную РАСШ
5. Читаем кол-во байт и пишем в переменную ВЕС
6. Создаём в папке с распаковщиком подкаталог с именем ДИРЕКТОРИЯ
7. Там создаём файл с именем ИМЯ.РАСШ и в него пишем всё пока не доститгнем веса файла ВЕС.
8. ПыДиНа (GoTo) п.2.
9. Если видим надпись конец_архива, то архив распакован. Все щасливы.
10. Запускаем игру.
11. Играем.
12. Удаляем все распакованные файлы.


Но вот как сделать шоп архив не только прятал, но и сжимал, экономя место???
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 01:20   #9
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

новерно раром или зипом обработать
__________________
(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 07:04   #10
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

2Chuma
Расширение это часть имени, оно важно лишь для самой винды, так что неважно какое там расширение стоит. Другое дело - изменение содержимого.
2ABTOMAT
Любая защита основаная на временных файлах - заранее провальная, ничто не мешает во время загрузки копирнуть все твои временные файлы.

Вариант без темповых файлов - подмена таких WAPI функций как CreateFile, ReadFile и др. на свои собственные, в которые можно передать данные из памяти (точнее в функцию ReadFile), и возврат оригинальных функций обратно. Самый простой способ - чтение_в\запись_из процесса с помощью того же WAPI - WriteProcessMemory\ReadProcessMemory.
Т.е. алгоритм таков:
-Находим адреса заменяемых функций из бибиотеки Kernel32.dll
-Читаем из процесса структуру перехода на эту функцию, по найденому адресу и запоминаем ее для дальнейшего восстановления.
-Заполняем структуру перехода, указывая адрес своей функции
-Пишем в процесс структуру перехода со адресом своей функции

Таким образом, когда Блиц будет обращаться к замененным функциям, он будет вызывать ваши функции, в которых уже идет выдача ваших данных.
Из функции CreateFile, можно взять имя файла, который Блиц хочет прочитать. Следовательно по этоум имени находим файл в архиве и экстрактируем его в память.
Из фуункции ReadFile, можно узнать какой файл читаеться и сколько байт нужно передать по указателю - передаем из памяти экстрактируемый файл или его часть.

Вобщем терия такова, на практике немного посложнее, но сделать можно
(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 12:02   #11
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Указатели? Мне кажется это применимо к С++, но в Блице я понятия не имею как взять адрес в памяти, в С++ для этого есть оператор &, но в Блице...
__________________

(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 13:47   #12
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Естественно не в Блице, я про модуль говорю.
(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 13:57   #13
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

А как сделать чтоб Блитз из РАРа или ЗИПа читал?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 25.05.2007, 14:13   #14
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Сообщение от Cyan
2Chuma
Расширение это часть имени, оно важно лишь для самой винды, так что неважно какое там расширение стоит. Другое дело - изменение содержимого.
Это я прекрасно знаю, жаль что блиц тоже на заколовки смотрит..
А так можно было бы ему подсовывать все что угоднооо

30 файлов с одинаковым заголовком "zag olovok..." и ничего незначащими названиями введут в ступор любого.

Не будешь же реально в хексе пробовать перебивать заголовки то на
"Rar!.." или "JFIF" и т.д на все файлы поледовательно.
Естественно часть файлов можно опознать по содержимому, но далеко не все и всегда.. В конечном роде можно их кидать в файл со смещением и с ним же загружать...

По-моему превосходная идея.

Сообщение от ABTOMAT
А как сделать чтоб Блитз из РАРа или ЗИПа читал?
зиповская библиотека ...
http://blitzbasic.com/toolbox/toolbox.php?cat=16

Blitz.ZipApi
(Offline)
 
Ответить с цитированием
Старый 26.05.2007, 10:13   #15
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: LoadAS Загрузка ресурсов с измененными расширениями (заголовками)

Chuma, а для RAR'а такого нету?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_resloader - Экономная загрузка ресурсов odd Библиотеки 17 19.05.2010 01:56
Скрытие ресурсов dector Blitz3D 24 10.08.2008 11:14
FPS Экономия ресурсов -=SCiP=- 3D-программирование 56 17.04.2008 12:40
Менеджер ресурсов dimanche13 BlitzMax 1 12.12.2007 14:11
Еще раз о чистке ресурсов SubZer0 Программирование 1 30.09.2006 11:10


Часовой пояс GMT +4, время: 05:50.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com