大地非典預防系統 V1.0筆記,希望大家注意身體!
這一份筆記是一個非常不完整的筆記,但我把它發出來的原因是:
我本人剛剛從醫院回家(非典剛好),我知道非典是多麼可怕,在我39度高燒不退的時候什麼藥都沒辦法,當時我以為自己死定了......
後來醫生說我抵抗力強,身體好!高燒才能退下去的!
所以現在才能在論壇和大家灌水!((我在這裡呼籲大家平時有時間就多運動,如打打籃球什麼的,我就常常打籃球的......過去的事,不多說了!)
我把這文章貼出來的原因事希望大家把它下載回家認真讀讀,應該會對你有幫助的!
【下載頁面】:http://ltyj.51.net/show.php?id=39&t=soft
【軟體大小】:1872 KB
【軟體簡介】: 一款設計精美,操作方便,關係到世界人民身體健康的"非典"預防軟體,她提供了整套的有關"非典"的途徑、狀況、防治、藥療、法律、預防、熱線、醫院及線上收看最新動態等綜合資訊,使能得到及時預防,讓生命永遠屬於您和您的家人。
【軟體限制】:只能試用十次,不輸入註冊碼的話就不能再用了!
【作者宣告】:只是個人興趣,讀者看後所做出的一切事情與我無關,我也不負責,希望讀者能三思再後行!
【破解工具】:w32Dasm TRW2K PEid AspackDie
―――――――――――――――――――――――――――――――――
【過 程】:用PEid發現在主程式FRun.Exe是用ASPack 2.x加的殼,那麼我就用AspackDie脫殼(0.99M->3.25M)
然後用w32Dasm反彙編,結果我哭....(什麼也沒有,全是看不懂的東東...)!
那麼只好拿出"傢伙"TRW2K來了...
執行程式FRun.Exe然後選擇註冊,填入78787878 ctrl+n撥出TRW2K 下斷點bpx hmemcpy F5出來後按確定馬上攔下!
按16次F12到但出錯誤的對話方塊!那麼再來一次,這當然是按15次F12了!來到了下面!按了N次F10後來到下面!
:004C3F5E
:0040485E
:0058BA25 8BD8
mov ebx, eax
:0058BA27 33C0
xor eax, eax
:0058BA29 55
push ebp
:0058BA2A 68C5BA5800 push
0058BAC5
:0058BA2F 64FF30 push
dword ptr fs:[eax]
:0058BA32 648920 mov
dword ptr fs:[eax], esp
:0058BA35 8D55F8 lea
edx, dword ptr [ebp-08]
:0058BA38 A19CEA6B00 mov eax,
dword ptr [006BEA9C]
:0058BA3D 8B00
mov eax, dword ptr [eax]
:0058BA3F E84085F3FF call
004C3F84 \\??演算法CALL(不知道也不明白)
F8進去!
:0058BA44 8D55FC lea
edx, dword ptr [ebp-04]
:0058BA47 A19CEA6B00 mov eax,
dword ptr [006BEA9C]
:0058BA4C 8B00
mov eax, dword ptr [eax]
:0058BA4E E83185F3FF call
004C3F84 \\??演算法CALL(不知道也不明白)
F8進去!
:0058BA53 8B55F8 mov
edx, dword ptr [ebp-08] \\這裡是錯誤的註冊碼!
:0058BA56 8B45FC mov
eax, dword ptr [ebp-04] \\這裡是正確的註冊碼!
:0058BA59 E8A2D9E7FF call
00409400 \\!!關鍵CALL!F8追進去!
:0058BA5E 8BF0
mov esi, eax \\EAX=ESI
:0058BA60 85F6
test esi, esi \\比較是否為零
:0058BA62 7511
jne 0058BA75 \\不是零的話就跳到下面死掉!爆破!
:0058BA64 66837B5200 cmp word
ptr [ebx+52], 0000
:0058BA69 743F
je 0058BAAA
:0058BA6B 8BD3
mov edx, ebx
:0058BA6D 8B4354 mov
eax, dword ptr [ebx+54]
:0058BA70 FF5350 call
[ebx+50] \\這裡是彈出註冊成功的對話方塊的!
:0058BA73 EB35
jmp 0058BAAA
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:0058BA62(C)
|
:0058BA75 66837B5A00 cmp word
ptr [ebx+5A], 0000
:0058BA7A 7408
je 0058BA84
:0058BA7C 8BD3
mov edx, ebx
:0058BA7E 8B435C mov
eax, dword ptr [ebx+5C]
:0058BA81 FF5358 call
[ebx+58] \\這裡是彈出註冊失敗的對話方塊!
-------------------------------------------------------------------------------
:0058BA3F E84085F3FF
call 004C3F84
F8來到這裡:
:004C3F84 53
push ebx
:004C3F85 56
push esi
:004C3F86 8BF2
mov esi, edx
:004C3F88 8BD8
mov ebx, eax
:004C3F8A 837B0800 cmp
dword ptr [ebx+08], 00000000
:004C3F8E 750D
jne 004C3F9D
* Possible StringData Ref from
Code Obj ->"錯誤:引數區為空,無引數可取"
|
:004C3F90 B8BC3F4C00 mov eax,
004C3FBC
:004C3F95 E84AABFEFF call
004AEAE4
:004C3F9A 5E
pop esi
:004C3F9B 5B
pop ebx
:004C3F9C C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004C3F8E(C)
|
:004C3F9D 8BC6
mov eax, esi
:004C3F9F 8B530C mov
edx, dword ptr [ebx+0C]
:004C3FA2 8B4B08 mov
ecx, dword ptr [ebx+08]
:004C3FA5 8B148A mov
edx, dword ptr [edx+4*ecx] \\這裡D EDX可以看到密匙123456
:004C3FA8 E86F08F4FF call
0040481C
:004C3FAD FF4B08 dec
[ebx+08]
:004C3FB0 5E
pop esi
:004C3FB1 5B
pop ebx
:004C3FB2 C3
ret
\\返回到0058BA44!
-------------------------------------------------------------------------------
:0058BA4E E83185F3FF call
004C3F84
F8來到這裡:
:004C3F84 53
push ebx
:004C3F85 56
push esi
:004C3F86 8BF2
mov esi, edx
:004C3F88 8BD8
mov ebx, eax
:004C3F8A 837B0800 cmp
dword ptr [ebx+08], 00000000
:004C3F8E 750D
jne 004C3F9D
* Possible StringData Ref from
Code Obj ->"錯誤:引數區為空,無引數可取"
|
:004C3F90 B8BC3F4C00 mov eax,
004C3FBC
:004C3F95 E84AABFEFF call
004AEAE4
:004C3F9A 5E
pop esi
:004C3F9B 5B
pop ebx
:004C3F9C C3
ret
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:004C3F8E(C)
|
:004C3F9D 8BC6
mov eax, esi
:004C3F9F 8B530C mov
edx, dword ptr [ebx+0C]
:004C3FA2 8B4B08 mov
ecx, dword ptr [ebx+08]
:004C3FA5 8B148A mov
edx, dword ptr [edx+4*ecx] \\這裡D EDX可以看見真的註冊碼!
:004C3FA8 E86F08F4FF call
0040481C
:004C3FAD FF4B08 dec
[ebx+08]
:004C3FB0 5E
pop esi
:004C3FB1 5B
pop ebx
:004C3FB2 C3
ret
\\返回0058BA53!
-------------------------------------------------------------------------------
:0058BA59 E8A2D9E7FF call
00409400
F8來到這裡:
* Referenced by a CALL at Addresses:
|:0041897A , :00481071 , :005567B0 , :00557AF8
, :0058BA59
|:00654E77 , :006B735F
|
:00409400 56
push esi
:00409401 57
push edi
:00409402 89C6
mov esi, eax \\EAX=ESI=正確的註冊碼!
:00409404 89D7
mov edi, edx \\EDX=EDI=我輸入錯誤的註冊碼!
:00409406 09C0
or eax, eax
\\??或運算,用處不知道,請大哥哥指點!
:00409408 7403
je 0040940D
:0040940A 8B40FC mov
eax, dword ptr [eax-04] \\取得正確註冊的位數!
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00409408(C)
|
:0040940D 09D2
or edx, edx
\\??或運算,用處不知道,請大哥哥指點!
:0040940F 7403
je 00409414
:00409411 8B52FC mov
edx, dword ptr [edx-04] \\取得我輸入註冊碼的位數!
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:0040940F(C)
|
:00409414 89C1
mov ecx, eax \\EAX=ECX
:00409416 39D1
cmp ecx, edx \\比較是否相等!
:00409418 7602
jbe 0040941C \\不等於就跳到下面!
:0040941A 89D1
mov ecx, edx \\EDX=ECX等於我輸入註冊碼的位數!
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00409418(C)
|
:0040941C 39C9
cmp ecx, ecx \\比較,不知道有什麼用,請指點!
:0040941E F3
repz
\\經過這裡有後真假註冊碼都移動了,不知道有什麼用,請指點!
:0040941F A6
cmpsb
\\???不知道有什麼用,請指點!
:00409420 7408
je 0040942A
:00409422 0FB646FF movzx
eax, byte ptr [esi-01]\\取得正確註冊碼第X位的ASCII碼放入EAX
:00409426 0FB657FF movzx
edx, byte ptr [edi-01]\\取得我輸入註冊碼第X位的ASCII碼放入EDX
* Referenced by a (U)nconditional
or (C)onditional Jump at Address:
|:00409420(C)
|
:0040942A 29D0
sub eax, edx
\\相減,結果儲存EAX
:0040942C 5F
pop edi
:0040942D 5E
pop esi
:0040942E C3
ret
------------------------------------------------------------------------
總結:(程式是怎麼運算出註冊碼的,我到現在都還沒有搞懂!請大哥哥指點!)
註冊資訊儲存在登錄檔的:HKEY_CLASSES_ROOT\Ddfd的字串值test裡面,test的值大於100就表示註冊版本,小於否之!
這個程式是把機器碼乘以密匙123456的積和我輸入的註冊碼比較的,也就是說註冊碼就是機器碼乘以密匙123456的積!
我們假定註冊碼是X機器碼是Y那麼:(X=Y*123456)
可惜我不會程式設計,所以做不了序號產生器!(但我感覺這個程式的序號產生器很容易做,會的大哥哥不要笑我...)
這個程式可以爆破!但就是不完美,因為把
:0058BA62 7511
改成:
:0058BA62 9090
之後程式每次執行機器碼都不同了!程式就永遠變成了未註冊版本,沒次執行都是第一次用!(我呆了...)
記憶體序號產生器做不了,因為這個程式在開始執行的時候就會執行經過0058BA59這個地方,所以我想問問大家怎麼辦好!
看來我加入組織的機會渺茫了好多啊!沒辦法!只好用另外一個方法了!
----------------------------------------------------------------------------
就是搬出我個人認為最好用的工具---->REGMON 4.32中文版!
執行REGMON,在執行FRun.Exe,你會發現程式獲取了登錄檔[HKEY_CLASSES_ROOT\Ddfd]的值,在那裡面有兩個字串值test和test1,其中test1是程式隨機產生的機器碼,test是否註冊的標誌!(大於101的是註冊版)那麼你懂了吧,把它改一改就可以了!呵呵...
或者自己動手做一個註冊檔案!新建一個 本文文件 內容如下:
REGEDIT4
[HKEY_CLASSES_ROOT\Ddfd]
"test"="101"
再把本文文件的副檔名由txt改成reg
雙擊執行這個reg檔案就變成註冊版本了!!簡單吧!
在這裡我要謝謝您願意花時間看我這篇文章!謝謝...
2003.05.12 下午於清遠
相關文章
- 系統領域物件設計,希望大家探討2008-08-15物件
- 雙重預防體系建設和系統軟體開發2020-01-13
- 什麼是雙重預防體系?系統開發是如何預防安全事故的2020-01-08
- 預防SQL隱碼攻擊筆記2019-06-18SQL筆記
- 搞笑而真實的專案:非典預防熬藥專案(轉)2007-08-13
- 聯想電腦如何用隨身碟裝系統|聯想筆記本隨身碟裝系統的方法2019-07-05筆記
- 預防性維修系統操作篇2009-02-03
- 防溺水預警識別系統2024-10-14
- 化工企業雙重預防體系數字化綜合管理系統2022-06-08
- 雙重預防體系安全管理平臺,危化行業雙重預防體系資訊化方案2022-05-17行業
- 企業雙重預防體系系統平臺搭建開發哪家好2020-01-08
- 華碩筆記本隨身碟安裝win10系統的方法2019-06-26筆記Win10
- ThinkPad筆記本隨身碟裝系統進不去的問題2017-06-14ThinkPad筆記
- 作業系統——記憶體管理學習筆記2020-09-11作業系統記憶體筆記
- 預防系統病毒,請做好這4點2021-04-22
- 程式設計師要注意身體健康2017-09-12程式設計師
- 微信域名防封跳轉系統的原理,微信域名防封的注意點2020-07-06
- 邁道雙重預防體系智慧化管理系統助力集團施工企業落實雙重預防機制建設2022-12-09
- 宏基筆記本win10系統如何設定隨身碟啟動2019-06-12筆記Win10
- 萊斯系統筆記2020-10-20筆記
- 解密微信域名防封、防紅系統的具體方案2020-07-13解密
- MacTotalSecurity for mac(系統病毒防護軟體)2021-11-15Mac
- 具體資訊系統防護罩2015-03-01
- Ubuntu系統筆記(轉)2007-08-15Ubuntu筆記
- 作業系統筆記2024-07-14作業系統筆記
- Android系統充電系統介紹-預防手機充電爆炸2018-11-22Android
- 筆記:MMM注意事項2014-02-27筆記
- 東芝筆記本如何重灌系統|東芝筆記本重灌系統的方法2019-06-17筆記
- 基於golang分散式爬蟲系統的架構體系v1.02021-05-03Golang分散式爬蟲架構
- 筆記本記憶體條怎麼裝?筆記本裝記憶體條的方法步驟、及注意事項2019-03-06筆記記憶體
- a豆筆記本14如何裝win10系統_a豆筆記本14使用隨身碟重灌win10的方法2020-01-07筆記Win10
- 工會圖書管理系統 V1.02003-03-08
- 作業系統的記憶體對齊機制學習筆記2016-04-04作業系統記憶體筆記
- 寫了一個json小工具,希望大家體驗(Mac平臺)2024-07-16JSONMac
- Linux系統管理筆記2021-09-09Linux筆記
- 分散式系統小筆記2017-07-31分散式筆記
- 筆記-JavaScript[節流][防抖]2018-06-06筆記JavaScript
- sed 學習筆記(與大家共勉)(轉)2007-08-11筆記