admin 管理员组

文章数量: 1184232


2024年4月30日发(作者:数据库管理概论第五章答案)

Winlicense HWID 研究——合集

By david hee

2010/2/28

Winlicense HWID 研究之一:CPUID

/?tid=38518&highlight=

Winlicense HWID 研究之二:BIOS

/?tid=38771&highlight=

Winlicense HWID 研究之三:HD

/?tid=38684&highlight=

Winlicense HWID 研究之四:MAC

/?tid=38736&highlight=

Winlicense HWID 研究之五:程序小结

/?tid=39133&highlight=

Winlicense HWID 研究之六:总结篇(前三节)

/?tid=39133&highlight= (2楼)

Winlicense HWID 研究之六:总结篇(四五节)

/?tid=41922&highlight=

Winlicense HWID 研究——全套源代码

/?tid=39135&highlight=

综述

陆陆续续写了一系列Winlicense HWID 的研究文章,回头看看发现,如果直接合并在

一起,逻辑性不强。只有调整、补充一些内容才象个文章的样。

从《研究之一》到《研究之五》实际上没有什么内容,只是把研究成果与各位网友分享

一下。《研究之六》才有具体的内容,但是只是说明了一下研究目的和调试方法,对HWID

的算法没有具体的说明。在《研究——全套源代码》中用Delphi展示了Winlicense HWID

的算法。

在这个合集中,将重点补充分析一下HWID的结构和算法。

一、为什么要研究HWID

WL的机码锁在shoooo的经典方法下一段时间形同虚设。现在不少软件用SDK二次检

测anti-patch,或者脱壳后功能不正常。我的目的不是脱壳(脱壳大牛们已经做得比较完美

了),只是想用在其他机子上。论坛上没有WL-HWID的资料,只好自力更生。搞清楚HWID

的机制,可以从源头上patch程序。

二、如何研究HWID

shoooo说过,研究TMD/WL,可以先搞低版本的。通过测试,可以发现HWID从

WL1.8.5.5到2.0.8.0一直没变过,也就是说算法一直没变过。嗯,那么就从最简单的开始吧。

先做一个WL-HWID的小程序:

******************************************************************

.386

.model flat, stdcall ;32 bit memory model

option casemap :none ;case sensitive

include Test

;--------------------------------------------------------------------------------

;If you are doing source code breakpoints, this file must be included.

;You don't need it with int 3 breakpoints.

include

;--------------------------------------------------------------------------------

.code

start:

invoke GetModuleHandle,NULL

mov hInstance,eax

invoke InitCommonControls

invoke DialogBoxParam,hInstance,IDD_DIALOG1,NULL,addr DlgProc,NULL

invoke ExitProcess,0

;########################################################################

DlgProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM

mov eax,uMsg

.if eax==WM_INITDIALOG

.elseif eax==WM_COMMAND

pushad

mov eax,1

invoke SetLastError,0

popad

mov eax,wParam

.if ax==HWID_BTN

invoke GetDlgItemText,hWin,HWID_STC,addr MIDtmp ,sizeof MIDtmp

invoke SetWindowText, hWin, addr MIDtmp

invoke GetDlgItem,hWin,HWID_EDT

invoke SetWindowText, eax, addr MIDtmp


本文标签: 研究 脱壳 内容 说明 发现