|
Сигнатура 00 62 4B 00 00 00 00 00 | ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
27.08.22
✎
14:10
|
День добрый.
Есть программа, которая сжимает файл через Deflate, преобразует его в BASE64, пихает его на сервер mssql в табличку как VARBINARY(MAX), и заставляет mssql разжать его и сохранить на диск. Все работает нормально, кроме того, что mssql добавляет в этот файл 8-байтовый заголовок вида: 00 62 4B 00 00 00 00 00 Есть идеи, что это такое? |
|||
1
H A D G E H O G s
27.08.22
✎
14:11
|
Пихаем base64 в mssql через это:
--Вставка BASE64 сжатой dll INSERT INTO ##TST_1C_ProxyLib (FileData) VALUES ( CAST(N'' AS XML).value( 'xs:base64Binary("%FileData%")' , 'VARBINARY(MAX)' ) ); Сохраняем на диск через это: --Всякие пути SET @FileName = @TempPath+'\TST_1C_ProxyLib.dll'; set @SQLcommand = 'bcp "SELECT Decompress(FileDATA) FROM '+@TableName+'" queryout "'+@FileName+'" -T -n'; --Запись dll на диск exec xp_cmdshell @SQLcommand, no_output; -- Удаление таблицы Drop table ##TST_1C_ProxyLib; |
|||
2
H A D G E H O G s
27.08.22
✎
14:59
|
Тупой bcp добавляет заголовок с размером данных
https://overcoder.net/q/2155936/дополнительные-байты-добавляемые-к-файлу-при-сохранении-на-sql-server |
|||
3
rphosts
27.08.22
✎
16:52
|
(2) лишний контроль данных?
|
|||
4
ДедМорроз
27.08.22
✎
20:19
|
Так вывод идет на output поэтому указывается размер,чтобы на другой стороне знали,что и как прочитать - иначе как найти окончание двоичного потока?
|
|||
5
H A D G E H O G s
27.08.22
✎
20:24
|
(3) (4)
Все разрулилось через опцию -f "ИмяФайлаФормата" |
|||
6
DrZombi
гуру
29.08.22
✎
05:59
|
(0) Зачем это?
Просто любопытно, где такое может пригодить? |
|||
7
H A D G E H O G s
29.08.22
✎
10:27
|
(6) Надо развернуть свою dllку на сервере mssql и прописать ее хранимые процедуры.
|
|||
8
Asmody
29.08.22
✎
10:56
|
(7) фига ты хацкер!
|
|||
9
Asmody
29.08.22
✎
10:56
|
в смысле - это вообще законно?
|
|||
10
H A D G E H O G s
29.08.22
✎
11:06
|
(9) без учетки sysadmin это не сработает, так что -законно.
|
|||
11
СеменовСемен
29.08.22
✎
11:24
|
(10) борьба со злобными админами, которые не дают на серваке компоненту установить?
|
|||
12
oleg_km
29.08.22
✎
11:45
|
(11) А разве не это называют девопс? Сам программирую, сам развертываю, сам админю?
|
|||
13
Святофор
29.08.22
✎
11:48
|
(11) судя по включению xp_cmdshell одмины уже побеждены
|
|||
14
H A D G E H O G s
29.08.22
✎
12:34
|
(11) Нет. Просто mssql должен выполнить код на своей машине.
|
|||
15
H A D G E H O G s
29.08.22
✎
12:34
|
И вернуть мне результат как результат запроса.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |