看板 Modchip 關於我們 聯絡資訊
※ 引述《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列而 已。 -- ____ _ _ _ _ ____ _ _ ____ _____ ____ (_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \ _)(_ ) ( \ / )__) ) ( )( )(_)( ) / (____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.31.137
jikanson:138列的程式碼就搞死凶盒子 10/29 15:41
cassine:那只不過是想法的實證(Proof of Concept)而已 10/29 16:23
M5D6:用DSP作 ?? XD 10/29 20:55
cassine:只要能精密估計時間延遲的可程式化元件應該都可以應用 10/30 18:07
cassine:TI那堆貴得要死的DSP應該也能達成類似功能 10/30 18:07
suvsuv:這串好專業 看不懂 不過我希望可以降價 改自製好貴 11/02 01:03
currencly:這串專業到 不知怎麼發問.. 02/12 03:06