All started some years ago when I created some Windows Shell scripts such as vbs/batch etc. to automate computer tasks at home and at the company I worked for. After that period, I started to integrate them within some PowerShell scripts. Some of those batch files converted to executables. Short time after I thought, hmm is there a way to build a beautifully crafted UI and bring all those scripts into a single executable without the need to install it? Well, I accepted that challenge and looked around for options. I was seeking a product I can rely on for all my needs such as
Since 2018, I usually work using Sapien PowerShell Studio/PrimalScript/WMI Explorer/Version Recall.
I am sharing below some screenshots about the happiness I have when using such powerful suite with tools at the fingertips. I am a happy user using the Dark Mode Template :).
So, the app I tried building consist of the below functionality:
• BASIC LOGS - SUMMARY
The Data is collected in csv/xls(x)/xml/txt/csv file formats. The exported data is set to be saved in the Current Directory where the App is run.
The file is set to look like: computername_x64/x86 Architecture. For example: MyPC-name__SUMMARY_WIN7_SP1_x64.txt .
• ADVANCED LOGS:
Windows OS activations;
FLMTC;
User rights;
Get events;
MSInfo32;
Scheduled Tasks;
WhoAmI;
Hotfixes;
GPResult;
Windows update log;
VSSAdmin;
Network adapters;
Proxy Configuration settings
Deployment, servicing logs [ still under development and testing ].
Archive collected logs [ still under development and testing ].
• Changelog tab – more information about the application. Information about the help files / documentation etc.
• About the project tab - why I wanted to give it a try to create it ?
I listed below some screenshots of the application – AdminLogsToolkit, created for the x86 and x64 Platform.
During the time I was trying to develop the application and gaining new precious experience I was thinking of a way to protect/license that program. So, between switching the diversity of hobbies 😊, I did some digging and application trials testing. I know that most applications can be reverse engineered, or license activation bypassed. Well, I wanted to give it a try, have an additional challenge along the way. Therefore, I was looking for the below requirements I had back in time:
A professional software protection and licensing system as a cost effective and easy to implement, yet reliable and non-invasive way to protect x86 and x64-bit Windows software applications from reverse engineering, unauthorized modifications ("cracking") and redistribution ("software piracy") while providing a secure and flexible licensing/registration system. I wanted to have web licensing functionality as well, but this does not have the functionality, yet I was looking for. In the meantime, opened a ticket and this will be improved in the future 😊.
In addition to the above I needed to have reliable support during presales, after purchase and during my adventure developing the idea. I found the below applications:
http://intelliprotector.com
https://www.pelock.com/products/pelock
http://enigmaprotector.com/
https://keygen.sh
http://www.sofpro.com/pc-guard
https://www.wibu.com/solutions/software-licensing.html
https://sentinel.gemalto.com/software-monetization/sentinel-software-licensing-products/
https://www.crypkey.com
but I went using Obsidium Personal License Bundle (x86+x64) as my choice of preference.
When finalizing the created protected application, I also needed a code signing certificate. While checking for free options I looked also for such commercial ones as for a freelancer (in means of not being a company) to get one. Well, for my type of testing I decided to build my own Certificate Authority based on Windows Server 2016 and issue a self-signed one:
Currently it is used for testing only. If I decide to release it publicly available, then maybe the best choice is to use the below code signing vendors:
https://sectigo.com/products/signing-certificates
https://www.globalsign.com/en/
https://www.thawte.com/code-signing/
https://www.certum.eu/en/cert_offer_code_signing/
While looking for ways of protecting what I developed, I also installed several reverse engineering tools on the Windows box I currently run for tests on, as well as educated myself how people do such bypassing and to understand, widen my curiosity:
• IDA Pro 6.5
• .NET reflector Desktop 10
• de4dot
• PE Explorer
• SnowMan plg for IDA Pro
• PEBrowse64 Pro
• Resource Hacker
• Explorer Suite IV
All that software activation bypassing/code analysis is fun and very educational. For me as a hobby enthusiast it was actually very nice to see how it is done by professionals.
After completing version 1.0 of AdminLogsToolkit I decided to proceed with the software protection Obsidium.de application. Below are the listed reasons, some quoted from the website:
- Licensing SDK and a variety of programming language examples how to integrate the solution (C#, C++ Builder 6, C++ Builder 2009, C++ Wrapper, Delphi, ExeOutput for PHP, PureBasic, RealBasic, Visual Basic 6, Visual C++);
- A great software product should be always covered by professional, quick support responses during evaluation and afterwards too.
- Time trials
- Integrated licensing systems using strong public key cryptography
- Dongle support for SenseLock
- Counter-measures against disassembling, debugging, dumping and patching
- File integrity checks
- Hardware locking
- Full Unicode compatibility
- Network Licensing, cool feature if running within an RDS or Citrix environment farm
- Watermarks
- Password protection
- Working with WPF apps - Please note that after analyzing the created portable executable built by Sapien PowerShell Studio, it is a Windows Presentation Foundation App. Well, it might differ from the settings used, but this is by now what I noticed.
I would be happy for receiving any feedback based on your experience. NOT many of the software protection suites I tested, could encrypt WPF or when encrypted run afterwards correctly without crashing :D or causing BSOD on the Windows box.
In an additional blog post there will be more information about Obsidium Software Protection System. I have purchased and use the Personal Full license for Windows x64/x86 for protecting apps.