|
Основной форум Сюда все проблемы связанные с программированием. |
27.12.2008, 01:37
|
#1
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Защита содержимого JAR файла от распаковки
Где-то видел программы.. и инфу, что встроенный в java распаковщик игнорирует некоторую часть заголовка архива, если ее удалить, то стандартными архиваторами файлы из архива не распакуются, но java их примет..
Кто-нить интересовался\делал подобное?
|
(Offline)
|
|
27.12.2008, 01:58
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
Не знаю на счет такой программы, но мне кажется WinRAR что угодно распакует.
|
(Offline)
|
|
27.12.2008, 02:35
|
#3
|
ПроЭктировщик
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений (для 8 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
ViNT +1 ))))
|
(Offline)
|
|
27.12.2008, 02:42
|
#4
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
программы - в смысле модифицированные jar-файлы,..
да-Winrar много форматов понимает,
но он или другой распаковщик не выгрузит файлик из архива, если, к примеру, умышленно изменить контрольную сумму..
|
(Offline)
|
|
27.12.2008, 02:56
|
#5
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
Тема интересная, но во-первых, относится ли это к мобильной java (может распаковщик какого-нибудь старого,а может и нового телефона тоже повиснет), во-вторых, найти бы, какие данные игнорируются, дальше написать программу не проблема.
Последний раз редактировалось ViNT, 27.12.2008 в 12:54.
|
(Offline)
|
|
27.12.2008, 10:32
|
#6
|
AnyKey`щик
Регистрация: 07.12.2008
Адрес: Киров
Сообщений: 8
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
ViNT это не тот JAR. Описанный тобою - какой-то старый забытый экзотический формат архивов (на wotsit.org нашел, да? .
А j2me JAR - это по сути обычный ZIP-архив.
И даже если в нем попортить некоторые заголовки и он будет распаковываться телефонным интерпретатором, а тем же WinRAR-ом открываться не будет (ну мало ли вдруг), то все равно можно будет сделать Repair archive программами для восстановления битых архивов, коих море.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
27.12.2008, 12:53
|
#7
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
Сообщение от blackman
ViNT это не тот JAR. Описанный тобою - какой-то старый забытый экзотический формат архивов (на wotsit.org нашел, да? .
А j2me JAR - это по сути обычный ZIP-архив.
И даже если в нем попортить некоторые заголовки и он будет распаковываться телефонным интерпретатором, а тем же WinRAR-ом открываться не будет (ну мало ли вдруг), то все равно можно будет сделать Repair archive программами для восстановления битых архивов, коих море.
|
Там и нашел. Вы правы, сам как бы знаю, что JAR то ZIP, но раз написано... Лень было проверять.
|
(Offline)
|
|
27.12.2008, 15:50
|
#8
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
ViNT - формат исполняемого файла, относиться к java (MIDletPascal), мне тоже интересно - все-ли телефоны обработают измененный архив...
blackman - конечно восстановать можно, достаточно получить блок упакованных данных и к примеру распаковать стандартной windows-библиотекой zlib, вот пример модуля упаковки/распаковки для Delphi:
unit zip;interface Var err:Integer; function compressFile(name,name2:String):Boolean;
function uncompressFile(name,name2:String):Boolean; implementation uses zlib,Classes;
Var inStream, outStream:TMemoryStream;
procedure init;Begin inStream:=TMemoryStream.Create;outStream:=TMemoryStream.Create;End;
procedure done;Begin outStream.Free;inStream.Free;End;
procedure compress; begin err:=0;with TCompressionStream.Create(TCompressionLevel({clNone}clMax),outStream) do
try try CopyFrom(inStream,inStream.Size);except else err:=1; end; finally Free;end;end;
procedure uncompress;Const BufferSize=4096; Var ZStream:TDecompressionStream;Buffer:array[0..BufferSize-1]of Byte;
Count:integer; Begin err:=0;ZStream:=TDecompressionStream.Create(InStream);try try repeat
Count:=ZStream.Read(Buffer, BufferSize);if Count=0 then Break;OutStream.WriteBuffer(Buffer,Count);until false;
except else err:=1;end;finally ZStream.Free;end;End;
function compressFile(name,name2:String):Boolean;Begin Result:=true;try try init;inStream.LoadFromFile(name);compress;
outStream.SaveToFile(name2);finally done;end;except else Result:=false;end;End;
function uncompressFile(name,name2:String):Boolean;Begin Result:=true; try try init;inStream.LoadFromFile(name);
uncompress;outStream.SaveToFile(name2);finally done;end;except else Result:=false;end;End;begin end.
эдесь не добавляется ни какой заголовок, просто упаковываем распаковываем из потока (файла)...
________
нестандартный заголовок - все-же некоторый уровень защиты от посягательств на ресурсы программы..
p.s.: исходники работы с заголовками zip-архивов можно посмотреть здесь: http://www.sources.ru/pascal/archives/index3.htm
Последний раз редактировалось abcdef, 27.12.2008 в 15:55.
|
(Offline)
|
|
27.12.2008, 21:52
|
#9
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
в архиве образец, поковырялся с hex-редактором и нашел некоторое решение, в эмуляторе работает, winrar не распаковывает...
попробуйте восстановить файлы!
p.s.: самое интересное, то что эту защиту увидел в программе на MIDletPascal
|
(Offline)
|
|
28.12.2008, 01:30
|
#10
|
|
Ответ: Защита содержимого JAR файла от распаковки
abcdef
чот не то, распоковал demka.jar, переименовал в demka.zip, спокойно открыл winrar'ом
...
а вот файлы с него не распаковываются, хотя список файлов я смог получить
|
|
|
28.12.2008, 01:39
|
#11
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
Что интересно, после выполнения операции восстановления архива файл MANIFEST.MF спокойно извлекся, а остальные мрдуль восстановления даже не нашел.
|
(Offline)
|
|
29.12.2008, 00:04
|
#12
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
Файл легко восстанавливается утилитой pkzipfix.exe,
...нашел интересную статейку по восстановлению удаленных архивов:
─ ARCHIVES ───────── Архивы и Архиваторы ─
Msg : 19 of 19 Addr Date
From : Dima Orlov 2:461/27 11.06.97
Subj : Восстановление убитых файлов с помощью ZIP
──────────────────
{> Cut here. FileName= RESTZIP.MSG }
─ 4INT ─ It's interesting ─
Msg : 122 of 200 Addr Date
From : Dima Orlov 2:461/27 11.06.97
Subj : Восстановление убитых файлов с помощью ZIP
──────────────────────────
Hello, Pavel Gulchouck !
> Лично для меня нет проблемы распаковать какой-нибудь pah3, ain или
> bsa. Hо паковать файл для других чем-то кроме zip-а (ну или tar+gzip для
> чисто юниксовых применений) мне в голову не прийдет.
И это правильно. BTW zip - один из самых восстанавливаемых при
повреждениях форматов. Так недавно у меня грохнулся единственный
экземпляр zip'а с сорцами одной программы, причем не просто грохнулся,
а стал нулевой длины. Я запустил свою любимую программку free:
Uses Dos;
var f: File;
begin
Assign(F,'free');
ReWrite(F, 1);
Seek(f,DiskFree(0));
asm
mov ah,$40
mov bx, word ptr f
mov cx,0
int 21h
end;
close(f);
end.
Которая все свободное место на винте превращает в файл с именем free.
Потом на этот файл напустил pkzipfix, и получил здоровенный zip, в
котором были файлы из всех относительно недавно грохнутых zip'ов,
в том числе и искомые сорцы.
С уважением, Дима Орлов
--- [CONNECT Team]
* Origin: Electric BBS (0572) 477-177 (2:461/27)
|
(Offline)
|
|
22.01.2009, 21:12
|
#13
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: Защита содержимого JAR файла от распаковки
если кому интересно вот находил в инете маленький и очень простой исходник на Pascal разбора формата zip-файлов на нем была создана программа сборки неупакованных (zip) jar-книжек (все файлы из директории собирались в исполняемый jar), размер данных не уменьшался, но программки запускались, алгоритм легко перенести в мобильную версию, например: тексты качаются с интернета, а программа собирается и сохраняется в файловую систему.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Расширение файла |
impersonalis |
Полезные функции |
19 |
28.02.2015 15:21 |
"Защита" *.DLL |
impersonalis |
Разработка LIB |
31 |
23.02.2015 19:40 |
Скачка файла |
impersonalis |
Полезные функции |
10 |
26.09.2010 21:15 |
Тайл из файла |
Horror |
3D-программирование |
10 |
05.05.2007 01:10 |
Часовой пояс GMT +4, время: 12:21.
|