首先我們做一個假的LyricsShow.lcs,sn就填78787878(每次都填這個,習慣了)啟動
winamp,載入ls,然後開啟winhex,用它的記憶體編輯功能在ls的main記憶體裡尋找78787878,
記下地址是112e8e0。下一步要做的是在ls的地盤攔截對它的讀取,這難不倒我:)。右擊
ls主視窗點檢視資訊,在s-ice裡下bpx lockmytask,然後點確定,按20次f12進入ls領空
,下bpm 112e8e0,好的unload ls and load it again,被攔到了,按幾次f5發現它把7
8787878放到了112e8e0,成功了20%呵呵......,下面的我簡單說了,運算太複雜了沒看懂
:(,它把你的user,email,computername,sn.id做一系列的變態運算然後把結果放到固定
的位置等待判我的死刑-_-。
我經過若干minutes的努力找到了關鍵的判斷點
47093d mov eax,[47a0c8] //把已換成4位16進值數的註冊碼地址->eax
47093d mov eax,[eax] //把假sn 78787878->eax
470944 xor eax,[ebp-40] //拿它與之前算好的數做異或,結果->eax
470947 xor eax,[ebp-30] //繼續與之前算好的數做異或,結果->eax
47094a mov edx,[47a0c8] //把結果覆蓋到原來存78787878的地址裡
470950 mov [edx],eax
470952 mov eax,[47a0c8]
470957 mov eax,[eax] //把剛才的結果放到edx
470959 mov edx,[47a0f0]
47095f xor eax [edx] //拿它與edx地址的數做異或,結果->eax
470961 mov edx,[47a508]
470967 mov [edx],eax //把結果->edx所指向的地址裡等待判斷
.
.
.
46f929 mov eax,[47a508]
46f92e mov eax,[eax]
46f930 mov edx,[47a2f4]
46f936 cmp eax,[edx] //最後的比較了
46f938 mov eax,[47a134]
46f93d setz byte ptr [eax] //置1就成功了
46f940 mov eax,[47a134]
46f945 cmp byte ptr [eax],00 //是1麼?
46f948 jz 46f986 //不是就去死吧:(
完活
core的都是神仙麼,寫出了這個玩藝的序號產生器,我倒~~~~~~~~~~~~
太佩服它們了^^
一個有效的key license
LyricsShow.lcs
[License]
User=zombieys
Email=zombieys@263.net
ComputerName=ZOMBIEYS
WaveDeviceName=OPL3-SA Playback (v3.3)
SN=78787878
ID=ION