Monday, 12 January 2015

E2B 1.62Beta8/9 (monthly PIN code support)

A few new tweaks.
Beta9 fixes a bug - if you deleted CONTIG.ISO then it ran isoboot without using the normal partnew code! Thanks to Cristian for reporting this!


  • If you hold down either Left-CTRL key (think 'Ctrl=Crc') whilst selecting a payload file (not a .mnu file) and keep it held down for a few seconds after pressing ENTER to boot to the payload file, E2B will calculate and display the CRC32 value of the file before it runs the payload file. For instance, if an ISO file does not seem to boot correctly, you can find it's CRC32 value and compare it with the CRC32 value of the original file. Note that this feature only works with files that run using QRUN.g4b  - so this CRC32 feature does not work with .mnu menu entries and Windows Install ISOs in the \_ISO\WINDOWS\xx folders.
  • If you hold down a SHIFT key whilst selecting a (linux) ISO file (think 'Shift to isoboot') and keep it held down for a few seconds after pressing ENTER to boot to the payload file, E2B will run it using only isoboot.g4b - in this way you can test out the E2B isoboot feature even if your ISO file is contiguous. Note that isoboot is a 'last resort' attempt to boot a non-contiguous linux ISO - it probably won't work for old or non-standard linux ISOs and quite a few others too!
  • Monthly PIN code - use the MyE2B.cfg file to request a 4-digit pin number from the user before it will load the E2B Main menu. The PIN code automatically changes every month, so you will need to tell the users the PIN code for the next month at the end of the previous month. A small Windows utility (see below) can be provided which the admin can use to display the  monthly PIN numbers. The seed value can be changed so that your E2B version will have a unique set of PIN numbers.

The default SEED is 1985 - here are the codes for the next 2 years.
Set your own SEED value for your own secret PIN numbers.

Here is the MyE2B.cfg section of code which you can add and tweak:

# --- MONTHLY PIN CODE ---
# The user must enter the "PIN code of the month"
# Windows PIN CALCULATOR app is available on request
# VARIABLES BELOW CAN AFFECT ACTIONS OF TP.g4b
# SEED - 4 digits - this is your special SEED number - default is 1985
# set number of allowed attempts - default is very large!
#
# SPECIAL OPTIONS: TESTPIN and PINRETURN
# set TESTPIN as first user guess or else user will be prompted for PIN code - if pin code is wrong, user will be prompted again (unless ATTEMPTS=1)
# if PINRETURN is set then call will always return after n ATTEMPTS or on success. PINRETURN=OK if correct pin number was used.
# Typically use - just set ATTEMPTS and SEED for basic function

if not exist /%grub%/TP.g4b halt
if exist DONEMENU goto :TPfin
#echo E2B VERSION %VER%
set SEED=1985
set ATTEMPTS=3
echo [%SEED%]
call /%grub%/TP.g4b
:TPfin



The code above allows the user 3 attempts to enter the correct PIN number before shutting down the system (switching it off). The correct PIN number for January 2015 with the default SEED of 1985 is 8686.
The SEED number, e.g. [1985], can be displayed to the user. It is more secure if you don't display the SEED but instead you can display the E2B version number or release date as a reference, so that a user can tell you which version they have. The date is obtained from the BIOS which in turn reads the battery-powered Real Time Clock chip on the mainboard. If the RTC battery is dead the date will be incorrect, you will have to use the PIN Calculator to find the required PIN (normally the default date for a flat RTC battery is Jan. 1980).

The Windows PIN Calculator is available on request to anyone who has made a donation. You will need it if you want to use a SEED value other than 1985.

You can publish your PIN code(s) on your website or by email as you desire. When you release a new version you can change the SEED number so that the old version cannot be used. In case of a flat RTC battery, you could also publish the PIN code for 1980-01.

P.S. You can make E2B expire after a certain date by adding a few lines to your MyE2B.cfg file - see here for more details.