常見的Hacking方法介紹

Download Report

Transcript 常見的Hacking方法介紹

常見的HACKING方法介紹
資工三 季昭霆
1
OUTLINE
•
HACKING是什麼?
•
HACKER精神
•
常用HACKING方法介紹
•
動態修改
•
動態修改實例
•
靜態修改
•
靜態修改實例
2
HACK是什麼?
•
很多人聽到「Hacker」、「駭客」、「黑客」一詞總是有不少負面的聯想,在
這邊我希望先澄清這是錯誤的觀念,一般會入侵別人電腦搞破壞、散布病毒
搞得人仰馬翻,這類人我們稱之為「Cracker」,這類人雖然有Hacking的技術,
但並沒有Hacker的精神。
•
Hacker 這個詞是用來形容那些熱衷於解決問題、克服限制的人的。從這個意
義上講,hacker 並不單單指(限制於)電子、計算機或網絡 hacker ,hacker的
特質不是處於某個環境中的人所特有的,hacker 的特質可以發揮在其他任何
領域,例如音樂或藝術等方面。事實上,你可以發現,在任何一種科學或藝
術的最高境界,都可以看到 hacker 的特質。
•
「Computer Hacker」這個詞在二十世紀六十年代中期首次出現。黑客一般是程
序員——那些忙忙碌碌編寫程序代碼的人。他們熱愛幻想,總能找到使用計算
機的新方法,編出別人想不到的程序。
3
HACKER精神
•
黑客精神指的就是善於獨立思考、喜歡自由探索的一種思維方式。有一位哲
人曾說過,「精神的最高境界是自由」,黑客精神正是這句話的生動寫照。
看看黑客是怎樣看待、思考並解決問題的,我們就能更直觀、更深刻地理解
黑客精神的蘊涵。
•
黑客們有一個共同的特點,那就是擁有強烈的好奇心,他們有時甚至達到痴
迷的地步。黑客不僅以自己開發程序的能力而自豪,並且還以能夠破解別人
編制的程序或系統為榮。如果程序有bug——妨礙程序正常運行的錯誤代碼—
—黑客們通常會開發一些稱為補丁的簡短代碼來解決。有些黑客找到了能夠
施展拳腳的工作,還能拿到薪水。
•
隨著計算機技術的進步,電腦工程師們開始把單機聯接成網絡。黑客這個詞
很快也有了新的解釋——使用計算機進入無權訪問的網路的人。通常黑客們並
沒有惡意。他們只是想知道計算機網絡是如何工作的,並且將了解不同網絡
之間的屏障以及與此相關的知識視為一種挑戰。
4
常見的HACKING方法介紹
•
一般不管我們拿到了一個遊戲、或是一個應用程式,功能不符合自己的需求,
但是根據自己的經驗應該是做點小修正就可以修正(或Bypass)的時候我們就可
以進行一點簡單的HACK來達到我們需要的目的。
•
HACK的方式有很多,但一般分為兩大項目:
• 靜態修改
• 動態修改
5
動態修改
•
大家應該都知道,程式中有變數的存在,動態修改就是透過外在工具修改記
憶體中的數值達到hack的效果,原理非常簡單,只要不斷掃描記憶體,過濾
出變動過的數值進行分析後即可知道關鍵地址。
•
優點:簡單易學,抓取位置容易,非常適合初學者,同時也不需要程式設計
相關知識。
•
缺點:仍然受程式代碼限制,無法更動既有規則、同時系統也需要另外安裝
修改工具。
•
經典動態修改工具:Cheat Engine、整人專家Fix People Expert、遊戲修改大師
Game Master
6
動態修改實例操作
•
透過一些簡單的操作 就可以達成如圖下的效果:
7
靜態修改
•
比起動態修改,靜態修改就需要比較多的專業知識,如常見的資料型態、浮
點數的儲存方式、組合語言的使用、尋找Code Cave等等,一般常見的破解補
丁、漢化補丁都是屬於這類的Hacking方式。
•
優點:可以自由的將自己的創意和想法加諸在程式上面,不受既定規則的限
制,想做什麼就做什麼
•
缺點:入門難度從中到非常高都有,端看自己要改的程式而定。
•
常用工具:OlleyDbg、W32Dasm、IDA
8
靜態修改實作範例:
•
某現役知名網路遊戲的部分代碼:
9
靜態修改效果實例
10