Программы, созданные лично мной

(Последнее обновление - февраль 2009)

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

Для начала - Ларри. Известнейшая игра всех времён и народов, переведённая когда-то на русский язык нашими умельцами. Игра очень старая, а потому на современных компьютерах она уже не запускается. К счастью, существует эмулятор ДОСа, под которым идут очень многие старые игры. Но к сожалению, запуск игры из-под этого эмулятора дело хоть и простое, да не совсем. Нужно пару минут потратить на чтение документации и набрать в консольном окне эмулятора пару команд. Как говорится, лучше день потерять, потом за пять минут долететь, поэтому я и создал инсталлятор, увязывающий воедино запуск игры, эмулятора и русификатора. А теперь предлагаю его Вам.

Начало игры Бар Милашка :)

Как водится, выражаю свою благодарность авторам игры, переводчикам, авторам DOSbox-а, а также всем, чей труд или знания так или иначе оказались мне полезны. ;)

Не смотрите с пренебрежением на маленький размер инсталлятора (меньше пяти мегабайт), игра стоящая. Качаем?

Скачать (4.40Мб)

P.S. от 15/04/2008:
Внимание-вынимание! В скачанном непонятно откуда Actual Installer был троян! Этот троян был обнаружен в созданном им инсталляторе! Вот отчёт virustotal:
Authentium W32/Trojan.ACXG
BitDefender Trojan.Generic.156600
ClamAV Trojan.Spy-3361
DrWeb Trojan.PWS.Banker.19422
F-Prot W32/Trojan.ACXG
F-Secure Suspicious:W32/Malware!Gemini
TheHacker Trojan/Dropper.Agent.loq

Остальные антивирусы пока его не определяют, включая Касперского и Нортон! Это не ложная тревога эвристического анализатора, троян идентифицирован. Всех, кто скачивал эту игру ДО обнаружения вируса, прошу меня извинить. Я каждую программу перед установкой проверяю на VirusTotal.com, очевидно, что этого недостаточно.

Неизвестно, заражал ли троян компьютер, но судя по названию, троян мог отсылать конфиденциальную информацию. Рекомендую сменить пароли, если у Вас есть привычка сохранять их в браузерах, клиентах, почтовых программах и т.д. Инсталлятор заменён на самодельный.


s.exe и ы.exe

Следующая программа возможно у кого-то вызовет улыбку. ;) Она предназначена для работы с командной строкой и заменяет собой команду start. Может быть не только я заметил, что этот start работает не всегда, иногда вообще пишет "эта команда работает только под windows" и хоть ты тресни... А команда полезная... С её помощью можно из консольного окна запустить в отдельном окне любую программу, открыть какой-нибудь документ... В общем, когда этот start достал меня окончательно, я написал в качестве всегда работающей замены свою программку на Делфи, разместил её в каталоге, доступном по path, и назвал её для краткости просто s.exe. То есть теперь мне для открытия какого-нибудь файла в моём любимом консольном файл-менеджере нужно просто набрать s MyText.txt - и файл откроется в блокноте. Наберу s runme.bat - и файл запустится в отдельном окне. Никаких параметров моя программа не принимает и не понимает, но допускает пробелы в именах файлов. Позже я разместил там же копию этой программы, назвав её "ы.exe". Догадайтесь, почему. ;) Теперь набираю символ "ы", нажимаю в Дос Навигаторе Ctrl+ввод, после чего запускаю получившуюся команду ы index.html и наблюдаю открывающийся броузер с указанной страничкой. Но и это ещё не всё. Чтобы открыть текущий каталог в новом окне Windows, достаточно просто вызвать мою утилиту без параметров. В общем, хоть и примитив, а могу порекомендовать. ;)

Скачать (40Кб)


Антивирус для удаления toy.exe

Этот вирус запускается при открывании заражённой флешки. Вот что об этом вирусе пишут в сети:
Здраствуйте!
При запуске винды стала появляться надпись (не окно...а как бы поверх рабочего стола...вообщем незнаю как обьяснить) с текстом на японском(?) и английских языках. Что-то вроде: "... И создал бог землю ...бла бла" (точно сейчас не помню) и в конце " и стал свет ... Can find program interface?"
После открытия пары любых окон надпись постепенно исчезает оставляя пару букв (как глюки)....
Такие дела ...Обратился к вам потому что впервые с таким столкнулся...Хотя и не конченый ламер вроде)
Прошу помочь ... советом и вообще буду рад любой информации.
Спасибо!
Или вот:
У меня коллега привезла с Китая флешку - 8ГБ, маленькая такая, на одной стороне написано Sony на другой логотип Vaio. В корне сидит файл Toy.exe и autorun + сидели какие то вирусы-трояны (сейчас вроде чисто). Пишет-читает шустро, пробовал записать больше 0,5ГБ - без проблем. Вопросы знатокам: как можно определить что это за девайс и назначение этого файла Toy.exe

Антивирус написан отчасти для собственного развлечения, отчасти для нашего университета, так как там недавно была эпидемия этой заразы из-за бездействия админов.
P.S. Теперь в антивирус добавлена кнопка "быстро", позволяющая просканировать только основные каталоги, используемые вирусом для заражения (автозагрузка, sytem32, system volume restore и корневые каталоги), хотя лично я этот режим не рекомендую, так как есть теоретический шанс, что вирус будет пропущен (например, в отключенном substed-диске). Также добавлено автоматическое удаление файлов autorun.inf, принадлежащих вирусу, так как практика показывает, что не все пользователи умеют удалять скрытые файлы. ;)

Скачать (174Кб)


ASPClicker

ASPack - очень мощный популярный EXE/DLL-пакер, может сжимать DPL и BPL файлы (Delphi DLL). Триальная версия ASPack работает прекрасно. К этой программе существуют кряки, но по крайней мере один из них работает криво, после запуска из командной строки с параметром ASPack начинает глючить так, что закрыть его можно только по Ctrl-Alt-Del. Поэтому я использовал триальную версию. Чисто из эстетических соображний я разыскал настройки, после внесения которых в реестр ASPack стала запускаться с русским интерфейсом. Мелочь, а приятно. Среди тех же настроек - галочка "закрывать при завершении работы". К сожалению, она в триальной версии не работает. Поэтому я написал свою собственную утилиту, которая запускает ASPack, ждёт, когда на нём появляется кнопка "Тестируй!" и закрывает его. Использовать мою программу можно так:

ASPClicker.exe "C:\Program Files\ASPack\ASPack.exe" "Моя программа.exe"

Потом я обнаружил, что у меня стоит неправильная дата, исправил её и ASPack стал заявлять, что он свои 30 триальных дней уже проработал. Но ведь это неправда! - вскричал я и обнаружил в реестре запись о времени первого запуска, которую, разумеется, можно удалить, ведь это мой собственный реестр.

Итак, получается (чисто теоретически), что абсолютно каждый желающий может скачать по нижеприведённой ссылке всё необходимое, чтобы установить и использовать ASPack с русским интерфейсом, использовать его в bat-файлах, при чём использовать столько, сколько захочет. Подробнее об этом написано здесь, а сам архив, включающий дистрибутив Вы можете скачать здесь:

Скачать (340Кб)

P.S. Новый DrWeb почему-то подозревает в этой программе неизвестный "trojan downloader". Не знаю, по каким критериям... Ещё два из известных тридцати антивирусов, пишут "подозрительная программа, ви таки уверены, что она кошерна?". Так вот программа никаких скрытых функций не содержит и вообще с сетью не работает. Так что если намереваетесь пользоваться, придётся настроить исключение.


SiteWatcher

Простейшая программа, выводящая список недоступных сайтов и ftp. Если все сайты, указанные как параметры командной строки доступны, программа ничего не выводит. Сделана она специально для запуска шедуллером каждый час. Просто чтобы заметить, что сервер пора перезагрузить. Например, для шедуллера nnCron задача выглядит примерно так:
#( Проверить_сайты
RunMissed
Time: 0 * * * * *
Action:
ShowNormal NormalPriority
START-APP: C:\SiteWatcher.exe http://JanJanych.narod.ru http://Janych.selfip.com ftp://Janych.selfip.com
)#

Скачать (201Кб)


Скриншот
J&Co µTorrent viewer

Хитрая программа просмотра очереди популярного (лучшего?) торрент-клиента µTorrent. Спрашивается, какой смысл просматривать очередь µTorrent-а специальной программой, когда в нём самом и так есть такая "фича"? ;)

Действительно, обычным людям - абсолютно не нужно. Эта программа дополняет информацию о торрентах такими полями как "число сидов" и "число пиров", узнавая точные значения с популярного (лучшего?) торрент-трекера kinozal.tv, при чём для всех торрентов, включая остановленные (закачанные и незакачанные). В каталоге с торрентами создаётся файл descript.ion, где для всех файлов с торрентами создаются описания из этих двух чисел. Для торрентов, присутствующих в очереди, но не имеющих отношения к кинозалу, в описании ставится прочерк ('-'). Так что все файлы в каталоге с торрентами, оставшиеся без описаний (не путать с прочерками), можно смело перемещать в корзину.

Кроме того есть чуть более удобное контекстное меню, из которого можно сразу же перейти на страницу описания раздачи на трекере.

Что это даёт? Можно узнать, не нужно ли поставить на сидирование завершённую и остановленную раздачу. Можно узнать, не нужно ли поторопиться со скачиванием какой-то раздачи, до которой ещё не дошла очередь, но сиды уже исчезают.

При этом в окне µTorrent viewer-а, в отличии от "Истории" или "Профиля" на трекере, будут те и только те торренты, которые в данный момент присутствуют в µTorrent-е. При кликании по заголовкам таблицы можно сортировать записи в двух направлениях по любым полям, менять расположение и ширину колонок. Естественно, все эти настройки не сбрасываются при перезагрузке. Также можно фильтровать отображение закачек по состоянию и меткам.

Обращения к кинозалу производятся только по команде, при чём только по одному обращению в 10 секунд. То есть если у Вас в очереди 60 торрентов, получение информации займёт порядка 600 секунд. ;) Это сделано во-первых чтобы программу не забанили, а во-вторых (хотя на самом деле конечно это главное, ибо мне если честно пофиг, забанят ли вас ;) ) чтобы не нагружать трекер. Он и так периодически висит. Но я думаю, что пачка запросов раз в неделю, погоды не сделают. Через браузер, да с картинками и стилями, да по несколько раз, то же самое породило бы гораздо больший траффик...

Программа ещё не дописана (хотя выкладываю полностью рабочие версии), так что фичи будут появляться.

Скачать (240Кб)

Взгляните так же на анализатор торрент-файлов


Скриншот
MacroServer

Это простая программка, представляющая собой http-сервер. Её возможности наглядно демонстрирует этот сайт. МакроСервер помогает создавать сайты, не требующие поддержки каких бы то ни было скриптов на хостинге. Если Вы не хотите ставить у себя дома Апач, но хотите использовать в тексте страниц include, включить в структуру сайта простейший "файловый сервер", отлаживать сайт на своём компьютере, заливать итоговую версию сайта на хостинг по ftp или предоставлять доступ к сайту на своём компьютере - эта программа может Вам пригодиться. Кроме того, МакроСервер может работать даже в режиме пейджера, принимая сообщения от посетителей сайта, не требуя для отправки сообщения вообще никаких программ кроме браузера.

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

Нажатием кнопки "Открыть", можно открыть корневую страницу сервера в браузере и посмотреть, что получилось.

В окне настроек можно указать список макросов, например так:

@header=\header.inc
@pagerheader=\pager\header.inc
%comment%=\Описание чего-то.txt
@example=\example.inc

После этого в текст страниц можно включать соответствующие макросы. Макросы подставляются в порядке объявления, можно использовать строковые параметры, соответствующие макросам @param1, @param2, @param3... Например, макрос @example может быть объявлен как таблица, включающая в себя текст первого параметра. Собственно, на этой странице макрос @example использован неоднократно. ;) Легко сделать общее для всех страниц меню...

Доступны макросы @filedate, @Filedate, @path, @url, @localpath, @relpath/, @erelpath/ (@relpath с UrlEncode), @upperdir, @pagename, @dirinfo, &at;, ' (@ и апостроф)... И многие другие.

Для страниц, доступ к которым осуществляется напрямую (если Вы сами занимаетесь хостингом части или всего сайта), также можно использовать параметры @postparam1, @postparam2... которые будут заменены параметрами get или post-запроса. Для этих же страниц можно использовать макросы @IP, @referer, @useragent... Указав в тексте страницы ссылку /pager/ (шаблоны страниц прилагаются) можно получать сообщения от посетителей сайта.

Ну а самое приятное - можно выкладывать для скачивания десятки файлов, прописав в index.html единственный макрос, при чём вид страницы целиком зависит от выбранного шаблона. Четыре шаблона прилагаются, чтобы написать свой шаблон не нужно знать никаких языков программирования.

Отладив сайт у себя на компьютере все статические страницы (в которых не используются макросы вроде @IP, @useragent...) можно залить по ftp на narod.ru (например) вместе с подготовленными "превьюшками" и иконками, и не беспокоиться на счёт запуска МакроСервера.

Если МакроСервер используется для хостинга своего сайта на своём домашнем компьютере, то знайте, что он поддерживает и сжатие данных, и докачку, и многопоточное скачивание, и отслеживает изменение страниц для корректной выдачи браузерам ответов "Not Modified", и кэширует сжатые данные, и корректно работает с пробелами и русскими буквами в названиях каталогов, файлов и страниц... Нет ничего проще, чем зарегистрировать любое понравившееся доменное имя на DynDNS, даже если у вас динамический IP, и даже зарегистрировать на этом доменном имени практически неограниченное количество почтовых ящиков с размером свободного места по 7 Гигабайт на аккаунт и "защищённым" ssl веб-интерфейсом... И всё это бесплатно.

Требования к ресурсам у МакроСервера небольшие. Размер исполняемого файла - 400 килобайт. Памяти занимает около 6 мегабайт вместе с прочитанным кэшем этого сайта (кэш на диске - около трёх мегабайт одним файлом). Процессор не загружает, сидит в трее.

Подробнее о МакроСервере
Примеры использования макросов
Интерфейс Макросервера

Если Вам идея нравится или что-то заинтересовало, пишите на http://janych.selfip.com/pager/ ;)

Скачать


Скриншот
Скин в стиле Vista для Venta Fax 5.8

Почему выкладываю здесь этот скин?

1) Версия 6.0 имеет кучу ограничений, которых не было в 5.8.
2) "Домашнюю" версию вообще больше не собираются выпускать.
3) У меня IDC, а бесплатная версия для IDC существует только версии 5.8.
4) На сайте Венты этот скин выкладывать не собираются.
5) Я всё-таки приложил к нему руку (дорисовал кнопку "Color", повернул на 90 градусов регуляторы громкости и поправил расположение "осцилографа").
6) Стандартный скин никак не вяжется с темами от Adni. ;)
7) Отличная программа должна выглядеть соответствующе. ;)

Скачать (570Кб)



DynDNS.exe

Второй раз удалили мой аккаунт на замечательном сервисе DynDNS... Не смотря на то, что сайт более-менее посещается, если в течении месяца не логиниться под своим именем непосредственно на DynDNS, аккаунт считается неиспользуемым. После второго удаления всех хостов проблема была решена кардинально. Эта программка логинится на DynDNS сама. Нужно лишь указать параметрами логин и пароль. У меня её запуск прописан в nnCron-е вот таким образом:
RunMissed
Time: 15 12 * * 1 *
Action:
StartIn: "C:\DynDNS"
ShowNormal NormalPriority
START-APP: C:\DynDNS\DynDNS.exe JanJanych sL@Kd&92jk#

Библиотеки для работы по защищённому протоколу https и исходники прилагаются, инсталляции не требуется.

Скачать (494Кб)



PortChecker.exe

Надоело, что время от времени серверы оказываются недоступны по какой-то непонятной причине. Вроде бы всё работает, а порт на роутере извне закрыт, обращения внутрь локальной сети не проходят... Написал утилиту, которая проверяет открыты ли указаные порты. Если хотя бы один из портов закрыт, будет показано окно с отчётом. Ежечасный запуск программы у меня прописан в nnCron таким образом:
Time: 0 * * * * *
Action:
StartIn: "С:\PortChecker"
ShowNormal NormalPriority
START-APP: С:\PortChecker\PortChecker.exe 21 80 30080

P.S. Уже давно не прописан, так как с написанием своих http и ftp серверов проблема решилась сама собой. Теперь они месяцами работают и слушать порты не забывают.

Скачать (194Кб)


Иконка инсталлятора
JanInstaller.exe

Специально для Larry написал простейший универсальный инсталлятор. Работает как архиватор. Запускаете с параметрами, указывающими на файлы (допустимы маски). В текущем каталоге создаётся готовый файл Setup.exe, представляющий собой что-то вроде sfx-архива. Отличие в том, что среди файлов может быть специальный файл с именем "Installer", в котором можно прописать простейшие настройки для работы инсталлятора. Например, для инсталлятора Larry этот файл выглядит примерно так:
InstallDir "<Program Files>\Larry by Janych.selfip.com"
AppName "Larry in the Land of the Lounge Lizards Rus for win2000-XP by Janych"
Lnk "<Programs>\Larry от Janych.selfip.com\Larry от Janych.lnk" "<Install Dir>\LARRY.ICO" "<Install Dir>\DOSBox-0.63\dosbox.exe"
Lnk "<Desktop>\Larry от Janych.lnk" "<Install Dir>\LARRY.ICO" "<Install Dir>\DOSBox-0.63\dosbox.exe"
Lnk "<Programs>\Larry от Janych.selfip.com\Uninstall.lnk" "<Setup>" "<Install Dir>\Uninstall.bat"
Run "<Install Dir>\ReplaceString.exe" "<Install Dir>\DOSBox-0.63\dosbox.conf" $path "<Install Dir>"
Run "<Install Dir>\ReplaceString.exe" "<Install Dir>\DOSBox-0.63\dosbox.conf" $mydocuments "<My Documents>"
Run "http://Janych.selfip.com/"
Uninstall "<Install Dir>\Uninstall.bat"

Можно зарегистрировать и действия для типов файлов:
Type ext extfile open '<Install Dir>\exviewer.exe "%1"' '<Install Dir>\exviewer.exe,1' "ext file" RegUninstall "<Install Dir>\Uninstall.reg"

В этом файле допустимо использовать следующие макросы: <Desktop> <Programs> <My Documents> <Favorites> <Startup> <Recent> <Send To> <Start menu> <Desktop directory> <Nethood> <Fonts> <Templates> <Common Start menu> <Common Programs> <Common Startup> <Common Desktop directory> <Application Data> <Printhood> <Common Favorites> <Internet Cache> <Cookies> <History> <Program Files> <Install Dir> <Setup>

<Install Dir> - выбранный пользователем каталог, в который устанавливается программа. <Setup> - полное имя файла с программой установки. Я его использовал, например, чтобы присвоить ярлыку для Uninstall.bat иконку от Setup.exe. Об остальных макросах можно почитать, например, вот тут.

При запуске инсталлятора открывается окошко с именем AppName, в качестве пути для инсталляции по умолчанию используется InstallDir, после распаковки файлов создаются ярлыки к указанным файлам с указанными иконками, запускаются указанные программы с соответствующими параметрами и, если указано, создаётся bat-файл, в котором указаны команды для удаления всех созданных инсталлятором файлов. Примитив конечно... ;) Даже сжатия данных не предусмотрено. Но! Можно использовать какой-нибудь пакер исполняемых файлов. Например, upx.exe. Соответственно, bat-файл для создания инсталлятора может выглядеть так:
"JanInstaller.exe" "Install\*"
upx.exe -9 Setup.exe
copy Setup.exe "C:\Janych.selfip.com\Files\Soft\Larry.exe"

P.S. Исправлен глючок, из-за которого инсталлятор работал только если в каталоге установки создавались подкаталоги. Но из нескольких скачавших никто и словом не обмолвился. ;) Также добавлена опция командной строки -auto, чтобы вызывать программу из bat-файлов.

Скачать (281Кб)


Скриншот
JanFTP

Да, это ещё один FTP-сервер. :) Ему от роду два дня, но он должен работать без сбоев месяцами. МакроСервер ведь работает уже больше года... Другие преимущества - простота и надёжность. Ломать там нечего и ошибаться в настройках негде. Поддерживаются русские имена файлов и каталогов. Работает на win 95, win 98, win 2000, win XP, инсталляции не требуется.

Подробнее о JanFTP

Скачать (210Кб)


Скриншот
Анализатор торрентоподобных файлов

Не все знают, что такое "торренты", но совсем мало людей знает, что файлы настройки µTorrent-а сохраняются в том же формате. И уж наверное немногие знают, что announce и scramble ответы трекеров имеют всё тот же формат.

Точнее, все эти файлы содержат в себе описание одной записи ("словаря") в одном и том же формате, только поля у этой записи разные. В свою очередь, поля главной записи могут иметь разные типы: строки, числа, списки и вложенные записи...

Вот я и написал программу, понимающую этот общий формат. Единственное, программа не умеет "проникать в суть вещей", поэтому подробно выводит только то, в структуре чего я разобрался, а то и просто попытался угадать (например как устроено поле nodes в dht.dat µTorrent-а - не знаю). Так что просьба, если кто знает, что за формат у остальных переменных, пишите.

Пара слов об интерфейсе: Вводите имя файла, нажимаете стрелочку. Воспринимается drag'n'drop, параметр командной строки. Записи ("словари") выводятся в фигурных скобках, списки - в квадратных.

Скачать (167Кб)

Взгляните так же на µTorrent Viewer

 

Сайт работает на домашнем компьютере под управлением MacroServer Valid HTML 4.0 Transitional Рейтинг@Mail.ru
Извините за скорость, работает µTorrent.