Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: опыт сын ошибок трудных (список заголовков)
23:40 

Был занят.

Танкист Апокалипсиса
Пытался поломать дистрибутив почтового клиента. Какого - неважно, но, думаю, догадаться можно. На самом деле, крэк под программу уже давно существует, но накладывается он после установки программы. И если с одной-двумя-десятью инсталляциями ещё можно смириться, то устанавливать эту прелесть на бОльшее количество компьютеров было бы лениво.
"И вот, беру я в руки молоток..."
Задача сформулирована достаточно чётко, просто и понятно:
а) установить программу.
б) крэкнуть всё, что нужно сломать.
в) внести изменённые файлы в дистрибутив и собрать его заново, как будто "так оно и было".
На словах всё просто. На деле же всё получилось намного сложнее. Сразу возник вопрос: чем дистрибутив открывать? Хорошо ещё, что он в формате MSI. Правда, на этом приятные новости заканчиваются, потому что пакет составлен таким образом, что при открытии его в Wise Installer видно всего лишь два файлика из более чем сотни. Игра с параметрами открытия и конвертации не помогла.
Хорошо.
Выяснилось, что можно сделать экспорт в формат XML. Экспорт меня не удовлетворил, поэтому пришлось отыскать программу msi2xml (она же - xml2msi) и, побаловавшись опциями, разобрать инсталлятор по косточкам.
Параметры были таковы: msi2xml -b Directory setup.msi , где Directory - каталог, куда распакуем содержимое, а setup.msi - дистрибутив. При использовании данной команды в каталоге появляются ресурсы инсталлятора (иконки, картинки и прочее), файл с именем setup.msi.xml (тут находятся скрипты, управляющие процессом установки программы) и один или более архивов в формате CAB (каб) - собственно, сама программа.
Распаковать архивы можно при помощи WinRAR или команды expand. Но WinRAR удобнее. :-) Да, вот ещё что: необходимо сделать также список имён файлов в архивах следующей командой: expand -D имя_файла_архива.cab > имя_списка_файлов.txt. Зачем это нужно, станет ясно позднее.
Распаковал.
Наложил кряк.
А теперь надо запаковать. Но тут ещё одна трудность: сделать архив можно при помощи команды makecab. Проблема только в том, что она не имеет документации. Вообще. Кое-что есть в Сети, но это ещё найти надо. Есть программы сторонних разработчиков, но архивы, которые ими создавались, оказались непригодны для использования в инсталляторе. (Чтобы это понять и найти выход, пришлось потратить немало времени) Почему непригодны? Да потому, что файлы в архив должны быть запакованы в том же порядке, что был в изначальном пакете! Вот тут-то нам и пригодится файл имя_списка_файлов.txt, сделанный ранее. Его надо подредактировать (убрать несколько строк, к именам файлов не имеющих отношения, удалить название каб-файла из начала строк, да добавить несколько строк с параметрами создаваемого архива (их не помню, ищите в Сети, они есть)) и вызвать следующую команду: makecab -F имя_списка_файлов.txt
Если всё было верно, на выходе получим плотно упакованные файлы программы. Далее всё просто, командой xml2msi -m setup.msi.xml воссоздаём инсталлятор и можем насладжаться жизнью.

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

Трудозатраты - огромны. Но знания - бесценны.

@темы: Опыт сын ошибок трудных, Информационные технологии

18:44 

И на что я убил день?

Танкист Апокалипсиса
День, помимо выполнения прямых обязанностей, был посвящён прикручиванию OpenGL к VNC. Ну запустил, посмотрел. Да, картинки отрисовываются, но скорость... В общем - представляет собой сугубо спортивный интерес.

@темы: Опыт сын ошибок трудных, Информационные технологии

18:10 

Поздравьте меня!

Танкист Апокалипсиса
В моём активе - "две сплошных". Целиком, полностью и т.д. - моя вина.

Обошлось "мелким нарушением" и оплатой в СтеклоБанку.

@темы: Опыт сын ошибок трудных

13:17 

Долгое время мучился с АТС Panasonic KX-TD1232

Танкист Апокалипсиса
Через некоторе время "подвисали" все линии "Комстара": в трубке тишина и слышна фоновая музыка АТС. При этом телефонные линии МГТС работают без проблем. Были перепробованы настройки телефонов, офисной АТС, пинали "Комстар" - ничего не помогало. Как последнее средство купил так называемые "отбойники" для телефонных линий. Помогло, тьфу-тьфу-тьфу, блин!

@темы: Опыт сын ошибок трудных

14:02 

Намучился я с postgresql и netams

Танкист Апокалипсиса
Вкратце о мучениях: при запуске Linux не включается система учёта траффика. Если точнее - запускается, но потом умирает. Экспериментальным путём установил, что "включаемость" считалки зависит от скорости успешного запуска СУБД. После этого в скрипт запуска PostgreSQL после команды запуска дописал следующее:
===начало===
POSTGRES_IS_RUNNING=`ps ax|grep "postgres: stats collector process"|grep -c -v grep`
until [ $POSTGRES_IS_RUNNING -gt 0 ];
do
sleep 1
POSTGRES_IS_RUNNING=`ps ax|grep "postgres: stats collector process"|grep -c -v grep`
done
===конец==
данная хрень читает список процессов и смотрит, не появился ли там процесс с названием "postgres: stats collector process". Если появился - задача считается выполненной и скрипт завершает работу. Если нет, то делается пауза в одну секунду и цикл повторяется снова.

@темы: Опыт сын ошибок трудных, Информационные технологии

16:59 

Блин, и что теперь делать?

Танкист Апокалипсиса
Получил зарплату. Отнёс банкомату Сбербанка на поклон, скормил аппарату, а в результате получил сведения о том, что на счёт будет зачислено только 3000 рублей. В гневе пошёл писать заявление на компенсацию. Написал. Жду утра и развязки.

Upd: Денег было не 30000 рубликов. Деньги клал в два приёма: сначала 30 банкнот по 100 рублей, их банкомат сожрал успешно. А затем - вторую часть. На ней он и заткнулся.

@темы: Опыт сын ошибок трудных

12:33 

Пристрелка

Танкист Апокалипсиса
Был в тире. Объяснили, как правильно держать ружьё. До объяснения пули уходили влево вниз, после объяснения - в центр. Т-образная прицельная марка слишком задрана - при прицеливании по центру перекрестия пуля ложится сантиметров на 10 ниже. Если брать по верхней части вертикального штриха - пуля идёт в центр.

@темы: Опыт сын ошибок трудных, Оружие

09:35 

Вернулся домой.

Танкист Апокалипсиса
По результатам: с двумя баллонами так ни разу и не поплавал; все погружения общим числом семь сделал в сухом костюме. В пятницу в "Аква-глобусе" меня тоже поздравили и подарили водолазный нож, которым я тут же умудрился порезаться. 8-)
Неделя проживания на курорте обошлась мне в 5 тысяч, 1400 - жильё, остальное - развлекуха, питание, транспорт и т.д. Нырялка - ещё в 5 тысяч, а авиабилеты (вместе с упаковкой багажа, оплатой перевеса) - в 10000 (сами билеты стоят до 8900).
Подсказки: если кто полетит в Анапу, то по прибытии в аэропорт лучше сразу позвонить в одну из таксомоторных компаний города, а тех, что стоят около здания аэровокзала - не трогать. Цены у привокзальных таксистов в 1,5 раза выше: в город я доехал за 300 (плюс ещё 100, чтобы довезти снарягу от дома до клуба), а из города доехал за 180 (и ещё бы доплатил 30 за заезд в любую точку города). Разница очевидна. Телефончики тута.

@темы: Опыт сын ошибок трудных, Дайвинг

11:17 

Очередная микрозатычка на пути спама.

Танкист Апокалипсиса
Спамеры обнаглели - вчера они умудрялись пропихивать к почтовику до 600 спам-соединений одномоментно. В общем, мне надоело, что, хоть спам и эффективно режется, но порядок энтропии во Вселенной возрастает, поэтому в фильтр spamass-milter я дописал три строчки в процедуру отброса сообщений с признаком "спам". Эти три строчки сохраняют IP-адрес, с которого пришло спам-письмо, в текстовой файл.
Затем я написал скриптик, который полученные адреса подставляет в iptables с правилом "послать на ...й" и держит их в этом режиме один час, после чего соединения с того адреса снова разрешаются. Для этого скрипт вызывается cron'ом ежеминутно.

Данное решение не претендует на универсальность.
=== патч spamass-milter ===
diff -Naur spamass-milter-0.2.0/spamass-milter.cpp spamass-milter-0.2.0-1/spamass-milter.cpp
--- spamass-milter-0.2.0/spamass-milter.cpp 2004-12-05 17:10:44.000000000 +0300
+++ spamass-milter-0.2.0-1/spamass-milter.cpp 2007-07-04 16:51:13.000000000 +0400
@@ -379,6 +379,11 @@
{
debug(D_MISC, "Rejecting");
smfi_setreply(ctx, "550", "5.7.1", "Blocked by SpamAssassin");
+/* Запись IP-адреса спамера в текстовой файл */
+ FILE *log=fopen("/var/spool/antispam/spamip.txt", "at");
+ fprintf(log, "%s\n", inet_ntoa(((context *)smfi_getpriv(ctx))->connect_ip));
+ fclose (log);
+
return SMFIS_REJECT;
}
}
=== конец патча ===

Скрипт, как было указано, должен вызываться как можно чаще, в идеале - сразу после получения IP, однако это уже тянет на полноценную программу. В переменной TEMP_VAR хранится размер очереди и. соответсвенно, время пребывания адреса в чёрном списке. Чем больше значение - больше времени.
=== текст скрипта ===
#!/bin/bash
BAD_IP_FILELIST_DIR=/var/spool/antispam
TEMP_VAR=60
for bad_spammer_ip in `cat $BAD_IP_FILELIST_DIR/spamip.txt.$TEMP_VAR`
do
iptables -D INPUT -s $bad_spammer_ip -j REJECT
done

rm -f $BAD_IP_FILELIST_DIR/spamip.txt.$TEMP_VAR

while [ $TEMP_VAR -gt 1 ]; do
let TEMP_VAR1=$TEMP_VAR-1
mv -f $BAD_IP_FILELIST_DIR/spamip.txt.$TEMP_VAR1 $BAD_IP_FILELIST_DIR/spamip.txt.$TEMP_VAR
let TEMP_VAR=$TEMP_VAR-1
done;

mv -f $BAD_IP_FILELIST_DIR/spamip.txt $BAD_IP_FILELIST_DIR/spamip.txt.1
touch $BAD_IP_FILELIST_DIR/spamip.txt

for bad_spammer_ip in `cat $BAD_IP_FILELIST_DIR/spamip.txt.1`
do
iptables -A INPUT -s $bad_spammer_ip -j REJECT
done
=== конец скрипта ===

@темы: Опыт сын ошибок трудных, Информационные технологии

10:13 

"И вновь продолжается бой..."

Танкист Апокалипсиса
со спамерами.
Решил прикрутить проверку на правильность адресов локальных получателей, для чего в наличии есть несколько способов:
1. Написать правила фильтрации самому (я попробовал. Ругани не было, но правила не работали - то ли запихнул не в то место конфигурационного фоайла sendmail, то ли ещё что)
2. Воспользоваться набором штепселей и затычек "Real Time Cyrus Integration Version 2". Штука заработала, но для того, чтобы она ещё проверяла и на наличие псевдонимов, надо было делать много лишних телодвижений. Лень.
3. Найти и собрать фильтр milter-ahead. Оказался сложен (то есть - не для ленивых) в сборке, не умеет, опять же, проверять псевдонимы.
По пунктам 2,3 невозможность проверки, возможно, связана с тем, что у меня БД пользователей и псевдонимов хранится в PostgreSQL.
4. Для велосипедистов.

Собственно, поступил четвёртым способом: взял и написал свой фильтр, который делает всё, что нужно. Сейчас он проходит тестирование, но уже показал свою эффективность - количество вторичного спама резко упало. Да и нагрузка на спаморезку снизилась за счёт отлупа на этапе передачи адреса получателя. Фильтр заточен под набор патчей для sendmail, обеспечивающих работу с СУБД PostgreSQL, хотя ничто не запрещает использовать его и отдельно, но это получится множенье сущностей.

Если всё пойдёт нормально - выложу проект в открытый доступ.

П.С, Пока есть бага - примерно через 8 часов начинается дурка с выборкой пользователей из таблицы.

@темы: Опыт сын ошибок трудных, Информационные технологии

11:54 

Патч для Cyrus-IMAP

Танкист Апокалипсиса
Тут лежит патч для Cyrus-IMAP, исправляющий (меняющий) некоторые нюансы работы программы, в частности - пустой адрес отправителя в автоответе при включённом фильтре "VACATION".

Версия патча рассчитана на версию 2.2.8, для работы на 2.3.6 пришлось немного доработать напильником.



oss.digirati.com.br/mail/cyrus.html

@темы: Опыт сын ошибок трудных, Информационные технологии

22:01 

Ойядурак!

Танкист Апокалипсиса
Блондинки бывают не только женского полу, ага:
Внедрить плагин для проверки на корректность локальных адресов, проверить его работоспособность прямо с локального адреса (localhost) сервера, а после этого удивляться "а почему это у нас всё отвалилось?". Ещё бы - при отбросе спам-писем блокируются на час IP-адреса спамеров, а в этот раз спамером оказался я.

Ойядурак!

@темы: Позитив, Опыт сын ошибок трудных, Информационные технологии

23:22 

Чуть не сбил человека

Танкист Апокалипсиса
Ехал по неосвещённой дороге, навстречу поток машин, фары слепят, всё более-менее нормально. Перекидываю взгляд на приборы-боковое зеркало, возвращаюсь обратно - и тут свет фар выхватывает двух девиц в тёмной одежде на краю дороги. На краю-то на краю, но на дороге, и близко от машины. Успели: я - отвернуть, одна из девиц - отпрыгнуть. Разошлись.

Нда, блин.
Внимательней быть надо. И водителям, и пешеходам.

@темы: Опыт сын ошибок трудных

13:18 

Иногда пропадает доступ к защищённым сайтам

Танкист Апокалипсиса
Иногда пропадает доступ к защищённым сайтам в Internet Explorer.
Есть куча разных причин, здесь рассмотрим только одну.
Итак, анамнез:
Был перенесён профиль путём простого копирования с другой машины (или домена Active Directory).
Симптомы:
Не открываются сайты с SSL (HTTPS). Возмжно, что они будут открываться в случае предоставления административных прав учётной записи.
Заболевание:
Из-за изменившихся разрешений к одной из ветвей реестра нет доступа.
Лечение.
1. открыть regedit.
2. Пойти в HKEY_CURRENT_USER\Software\Policies\Microsoft
3. Установить разрешения (permissions) для чтения этой ветви реестра нужному пользователю.
Всё.

@темы: Опыт сын ошибок трудных, Информационные технологии

19:29 

Помогла вот эта штучка

Танкист Апокалипсиса
Восстановление пароля к 3com SuperStack 3 4400/4900

Способ описан на сайте 3com, но найти его там весьма не просто...

1. Access the Command Line Interface and enter the user name "recover" and password "recover" to place your unit in password recovery mode. The unit will remain in password recovery mode for a maximum of 30 seconds, before it returns to the CLI login prompt.
2. During the 30 seconds, perform a hard reset on the unit while the it is still in password recovery mode by switching it off, waiting a few seconds, and switching it on again.
3. When the unit has rebooted following the hard reset enter a new password for the "admin" user account.
4. Enter enable to leave password recovery enabled, or enter disable to turn it off. You are now logged in as the default "admin" user.

Важно чтобы котото до вас не поставил опцию password recovery disable

Применимо к коммутаторам:

* SuperStack 3 Switch 4400
* SuperStack 3 Switch 4900
* SuperStack 3 Switch 4900 12-Port
* SuperStack 3 Switch 4900 12-Port 1000BASE-SX
* SuperStack 3 Switch 4924
* SuperStack 3 Switch 4950
* SuperStack 3 Switch 4300
* SuperStack 3 Webcache
* SuperStack 3 Webcache 1000
* SuperStack 3 Webcache 3000
* SuperStack 3 Switch 4250T
* SuperStack 3 Switch 4226T
* Switch 4050
* Switch 4060
* 3C16115
* 3C16116

Найдено здесь: www.nag.ru/goodies/hak/4400.html

@темы: Информационные технологии, Опыт сын ошибок трудных, Позитив

21:04 

Танкист Апокалипсиса
Во всём посёлке отключили воду. Первый раз в жизни пришлось набирать некоторый запас воды из пожарной пашины.

@темы: Опыт сын ошибок трудных, водопровод

23:09 

Танкист Апокалипсиса
raw-конвертер. Первый опыт.
Родной кэноновский.
Или что иное надо пользовать?

Кошак. Слева - оригинал, справа - подретушированный.

@темы: фотомусор, Опыт сын ошибок трудных

11:09 

Наэкспериментировался на пасху

Танкист Апокалипсиса
Все снимки сделаны со штатива.

@темы: Опыт сын ошибок трудных, фотомусор

09:40 

Потерял "девственность"

Танкист Апокалипсиса
Утром на торможении въехал в зад иномарке.
Бампер, решётка радиатора - под замену. Ушла правая фара, но при этом не разбилась. Небольшая деформация в передних железках, но снаружи ничего не поплыло.
Ремни безопасности - полезная штука.
Новые дисковые тормоза шибко крепкие, машина в юз сорвалась.
Более никто не пострадал.

Ну и клювом надо меньше щёлкать.

@темы: Негатив, Опыт сын ошибок трудных, Позитив, авария, автомобильное

17:13 

Собственно, про сегодня.

Танкист Апокалипсиса
Сегодня впервые довелось понаблюдать лёгкий тропический дождик. Второй день посещаю массажный салон, расположенный на территории отеля. Ценник в 200 бат за час общеразминательного массажа считаю гуманным. Завтра должны были ехать на Самисан, погрузиться пару разиков, но поездка отменилась по причине того, что диверсионно-разведывательное подразделение ВМФ Таиланда решило пройти курс по ребризерам ANDI 5 уровня, в связи с чем инструктор не сможет уделить нам завтра внимание. Что же, тогда поедем смотреть на больших полосатых кошек. Кстати, о кошках обычных: они весьма независимы.

Да, вот что ещё. Я б не стал публиковать эти записи до возвращения из Тая, но, можете ли поверить, сегодня вечером, на том же маршруте тук-тука (по Второй улице) меня опять хотели обокрасть!!! В этот раз всё обошлось, воришка скинул(а?о?) деньги, так как карманы были проверены ещё до выхода из машины. Что можно сказать по тактике карманников, обобщая опыт двух краж? Во-первых, действуют группами по три человека. Во-вторых, имитируют тесноту в таксо. В-третьих, у обносчика большая сумка. Ну и, в-четвёртых, нам два раза попались в этих бандах трансвеститы. Негусто? Но вот как-то так.
Так что, если кто собирается ехать на отдых в Тай - держите уши востро, глаза - зорко, а деньги - глубоко.

В настоящий момент высказываю огромную благодарность коллективу телеканала Russia Today за моральную, пусть и англоязычную, поддержку. Да и вообще, мне нравятся ваши программы!

@темы: тайский массаж, массаж, Путешествия, ВМФ, Негатив, Опыт сын ошибок трудных, Позитив, Таиланд, военщина, воры, карманники

Что-то видел, что-то знаю...

главная