Posts

Showing posts with the label Software Engineering

How-to: Create a Silent Installer with AutoHotkey and Publish it on Chocolatey

Image
Supposed there is a portable Windows application without an installer and uninstaller, how to create them back? In today's post, we will explore one way to build a  Setup.exe  using AutoHotkey (AHK), with additional compression of 7-Zip applied to the  Setup.exe  and remaining files of the portable application for maximum compression, and then wrap it with an outer unattended installer, turning a portable application into an installable one while being suitable also for silent deployment. The application example, i.e. the application for which a setup is created is  AeroZoom . While some terminologies are specific to AeroZoom, the general concepts should apply to other software. // ⭐1️⃣ to be built: outer unattended installer written in AHK AeroZoom_Unattended_Installer.exe │ │ // 2️⃣ to be built: 7-Zip self-extracting archive │ └───AeroZoom_7-Zip_SFX.exe │ ├───AeroZoom // portable app example │ ...

Quick Windows Hardening with Infrastructure-as-Code – Chef and Inspec

Image
CIS, Center for Internet Security, publishes prescriptive system hardening documents which provide guidance for establishing a secure system configuration on platforms such as Windows. Usually, their Windows hardening documents are over a hundred pages long and would take a long time to perform hardening manually by one person. Thankfully, there is an Infrastructure-as-Code configuration management approach, e.g. the one introduced below leveraging Chef and Inspec, to achieve automation of the hardening process and validating the results. Figure 1. Content of harden_winrm.rb, with references from CIS sections as an example of Chef recipes. (This one is from MattTunny/windows_hardening GitHub repository) Instead of demonstrating the power of infrastructure-as-code fully, this quick post only aims at introducing the concept by leveraging Chef hardening recipes found on the Internet, showing the steps to perform Windows hardening on a single local machine quickly, which may suit o...