пятница, 16 декабря 2011 г.

Как своровать ресурсы из файла swf

Linux: Ну, во-первых, нужен сам файл. Как его загрузить в один клик в браузере, я так и не разобрался, приходится смотреть в html-код, искать ссылку и тянуть её при помощи wget написано, например, вот тут: в FireFox-е через пункт контекстного меню "Информация о странице" переходим во вкладку "Мультимедиа" и тянем всё, что пожелаем. Ладно. Дальше начинается самое интересное.
Есть такая штука, swftools. В ней присутствует утилита swfextract, при помощи которой всё легко достаётся:
1. Выполняем команду
swfextract myfile.swf

На выходе получаем примерно такое:
Objects in file myfile.swf:
[-i] 2 Shapes: ID(s) 2, 4
[-i] 5 MovieClips: ID(s) 3, 5, 7, 10, 11
[-j] 2 JPEGs: ID(s) 17, 632
[-p] 1 PNG: ID(s) 915
[-s] 7 Sounds: ID(s) 40-45, 584
[-F] 2 Fonts: ID(s) 20, 21
[-f] 1 Frame: ID(s) 0
[-m] 1 MP3 Soundstream

2. Дальше извлекаем нужный ресурс. Например, можно утянуть музыку. Вот только команда с ключом -m дохнет с ошибкой ERROR Soundstream is not mp3 (2), зато, например, командой
swfextract -s 44 myfile.swf -o 6.wav
нужный саундтрек достается без хлопот.

Есть еще полезная утилита, swfdump - она показывает более подробную информацию. Т.е. выполняем
swfdump myfile.swf > 1.txt
и смотрим всякие DEFINESOUND defines id 0044 (...) и т.п. - чтобы было понятно, что достаем.

Основная проблема - эти самые swftools поставить. Вроде как в репозитории убунты такого нет, поэтому ставим из исходников. Тут есть небольшая тонкость: потребуется доустановить пакеты libjpeg-dev и libgif-dev. После этого всё компилируется, правда, с кучей ворнингов, но работает, вроде, нормально...

Windows: а в винде всё, помнится, было просто. Во-первых, с браузером интегрировался Orbit Downloader, который позволяет без проблем сохранять флэшки на диск, и, во-вторых, есть Sothink SWF Decompiler, который, хотя и платный, зато имеет приятный интерфейс 8-)

понедельник, 12 декабря 2011 г.

Excel 2007 - недопустимое расположение серверных черновиков

Неожиданно Excel 2007 при попытке сохранить настройки стал выдавать ошибку "Указано недопустимое расположение серверных черновиков для автономного редактирования, либо отсутствуют разрешения на доступ к этому расположению. Укажите расположение на этом компьютере". Ну как неожиданно - просто перенесли папку "D:\Мои документы" в "C:\Documents and Settings\User\Мои документы". При этом, что интересно, хитрая программа отказывается сохранять настройки этих самых черновиков (в группе "Сохранение").

Решение оказалось таким: прописать вручную в реестре следующее:

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Offline\Options]
"Local"=dword:00000001
"Location"="C:\\Documents and Settings\\User\\Мои документы\\Черновики SharePoint"

четверг, 8 декабря 2011 г.

postgresql ERROR: permission denied for language c

Ошибка возникла при попытке выполнить uuid-ossp.sql (этот файл содержит набор процедур для работы с uuid). Выяснилось, что хранимые процедуры на си могут создавать только суперпользователи.

Если же хочется, чтобы это было доступно не только суперпользователю, можно сделать так:

1. В базе сделать язык си вызывающим доверие:

psql --single-transaction -c "UPDATE pg_language SET lanpltrusted = true WHERE lanname = 'c';" -d база -U суперюзер


2. Дать нужному пользователю нужные права:

psql -c "GRANT USAGE ON LANGUAGE c TO юзер;" -d база -U суперюзер

понедельник, 5 декабря 2011 г.

SSH через прокси

Возник вопрос - как сделать, чтобы работала команда ssh mylogin@my-ssh-server, если сидишь за прокси? Выяснилось, что для этого надо:

1. Прикручиваем на локальной машине утилиту corkscrew

2. В файле ~/.ssh/config пишем следующее:
host my-ssh-server
ProxyCommand /usr/local/bin/corkscrew my-proxy-server my-proxy-port %h %p


3. После этого команда ssh mylogin@my-ssh-server -p 12345 пойдет через прокси.

(вот ещё полезная информация)

UPD 2012-11-02:
Есть ещё одна небольшая тонкость. Некоторые прокси-серверы сбрасывают неактивные подключения по истечении определенного периода времени. Если же в команде подключения указать опцию -o ServerAliveInterval=60 (или прописать это же, только с пробелом вместо знака равенства, в соответствующий раздел host файла ~/.ssh/config), то сессия обрываться не будет.

вторник, 22 ноября 2011 г.


Николай Ге. Портрет О.П.Костычевой, дочери П.А.Костычева, 1891

эту картинку не знаю, как утащить)

добавлено 2012-10-27:

(автор: Леонид Афремов)

добавлено 2013-01-09:


понедельник, 21 ноября 2011 г.

Как настроить ejabberd в debian

Вот так.

Вкратце:

1. Ставим сервер apt-get install ejabberd

2. Правим /etc/ejabberd/ejabberd.cfg. Если по минимуму, то:
% задаем админский аккаунт (формат такой: {user, имя, хост})
{acl, admin, {user, "huh-muh", "mydomain.ru"}}.

% задаем имя хоста
{hosts, ["mydomain.ru"]}
и вроде как всё остальное нормально прописывается и "из коробки".

3. Создаем пользователей (по умолчанию регистрация из клиента запрещена. Чтобы включить её, нужно изменить в конфигах deny в строке {access, register, [{deny, all}]} на allow):
sudo /usr/sbin/ejabberdctl register huh-muh mydomain.ru mypassword

UPD 2013-01-02:
Оказалось тут, что истек срок годности сертификата. Продлил так:
openssl genrsa -des3 -out ejabberd.key.secure 1024
openssl rsa -in ejabberd.key.secure -out ejabberd.key
openssl req -new -key ejabberd.key -out ejabberd.csr
openssl x509 -req -days 365 -in ejabberd.csr -signkey ejabberd.key -out ejabberd.crt
cat ejabberd.key ejabberd.crt > ejabberd.pem
sudo cp ejabberd.pem /etc/ejabberd/

вторник, 15 ноября 2011 г.

SAMBA: Невозможно сменить режим доступа целевого файла

Столкнулся с ошибкой: при попытке записать файл на самбовскую шару получаю в mc сообщение Невозможно сменить режим доступа целевого файла: Операция не позволяется (1), причем сам файл записывается.

Решение такое:
sudo mount.cifs //Server/share /mnt/share -o user=юзер_шары,noperm