01 июня, 2017

Скачать готовые сборки OpenSSL для статической линковки

В блоге есть статьи для самостоятельной сборки таких библиотек. Но можно воспользоваться этими. Каждый архив содержит cmd-файл с конфигурацией сборки, с помощью которого можно собрать библиотеку из исходников самостоятельно. А также увидеть подходит ли конфигурация вам. Все сборки предназначены для статической линковки-компоновки. С помощью версии 1.0.2l представленной здесь - можно собрать Qt5.8, проверено.

  • OpenSSL_110f_vs2015_32.7z (6.0 МБ)
  • OpenSSL_110f_vs2015_64.7z (6.7 МБ)
  • OpenSSL_110f_vs2015_32_xp.7z (6.0 МБ)
  • OpenSSL_110f_vs2015_64_xp.7z (6.7 МБ)
  • OpenSSL_102l_vs2015_32.7z (3.0 МБ)
  • OpenSSL_102l_vs2015_64.7z (3.8 МБ)
  • OpenSSL_102l_vs2015_32_xp.7z (3.0 МБ)
  • OpenSSL_102l_vs2015_64_xp.7z (3.8 МБ)

СКАЧАТЬ

Сборка OpenSSL 1.1.0f с помощью VC++ 2015 (XP Toolchain)

Сборка OpenSSL 1.1.0f с помощью VC++ 2015 (XP Toolchain) для статической сборки

Все почти также как и в статье про сборку OpenSSL 1.0.2l, которую обязательно нужно прочитать. И рассматривать этот пост как дополнение для версии 1.1.0f.

ВАЖНО: Версии 1.0.x и 1.1.x очень разные, и нужно уточнять какую именно версию поддерживает проект.

Правка файлов OpenSSL

Для поддержки XP нужно изменить файл \Configurations\10-main.conf

  • Для x32 найти /subsystem:console и заменить на /subsystem:console,5.01
  • Для x64 найти /subsystem:console и заменить на /subsystem:console,5.02

Кратко команды сборки

Для x32 версии:

perl Configure VC-WIN32 no-shared -static no-deprecated threads ^
    --prefix=C:\Dev\OpenSSL_110f_vs2015_32_xp ^
    --openssldir=C:\Dev\OpenSSL_Config_110f ^
    -D_USING_V110_SDK71_
nmake
nmake install

Для x64 версии:

perl Configure VC-WIN64A no-shared -static no-deprecated threads ^
    --prefix=C:\Dev\OpenSSL_110f_vs2015_64_xp ^
    --openssldir=C:\Dev\OpenSSL_Config_110f ^
    -D_USING_V110_SDK71_
nmake
nmake install

Полные версии файлов, для которых нужно скачать и настроить perl, nasm, исходники openssl, далее просто запустить:

Скачать

Скачать готовые сборки OpenSSL

31 мая, 2017

Сборка OpenSSL 1.0.2l с помощью VC++ 2015 (XP Toolchain)

Сборка OpenSSL 1.0.2l с помощью VC++ 2015 (XP Toolchain) для статической сборки

Эта сборка была проделана для компиляции Qt 5.8, и вообщем-то получилось.

  • Установить интерпретатор Perl, например  ActiveState Perl, который во время установки добавит себя в PATH самостоятельно. И больше ничего не нужно;
  • Установить nasm. Подойдет и 64-битная версия. Нужно добавить его в PATH (например утилитой Rapid Environment Editor). Можно и без этого пункта, просто далее использовать параметр командной строки no-asm для конфигуратора;
  • Скачать из репозитория OpenSSL нужную 1.0.x версию. В примере я использую 1.0.2l;
  • Распаковать архив и далее внутри папки запускать команды или создать cmd файл и запустить его (смотри ниже);
  • Стоит изучить файлы из архива INSTALL, INSTALL.W32 и INSTALL.W64;

20 мая, 2017

Dynamic DNS используя Cloudflare

Сервер с динамическим IP через DNS от Сloudflare, с помощью ddclient

Для начала:

  • Создаем учетную запись на cloudflare.com.
  • Добавляем в этот сервис свой домен (например mydomen.tld).
  • NS записи домена указываем на сервера этого сервиса.
  • Далее воспользуемся интересным скриптом на Perl под названием ddclient. Он будет обновлять наш IP в настройках Сloudflare, используя API этого сервиса. Скрипт поддерживает множество сервисов и несколько способов определения IP.

Обновляем A-запись поддомена актуальным динамическим IP

23 декабря, 2016

Show differense of big files with same size (win console tool)

Show differense of big files with same size. Source inside. Download 32 bit version for Windows.

diff_big 1.0 (2016-03-20)
Author: Ruslan Zaporojets [ruzzzua@gmail.com]
Show differense of big files with same size.
Usage: diff_big.exe file1 file2

Starter Service (win console tool)

Windows service. Check and if needed then start exe file as current user (default with limited elevation and medium integrity). Log to 'Event Log'.

Starter Service v1.3 (2016-03-15)
Author: Ruslan Zaporojets [ruzzzua@gmail.com]
Usage: starter_service.exe command
Commands:
   -i or install       Install the service.
   -s or start         Start the service.
   -t or stop          Stop the service.
   -u or uninstall     Uninstall the service.

Set values of utf-8 config file starter_service.ini:
interval   - In seconds.
exe_path   - Path of target exe file. Can use env vars, ex. %SystemRoot%.
exe_params - [optional] Command line parameters.
session_id - [optional] ID or 0 (default) for running target as active
             local user.

Example of starter_service.ini:

session_id = 0
interval = 10
exe_path = "%SystemRoot%\System32\notepad.exe"
exe_params = c:\Windows\System32\Drivers\etc\hosts 

Download

21 декабря, 2016

Работа с различными форматами упакованных файлов.

Утилиты для распаковки файлов в разных форматах.

  • Определение формата
  • Архиватор 7zip
  • Установочные пакеты MSI/CAB
  • Установщик NSIS
  • Установщик Inno Setup

22 октября, 2016

Delphi 7 Portable с помощью Cameyo

Удобно делать в виртуальной машине (VMware или VirtualBox), создавая снапшоты. Дополнительно советы по Cameyo. Первый этап довольно простой:

  1. Запускаем Cameyo для наблюдения;
  2. Запускаем установку Delphi;
  3. Настраиваем IDE, устанавливаем компоненты, проходим регистрацию;
  4. Говорим Cameyo создать сборку;
  5. Удаляем лишние файлы и записи реестра из сборки.

Стоит остановиться на изменении уже готовой сборки.

Регистрация

Если у вас есть свой ключ, то чтобы внедрить его в сборку нужно создать .reg файл и импортировать его в Cameyo.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Borland\Delphi\7.0] 
"LMLIC"="____-______-______-____" 
"LMKEY"="___-___"

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\7.0] 
"LMLIC"="____-______-______-____" 
"LMKEY"="___-___"

После онлайн регистрации, можно файлы registry.slm и registry.dat из папки *.cameyo.files\PROG\%Profile%\.borland\ переместить с помощью редактора Cameyo в папку %Profile%\.borland\ внутри сборки.

Добавление компонентов на примере Indy 10

  1. Скачиваем исходники компонентов Indy 10 (файл вида Indy10_*.zip);
  2. Из архива берем папки и помещаем их в сборку, например в %Program Files%\Borland\Delphi7\Source\Indy10:
    • Libs\Core
    • Libs\Protocols
    • Libs\SuperCore
    • Libs\System
  3. Запускаем сборку. Компилируем в виртуальном окружении:
    • \Lib\System\IndySystem70.dpk
    • \Lib\Core\IndyCore70.dpk
    • \Lib\Protocols\IndyProtocols70.dpk
  4. Компилируем и устанавливаем:
    • \Lib\Core\dclIndyCore70.dpk
    • \Lib\Protocols\dclIndyProtocols70.dpk
  5. Добавляем в IDE пути [Tools|Environment Options|Library] в Library Path и Browsing Path:
    • $(DELPHI)\Source\Indy10\Core
    • $(DELPHI)\Source\Indy10\Protocols
    • $(DELPHI)\Source\Indy10\SuperCore
    • $(DELPHI)\Source\Indy10\System
  6. Если нужно, то настраиваем в IDE [Component|Palette Properties]
  7. Применяем изменения к сборке: APP.cameyo.exe -repackage

В сборку попадут:

  • Файлы %Program Files%\Borland\Delphi7\Projects\Bpl\*.bpl и *.dcp
  • Ветки реестра:
    • [HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages]
    • [HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Library]
    • [HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Palette]

20 октября, 2016

Создание portable программ с помощью Cameyo

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

Инструменты для создания portable версий программ:

  • Бесплатная Cameyo
  • VMware ThinApp
  • Enigma Virtual Box
  • Turbo Virtual Application Studio (ex. Spoon Studio)

Основной принцип работы этих инструментов можно разбить на такие этапы:

  1. Определение изменений в системе после установки целевой программы;
  2. Создание сборки, в которой целевая программа получить (возможно частично) виртуальное окружение (файловая система, реестр) при котором она сможет нормально выполняться. Это достигается за счет первого пункта;
  3. Другим свойством такой сборки будет отслеживание изменений, которые вносит целевая программа в окружение. Такие изменения не будут затрагивать общую систему, а будут перехватываться, сохраняться отдельно и в дальнейшем эмулироваться.

Работа с Cameyo

Очень простое, а потому удобное приложение, не смотря на мелкие минусы. Комментарии ниже относятся к версии Cameyo v3.1.1443.

***

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

***

Сборка, созданная с помощью Cameyo, при запуске распаковывается в папку рядом с основным exe файлом, либо в папку %AppData%\VOS\*, в зависимости от настройки сборки (смотреть General | Data Storage).

***

Основной режим изоляции приложения, заданный в General | Isolation mode имеет меньший приоритет, чем режим изоляции заданный отдельно для папок/файлов или веток реестра.

***

После создания сборки, скорее всего придется открывать ее для редактирования и удалять лишние файлы и записи в реестре.

***

Не позволяет запускать не .exe файлы (например .bat) в качестве стартовых.

***

Для изменения переменных окружения, в том числе PATH:

  • APP.cameyo.exe -break
  • Редактируем \APP.cameyo.break\VirtApp.ini:
    • EnvVariables=Path=MyPath1;MyPath2;%ExistingValue%
  • APP.cameyo.exe -unbreak

***

Cameyo не позволяет править значения виртуального реестра внутри своего редактора. Возможность редактировать реестр реализована через загрузку «куста» в regedit.exe. Далее Cameyo отслеживает момент закрытия regedit.exe, после чего определяет изменения. Есть еще способы:

  1. Экспортируем ветку реестра из сборки в файл .reg;
  2. Редактируем .reg файл во внешнем редакторе;
  3. Удаляем эту ветку внутри сборки;
  4. Импортируем .reg файл в сборку.

Или

  • Получаем доступ к реестру в виртуальном окружении:
    APP.cameyo.exe -exec my_regedit.exe
  • Редактируем реестр
  • Применяем изменившиеся данные к файлу сборки:
    APP.cameyo.exe -repackage

***

При экспорте реестра может получиться невалидный .reg файл. Например строка (REG_SZ), содержащая символ «новой строки» (\n):

"Key"="Val
ue"

Cameyo на такой .reg файл будет ругаться. Если при импорте произошла ошибка, то:

  1. Закрываем и снова открываем файл образа в Cameyo;
  2. Будет видна часть все-таки импортированных из .reg файла данных, тех что до ошибки;
  3. Ищем это место во внешнем редакторе .reg файла, исправляем и пытаемся сделать импорт еще раз.

***

Иногда, если внутри сборки упаковано множество мелких файлов, то при попытке сохранить после изменения структуры файлов, попадаем в бесконечный показ окна «Сохранение». Или получаем сообщение об ошибке открытия файла (Cameyo после сохранения пере-открывает сборку). Но в последнем случае сборка часто рабочая :), нужно открыть ее в Cameyo еще раз самостоятельно. Сохраняйте файлы через «Сохранить как» с другим именем.

Скачать