Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Упаковка на пхп, разархивация в C#

42K
09 октября 2009 года
Roin
17 / / 22.04.2009
Ребят, помогите. Задача:
есть пхп скрипт, который должен формировать упаковывать нное количество файлов, т.е архивация. а вот распаковывать должен шарп.
Но всё бы ничего, но есть условие - подключать дополнительные библы к шарпу нельзя(именно в моем случае).
Были такие мысли:
1. запаковать в зип на пхп я могу, а вот распаковать на шарпе - тоже могу, только нужно подключать дополнительные .dll, а это не подходит(ничего не сделаешь, такая задача). код unzipa кроме готовой библы нигде не видел.
в шарпе есть свой упаковшик и распаковшик(сейяас не суть) но упаковать в пхп в такой формат я не смогу.
2. в винде есть стандартная ф-я работы с зип-папками, т.е архивация и разархивация, но, как из шарпа вызвать эту ф-ию для управления ? сразу бросилась мысль, чз командную строку вызвать этот разупаковщик, передать ему параметры типа режим un и путь до архива,
но во первых - как вызвать коммандную строку из шарпа , и во вторых - какой именно командой вызывается стандартный зип.
Т.е задача одна как распаковать в шарпе зип архив не используя библиотек которые нужно загружать на машину ?
297
09 октября 2009 года
koodeer
1.2K / / 02.05.2009
System.IO.Compression.GZipStream

namespace System.IO.Packaging
42K
10 октября 2009 года
Roin
17 / / 22.04.2009
Цитата: koodeer
System.IO.Compression.GZipStream

namespace System.IO.Packaging



Конечно гуд, только читал что формат gzip может работать только с 1им файлом, а мне нужно запаковать из пхп всё содержимое папки, и разархивировать это всё содержимое на шарпе.
Что вот делать :(
А System.IO.Packaging..::.ZipPackage не могу использовать так как он тольк на висте работает и только на фреймворках выше 3.0
Платформы
Windows Vista
.NET Framework
Поддерживается в версиях: 3.5, 3.0

5
10 октября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Roin

1. запаковать в зип на пхп я могу, а вот распаковать на шарпе - тоже могу, только нужно подключать дополнительные .dll, а это не подходит(ничего не сделаешь, такая задача). код unzipa кроме готовой библы нигде не видел.


http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx

Чего-то я не понимаю. Какого рода приложение у вас? Если настольное, то ограничение на использование библиотеки выглядит более чем странно, а если же ASP.NET, то bin-каталог приложения никто не отменял.

42K
10 октября 2009 года
Roin
17 / / 22.04.2009
Цитата: hardcase
http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx

Чего-то я не понимаю. Какого рода приложение у вас? Если настольное, то ограничение на использование библиотеки выглядит более чем странно, а если же ASP.NET, то bin-каталог приложения никто не отменял.



Про icsharpcode библиотеку знаю. Но применить не могу.
Сказать точно какого рода приложение тоже не могу.
Зачем начинать раздувать что зачем да почему ? если я говорю что нет возможности по ТЗ использовать внешние .dll то значит нет.
Внешние - имеються ввиду те dll которые необходимо разместить в виндовсе принудительно(т.е каким то образом закачать, скопировать итд)
А icsharpcode это dll, которую нужно поместить в каталог где будет находиться сам ехе. К большому сожалению это не подходит.
Если бы всё было так просто - я бы сдесь не просил помощи :(

5
10 октября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Roin
Про icsharpcode библиотеку знаю. Но применить не могу.

Она поставляется с исходниками. Как я понял лицензию, ее можно скомпилировать с собственным кодом.

Цитата: Roin

А icsharpcode это dll, которую нужно поместить в каталог где будет находиться сам ехе.

Не обязательно, в зависимости от сценария развертывания приложения, часть кода может вообще загружаться из сети.

297
10 октября 2009 года
koodeer
1.2K / / 02.05.2009
Руки бы поотрывать тому, кто запретил использование сторонних dll. Но раз уж такое идиотское требование есть, то предлагаю такой же идиотский обход проблемы: на php файл, который будет передаваться, не запаковываем архиватором, а лишь дописываем ему расширение .zip. На C#, соответственно, это расширение убираем и получаем таким образом исходный файл :). И никаких внешних библ!
42K
10 октября 2009 года
Roin
17 / / 22.04.2009
Цитата: koodeer
Руки бы поотрывать тому, кто запретил использование сторонних dll. Но раз уж такое идиотское требование есть, то предлагаю такой же идиотский обход проблемы: на php файл, который будет передаваться, не запаковываем архиватором, а лишь дописываем ему расширение .zip. На C#, соответственно, это расширение убираем и получаем таким образом исходный файл :). И никаких внешних библ!



Да пойми ты, дело в том, что этот ехе будет грузиться на ботнет, грузить нужно именно 1 ехе а не директорию с кучей библ всяких модулей итд. Поэтому приходиться решать задачу "всё в одном исполняемом файле".
А приписывать .zip и потом убирать - не выход, так как использование упаковки необходимо для множества файлов. Например нужно передать боту 100 файлов, в том то и дело что нужно эти все 100 упаковать, а в боте распаковать.

297
10 октября 2009 года
koodeer
1.2K / / 02.05.2009
В Винде имеется zipfldr.dll. С её помощью можно просмотреть содержимое zip-архивов. Скажем, так:
 
Код:
System.Diagnostics.Process.Start("rundll32.exe", "zipfldr.dll,RouteTheCall test.zip");

Но, вроде бы, zipfldr.dll НЕ экспортирует функции для распаковки архивов.
5
10 октября 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Roin
Да пойми ты, дело в том, что этот ехе будет грузиться на ботнет, грузить нужно именно 1 ехе а не директорию с кучей библ всяких модулей итд. Поэтому приходиться решать задачу "всё в одном исполняемом файле".

Ботнет на .NET? (простите за каламбур) Это что-то новенькое :D
"Все в одном файле" в дотнете делается как нельзя просто. Создаем приложение обычным образом, далее декомпилируем (ildasm) все сторонние сборки и головной файл, затем собираем новый exe из полученных исходников ilasm-ом.

241
10 октября 2009 года
Sanila_san
1.6K / / 07.06.2005
А что мешает распространять .exe-шник только на машинах, где уже стоит дотнет?
241
10 октября 2009 года
Sanila_san
1.6K / / 07.06.2005
А что мешает рассылать бота только тем, у кого уже стоит дотнет?
42K
10 октября 2009 года
Roin
17 / / 22.04.2009
фрейм врок 2.0 как мне сказали уже идёт с ХП, этого вполне хватит.
241
11 октября 2009 года
Sanila_san
1.6K / / 07.06.2005
Не идёт. Но с Вистой дотнет вроде бы поставлялся. С виндоузсевен точно должен быть. Так что пока бота допишете, наверняка среда под него будет существовать. Аналогично никто не мешает прямо сейчас написать бота на J2SE.;)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог