來研究一下脈衝啟動自製系統 - 改機
By Kristin
at 2011-10-29T14:43
at 2011-10-29T14:43
Table of Contents
※ 引述《cheweichang (夏天就是要游泳 CheWei)》之銘言:
: (前文del......)
: (1)電路相關
: XC2C64A C-mod CPLD 目前買的山寨版有四種Layout
: 相關的電路圖下面有
: http://libxenon.org/index.php?topic=211.0
: 沒屋頂能買到的那個版本,要改的電話頗多(正反面都要改),請注意!
: (2)能不能用其他IC/單晶片取代?(如PIC系列)
: 理論上可以,下方有原始碼,有興趣自己看。
: https://github.com/gligli/tools/tree/master/reset_glitch_hack
: 但為何原作者要用CPLD來做,一定有他的道理。
個人的看法是這東西需要非常精準的觸發時序才有可能成功。上面連結中的說明
顯示,在厚機的破解上,必須在POST CODE 36時插入CPU_PLL_BYPASS指令,擾亂
CPU的時序,然後在POST CODE 39開始時啟動計時器,並在達到 62%指令時間時
送入長度為100 ns(10 MHz)的CPU_RESET 指令(個人猜測有部份的暫存器因此
被清空,導致memcmp的回傳值被判為真),最後再等候一段時間,才關閉
CPU_PLL_BYPASS指令。
在薄機上,由於沒有腳位可以注入CPU_PLL_BYPASS指令,因此擾亂 CPU時序必須
另尋他途,幸好薄機採用了可調式的倍頻生器,而且可自 I2C匯流排下達鎖相迴
路的設定值,薄機的 I2C匯流排又完全不設防,因此成為擾亂 CPU時序的工具。
一樣,在POST CODE D8時藉由 I2C匯流排將降頻的指令送給倍頻器,然後等待
POST CODE D8的到來啟動計時器,等到計時器達到指定值時,給予長度達 20 ns
(50 MHz)的CPU_RESET 指令,最後隔一段時間才回復正確的頻率設置。
在精準度要求很高的狀況中,連取樣造成的時間延遲都必須正確估計,因此作者
採用了比較易於估計時間延遲的CPLD。當然拿FPGA板來弄應該也可以,作者他們
寫的是VHDL,這東西並不太困難懂,比 C/C++還簡單。他們整個程式才 138列而
已。
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
: (前文del......)
: (1)電路相關
: XC2C64A C-mod CPLD 目前買的山寨版有四種Layout
: 相關的電路圖下面有
: http://libxenon.org/index.php?topic=211.0
: 沒屋頂能買到的那個版本,要改的電話頗多(正反面都要改),請注意!
: (2)能不能用其他IC/單晶片取代?(如PIC系列)
: 理論上可以,下方有原始碼,有興趣自己看。
: https://github.com/gligli/tools/tree/master/reset_glitch_hack
: 但為何原作者要用CPLD來做,一定有他的道理。
個人的看法是這東西需要非常精準的觸發時序才有可能成功。上面連結中的說明
顯示,在厚機的破解上,必須在POST CODE 36時插入CPU_PLL_BYPASS指令,擾亂
CPU的時序,然後在POST CODE 39開始時啟動計時器,並在達到 62%指令時間時
送入長度為100 ns(10 MHz)的CPU_RESET 指令(個人猜測有部份的暫存器因此
被清空,導致memcmp的回傳值被判為真),最後再等候一段時間,才關閉
CPU_PLL_BYPASS指令。
在薄機上,由於沒有腳位可以注入CPU_PLL_BYPASS指令,因此擾亂 CPU時序必須
另尋他途,幸好薄機採用了可調式的倍頻生器,而且可自 I2C匯流排下達鎖相迴
路的設定值,薄機的 I2C匯流排又完全不設防,因此成為擾亂 CPU時序的工具。
一樣,在POST CODE D8時藉由 I2C匯流排將降頻的指令送給倍頻器,然後等待
POST CODE D8的到來啟動計時器,等到計時器達到指定值時,給予長度達 20 ns
(50 MHz)的CPU_RESET 指令,最後隔一段時間才回復正確的頻率設置。
在精準度要求很高的狀況中,連取樣造成的時間延遲都必須正確估計,因此作者
採用了比較易於估計時間延遲的CPLD。當然拿FPGA板來弄應該也可以,作者他們
寫的是VHDL,這東西並不太困難懂,比 C/C++還簡單。他們整個程式才 138列而
已。
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
Tags:
改機
All Comments
By Linda
at 2011-11-03T01:34
at 2011-11-03T01:34
By Donna
at 2011-11-07T13:46
at 2011-11-07T13:46
By Kelly
at 2011-11-10T23:32
at 2011-11-10T23:32
By Lauren
at 2011-11-14T09:55
at 2011-11-14T09:55
By Ula
at 2011-11-19T09:06
at 2011-11-19T09:06
By Callum
at 2011-11-19T11:49
at 2011-11-19T11:49
Related Posts
來研究一下脈衝啟動自製系統
By Hedwig
at 2011-10-28T22:57
at 2011-10-28T22:57
將PSN遊戲和PKG裝到移動硬碟或usb
By Thomas
at 2011-10-28T11:33
at 2011-10-28T11:33
來研究一下脈衝啟動自製系統
By Hardy
at 2011-10-27T20:37
at 2011-10-27T20:37
有關multiman select + X 的問題
By Andrew
at 2011-10-27T17:40
at 2011-10-27T17:40
PS3 全裸了嗎?
By Dora
at 2011-10-27T16:25
at 2011-10-27T16:25