view mod7.nsb @ 106:66dc98750bc4

Update mod7.nsb committer: GitHub <noreply@github.com>
author Paper <37962225+mrpapersonic@users.noreply.github.com>
date Tue, 18 Oct 2022 18:42:18 -0400
parents bf6d6304f6f7
children 96e5d721538f
line wrap: on
line source

{if:{argslen}|=|1|then:{
if:{arg:0}|=|--oem|then:{choose:95|96|97|98|99|00|01|02|03}{set:day|{range:1|365}}{repeat:{len:{substring:{repeat:3|a}|{len:{get:day}}}}|0}{get:day}-OEM-{lua:
function sumdigits(n)
	local sum = 0
	while n > 0 do
		sum = sum + n%10
		n = math.floor(n/10)
	end
	return sum
end

the = 1
while (sumdigits(the) % 7 ~= 0) do
	the = (math.random(1, 99999)*10)+math.random(1,7)
end
print(string.format("%07d", the))
}-{set:day|{range:1|99999}}{repeat:{len:{substring:{repeat:5|a}|{len:{get:day}}}}|0}{get:day}|else:
{set:first|{range:111|999}}{
if:{get:first}|=|333|then:{set:first|332}}{
if:{get:first}|=|444|then:{set:first|443}}{
if:{get:first}|=|555|then:{set:first|554}}{
if:{get:first}|=|666|then:{set:first|665}}{
if:{get:first}|=|777|then:{set:first|776}}{
if:{get:first}|=|888|then:{set:first|887}}{
if:{get:first}|=|999|then:{set:first|998}}{get:first}{
if:{arg:0}|=|--office|then:{
if:{substring:{get:first}|2|3}|=|9|then:0|else:{len:{repeat:{substring:{get:first}|2|3}|a}{repeat:1|a}}}}-{lua:
the = 1
while (the % 7 ~= 0) do
	the = (math.random(1, 999999)*10)+math.random(1,7)
end
print(string.format("%07d", the))
}}
|else:{code:
MOD7(1)

NAME
    mod7

SYNOPSIS
    .t mod7 [ option ]

DESCRIPTION
    A generator for old Microsoft products using the
    mod7 key algorithm.

OPTIONS
    --normal
        Generate a normal Windows 95/NT 4 key.
    --office
        Generate a normal Office 97 key.
    --oem
        Generate an OEM Windows 95/NT 4 key.
}}