|
|
Сигнатура 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
|
|
|
|
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
|
И вернуть мне результат как результат запроса.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший