OllyDbg 使用筆記 (七),ollydbg使用筆記
OllyDbg 使用筆記 (七)
參考
書:《加密與解密》
視頻:小甲魚 解密系列 視頻
樣本程式下載:http://pan.baidu.com/s/1gvwlS
暴力破解
觀察這個程式。可以從程式標題的<unregistered 個跟 About 中的 <Unregistered Version>入手
用OD開啟程式,右鍵-->尋找-->所有參考文本字串
圖片1
在開啟的介面中,將捲軸移到追上面(因為是從游標處開始搜尋的),右鍵尋找文本,先搜尋<unregistered
圖片2
雙擊找到的文本到代碼處。
005CC81B . E8 9C5FEDFF call 004A27BC005CC820 . A1 8CEB6000 mov eax, dword ptr [60EB8C]005CC825 . 8038 00 cmp byte ptr [eax], 0005CC828 . 0F85 07010000 jnz 005CC935005CC82E . A1 DCF16000 mov eax, dword ptr [60F1DC]005CC833 . 8038 00 cmp byte ptr [eax], 0005CC836 . 0F85 F9000000 jnz 005CC935005CC83C . 68 70CB5C00 push 005CCB70 ; ASCII "PC Surgeon <unregistered - "005CC841 . D905 3CCA5C00 fld dword ptr [5CCA3C]005CC847 . A1 8CEC6000 mov eax, dword ptr [60EC8C]005CC84C . DC20 fsub qword ptr [eax]005CC84E . 83C4 F4 add esp, -0C005CC851 . DB3C24 fstp tbyte ptr [esp]005CC854 . 9B wait
仔細查看,前面的跳轉,可以發現 jnz 005CC935 很關鍵。在前面一個jnz 005CC935處下斷點,重新運行程式,發現第這兩個jnz 005CC935 未跳轉。
把第一個cmp byte ptr [eax], 0 改成 cmp byte ptr [eax], 1 使跳轉實現。
按照同樣的方法,搜尋<Unregistered Version>,跟改跳轉實現,即可破解程式。
其他方法
再來看看這段代碼:
005CC811 . E8 12B9E6FF call <jmp.&shell32.ShellExecuteA> ; \ShellExecuteA005CC816 > B8 58CB5C00 mov eax, 005CCB58 ; ASCII "Show: splash"005CC81B . E8 9C5FEDFF call 004A27BC005CC820 . A1 8CEB6000 mov eax, dword ptr [60EB8C]005CC825 . 8038 00 cmp byte ptr [eax], 0005CC828 . 0F85 07010000 jnz 005CC935005CC82E . A1 DCF16000 mov eax, dword ptr [60F1DC]005CC833 8038 00 cmp byte ptr [eax], 0005CC836 0F85 F9000000 jnz 005CC935005CC83C . 68 70CB5C00 push 005CCB70 ; ASCII "PC Surgeon <unregistered - "005CC841 . D905 3CCA5C00 fld dword ptr [5CCA3C]005CC847 . A1 8CEC6000 mov eax, dword ptr [60EC8C]005CC84C . DC20 fsub qword ptr [eax]005CC84E . 83C4 F4 add esp, -0C005CC851 . DB3C24 fstp tbyte ptr [esp]005CC854 . 9B wait
這裡有兩個jnz 005CC935 。判斷分別判斷[[60EB8C]] 跟 [[60F1DC]] 是否為0。 從 fld dword ptr [5CCA3C] 可以發現[5CCA3C]中是15.0 即試用天數。
仔細分析可以發現第一個jnz為判斷是否正常,第二個為判斷是否超過15天使用期。
所以[[60EB8C]]的值非常關鍵。要找出改[[60EB8C]]的值的地方。
選中mov eax, dword ptr [60EB8C] , 右鍵-->尋找參考-->地址常量,即可列出所有使用了這個地址的命令的位置。
圖片3
在此視窗右鍵-->在每個命令上設定斷點。重新運行程式。
圖片4
按F9,來到此處:
005C2BF6 . 8B15 8CEB6000 mov edx, dword ptr [60EB8C] ; pcsurgeo.00610C4A005C2BFC . 8802 mov byte ptr [edx], al005C2BFE . A1 8CEB6000 mov eax, dword ptr [60EB8C]005C2C03 . 8038 00 cmp byte ptr [eax], 0005C2C06 . 75 0D jnz short 005C2C15005C2C08 . E8 6307EEFF call 004A3370005C2C0D . A1 8CEC6000 mov eax, dword ptr [60EC8C]005C2C12 . DD18 fstp qword ptr [eax]005C2C14 . 9B wait
看到 mov byte ptr [edx], al 正是給[[60EB8C]] 賦值的地方,把它改成 mov byte ptr [edx], 1,即可破解。
(在儲存過程中會出現 重定位提示視窗,因為mov byte ptr [edx], al改成mov byte ptr [edx], 1後代碼變多了,要重定位才可能正常運行。這裡可以先不用管它。)
初一(七年級)一共有幾門課程? 什課程要做筆記?(那幾門可以使用同一個本子記筆記?)
我現在是高二,初一課程是語文,數學,英語,政治,曆史,生物,地理,到初二我們還加了物理,初三又加了化學,當然這三年都有音體美。
對於初中生來說,
1.數學建立錯誤修正本,不過一般人堅持不下來啦。
2.英語必須要有課堂筆記本(記老師講的文法,片語+平日的錯題),這是必須要建的,因為高一時簡單的文法短語英語老師不會再講,這時你的初中筆記會派上作用,而且初三複習也會很紮實調理哦。
3.曆史要建立課堂筆記,一般曆史老師會在黑板上板書很條理的,每節課都要整理,這樣複習時很條理,所以一定要建曆史課堂筆記本,建議你買大點的本子,好整理。告訴你一個記曆史課堂筆記的絕招,課堂上千萬不能光記筆記不聽講,所以記筆記時間很緊,建議你找一摞白紙,每節課把老師的板書快速潦草記在白紙上,課後慢慢整理,若你課後懶,可以結合別的同學的筆記,當然最好自己整理,這樣印象深。
4.政治不需建立筆記本,一節課有一兩個重點題老師會指導你在書上畫出來,書上全都有,不用筆記本-------當然若你老師不規定的話。
5.生物和地理我們到初二就會考,考完,初三就不學了生物和地理了,(當然,你不一定,因為我是山東的,政策也許不一樣),生物和地理不用課堂筆記,預習好,上課好好聽不難學,重點都在書上。
6.物理和化學必須建立課堂筆記,很重要。
7.語文不用建立課堂筆記,但要建立讀寫本或讀書筆記本,這個根據你語文老師的要求吧。
上初中不用太緊張,只要按照認真預習,聽講,練習,複習來做,成績不會太差。
綜上所述,英語,曆史必須建立課堂筆記,數學自願建立錯誤修正本,物理化學到學的時候必須建立課堂筆記本,其餘課程重點都認真記在書上就行了。
看你的提問就知道你很在乎學習,不錯哦,繼續加油。
打字好累啊
我買了一個新筆記本,用魯大師檢測硬碟使用時間為七個小時,次數為31這是正品電腦
這是正常的,因為出廠要經過開機關機檢測,裝系統等操作這是必須的,貨物運輸到專賣店,售後又要經過開機驗貨檢測等,總之正品電腦不是用開機時間來評價的,主要是看序號,一台電腦一個序號上官網上查證就知道是不是正品電腦了。