软件打开界面:

Enigma所有版本过注册 高版本通过PATCH HWID方式_Enigma

 

V2.0以下的貌似只要跳过注册框即可,无需解码。(以下内容摘自本人发自upk的原创,并非抄袭)
以下以V3.7为例子PATCH HWID:
一,查找HWID生成地址:
1,
Enigma所有版本过注册 高版本通过PATCH HWID方式_Enigma_02



先在.rsrc和.data中间的这个区段(0101B000)下内存写入断点,这个区段其实就是Enigma自己验证的一个dll(DLL_Loader.dll)。,
2,
Enigma所有版本过注册 高版本通过PATCH HWID方式_Enigma_03

类似1428B2C 行的REP ……就是解码部分。解码完毕后:
Enigma所有版本过注册 高版本通过PATCH HWID方式_注册_04

3,存为DLL文件:
双击0101B000区段,保存数据到文件,选择为dll文件。此时即可把 Enigma所有版本过注册 高版本通过PATCH HWID方式_注册_05
Enigma自身的DLL_Loader.dll给保存起来,如果输出表打不开,那么需要修正RAW地址。(3.7版本的保存后可以直接打开不用修正)
Enigma所有版本过注册 高版本通过PATCH HWID方式_注册_06 

4,在DLL_Loader.dll中可以看到EP_RegHardwareID的RVA,
V3.7版本以下的:
0C80F4 +0101B000 (IMAGE BASE)即是程序中的地址,下断点,断完之后可以通过慢慢跟踪获得机器码的位置。
也可以使用搜索所有 MOV EAX,DWORD PTR DS:[EDI]命令,下全部断点后运行,中断后可获得机器码位置。
V3.7版本: EP_RegHardwareID的实际偏移地址为:0x0C253C。 而不是dll所看到的偏移值。
下断 IMAGEBASE + 0xC253C 即可断在实际的EP_RegHardwareID函数上。
如这个例子实际应该下断: HE 0C253C + 0101B000
断点后通过搜索MOV EAX,DWORD PTR DS:[EDI]命令即可断在机器码生成处。

以上只是一种快捷方法,通过一步步跟踪也可到达。