Enigma v4&v5 HWID Changer
Enigma v4&v5 HWID Changer
// https://forum.tuts4you.com/topic/37064-unpackme-the-enigma-protector-43-x32-
patch-hwid-and-unpackme
// https://forum.tuts4you.com/topic/38285-enigma-protector-52
// Enter new HWID (to be set) under HWID variable with or without "-"
var HWID
var HWIDLen
var HWIDLoc
var VirtualFree
var EnigmaBase
var EnigmaVM
var i
var char
var Offset
var Calc1
var Calc2
var CSize
var Hook
var ODbgScriptVersion
mov HWID, "457CD-F8351-34E5F-6C41E"
log "The new HWID to be set should be entered in HWID var"
CheckAF:
cmp char, 046
ja InvalidChar // if > 'F'
cmp char, 041
jae NextChar // if >= 'A'
InvalidChar:
log "Invalid char in HWID, not a hex string"
ret
NextChar:
inc Offset
cmp char,0
jnz ReplaceChar_CheckChar
log HWIDLen
alloc 1000
mov Hook, $RESULT
log Hook
var ReadPlace
alloc 28
mov ReadPlace, $RESULT
var ProtectOffset
mov ProtectOffset,ReadPlace
add ProtectOffset,14
var CurrentPos
mov CurrentPos, Hook
var lstrlen
gpa "lstrlenA", "kernel32.dll"
mov lstrlen, $RESULT
var ReadMem
gpa "ReadProcessMemory", "kernel32.dll"
mov ReadMem, $RESULT
var VirtualQuery
gpa "VirtualQuery", "kernel32.dll"
mov VirtualQuery, $RESULT
var IsBadReadPtr
gpa "IsBadReadPtr", "kernel32.dll"
mov IsBadReadPtr, $RESULT
var IsValidHex
alloc 1000
mov IsValidHex, $RESULT
log IsValidHex
var CurrentPos2
mov CurrentPos2, IsValidHex
var EnigmaVMAfter
mov EnigmaVMAfter, EnigmaVM
add EnigmaVMAfter, 9