M1卡破解密碼控制位及控制規(guī)則_第1頁
M1卡破解密碼控制位及控制規(guī)則_第2頁
M1卡破解密碼控制位及控制規(guī)則_第3頁
M1卡破解密碼控制位及控制規(guī)則_第4頁
M1卡破解密碼控制位及控制規(guī)則_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一、主要指標l 容量為8K位EEPROMl 分為16個扇區(qū),每個扇區(qū)為4塊,每塊16個字節(jié),以塊為存取單位l 每個扇區(qū)有獨立的一組密碼及訪問控制l 每張卡有唯一序列號,為32位l 具有防沖突機制,支持多卡操作l 無電源,自帶天線,內(nèi)含加密控制邏輯和通訊邏輯電路l 數(shù)據(jù)保存期為10年,可改寫10萬次,讀無限次l 工作溫度:-2050l 工作頻率:13.56MHZl 通信速率:106KBPSl 讀寫距離:10mm以內(nèi)(與讀寫器有關(guān))二、存儲結(jié)構(gòu)1、M1卡分為16個扇區(qū),每個扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,(我們也將16個扇區(qū)的64個塊按絕對地址編號為063,存貯結(jié)構(gòu)如下圖所示:塊0數(shù)據(jù)塊

2、0扇區(qū)0 塊1數(shù)據(jù)塊1塊2數(shù)據(jù)塊2塊3密碼A 存取控制 密碼B控制塊3塊0數(shù)據(jù)塊4扇區(qū)1塊1數(shù)據(jù)塊5塊2數(shù)據(jù)塊6塊3密碼A 存取控制 密碼B控制塊70數(shù)據(jù)塊60扇區(qū)15 1數(shù)據(jù)塊612數(shù)據(jù)塊623密碼A 存取控制 密碼B控制塊632、第0扇區(qū)的塊0(即絕對地址0塊),它用于存放廠商代碼,已經(jīng)固化,不可更改。3、每個扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存貯數(shù)據(jù)。數(shù)據(jù)塊可作兩種應(yīng)用: 用作一般的數(shù)據(jù)保存,可以進行讀、寫操作。 用作數(shù)據(jù)值,可以進行初始化值、加值、減值、讀值操作。4、每個扇區(qū)的塊3為控制塊,包括了密碼A、存取控制、密碼B。具體結(jié)構(gòu)如下:A0 A1 A2 A3 A4 A5 FF 07

3、 80 69 B0 B1 B2 B3 B4 B5密碼A(6字節(jié)) 存取控制(4字節(jié)) 密碼B(6字節(jié)) 5、每個扇區(qū)的密碼和存取控制都是獨立的,可以根據(jù)實際需要設(shè)定各自的密碼及存取控制。存取控制為4個字節(jié),共32位,扇區(qū)中的每個塊(包括數(shù)據(jù)塊和控制塊)的存取條件是由密碼和存取控制共同決定的,在存取控制中每個塊都有相應(yīng)的三個控制位,定義如下:塊0: C10 C20 C30塊1: C11 C21 C31塊2: C12 C22 C32塊3: C13 C23 C33三個控制位以正和反兩種形式存在于存取控制字節(jié)中,決定了該塊的訪問權(quán)限(如 進行減值操作必須驗證KEY A,進行加值操作必須驗證KEY B,

4、等等)。三個控制位在存取控制字節(jié)中的位置,以塊0為例:對塊0的控制:bit 7 6 5 4 3 2 1 0字節(jié)6C20_bC10_b字節(jié)7C10C30_b字節(jié)8C30C20字節(jié)9( 注: C10_b表示C10取反 )存取控制(4字節(jié),其中字節(jié)9為備用字節(jié))結(jié)構(gòu)如下所示:bit 7 6 5 4 3 2 1 0字節(jié)6C23_bC22_bC21_bC20_bC13_bC12_bC11_bC10_b字節(jié)7C13C12C11C10C33_bC32_bC31_bC30_b字節(jié)8C33C32C31C30C23C22C21C20字節(jié)9( 注: _b表示取反 )6、數(shù)據(jù)塊(塊0、塊1、塊2)的存取控制如下:控制

5、位(X=0.1.2)訪 問 條 件 (對數(shù)據(jù)塊 0、1、2)C1XC2XC3XReadWriteIncrementDecrement, transfer,Restore000KeyA|BKeyA|BKeyA|BKeyA|B010KeyA|BNeverNeverNever100KeyA|BKeyBNeverNever110KeyA|BKeyBKeyBKeyA|B001KeyA|BNeverNeverKeyA|B011KeyBKeyBNeverNever101KeyBNeverNeverNever111NeverNeverNeverNever(KeyA|B 表示密碼A或密碼B,Never表示任何條

6、件下不能實現(xiàn))例如:當塊0的存取控制位C10 C20 C30= 0 0 1時,驗證密碼A或密碼B正確后可讀;驗證密碼B正確后可寫;不能進行加值、減值操作。7、控制塊塊3的存取控制與數(shù)據(jù)塊(塊0、1、2)不同,它的存取控制如下:密碼A存取控制密碼BC13C23C33ReadWriteReadWriteReadWrite000NeverKeyA|BKeyA|BNeverKeyA|BKeyA|B010NeverNeverKeyA|BNeverKeyA|BNever100NeverKeyBKeyA|BNeverNeverKeyB110NeverNeverKeyA|BNeverNeverNever001

7、NeverKeyA|BKeyA|BKeyA|BKeyA|BKeyA|B011NeverKeyBKeyA|BKeyBNeverKeyB101NeverNeverKeyA|BKeyBNeverNever111NeverNeverKeyA|BNeverNeverNever例如:當塊3的存取控制位C13 C23 C33= 0 0 1時,表示:密碼A:不可讀,驗證KEYA或KEYB正確后,可寫(更改)。存取控制:驗證KEYA或KEYB正確后,可讀、可寫。密碼B:驗證KEYA或KEYB正確后,可讀、可寫。 新卡片中的控制字(FF 07 80 69)密碼A可用,密碼B不可用; 推薦的控制字方案一:7F 07

8、 88 69此控制字說明:數(shù)據(jù)塊:用密碼A或B都可以讀寫; 控制塊:密碼A:由密碼B來寫,不可讀;密碼B:由密碼B來寫,不可讀;控制字:用密碼A或B都可讀,由密碼B寫;方案二:08 77 8F 69此控制字說明:數(shù)據(jù)塊:用密碼A讀,由密碼B讀寫;控制塊:密碼A:由密碼B來寫,不可讀;密碼B:由密碼B來寫,不可讀;控制字:用密碼A或B都可讀,由密碼B寫;三、卡片卡片的電氣部分只由一個天線和ASIC組成。天線:卡片的天線是只有幾組繞線的線圈,很適于封裝到IS0卡片中。ASIC:卡片的ASIC由一個高速(106KB波特率)的RF接口,一個控制單元和一個8K位EEPROM組成。四、對數(shù)據(jù)塊的操作讀 (

9、Read):讀一個塊;寫 (Write):寫一個塊;加(Increment):對數(shù)值塊進行加值;減(Decrement):對數(shù)值塊進行減值;存儲(Restore):將塊中的內(nèi)容存到數(shù)據(jù)寄存器中;傳輸(Transfer):將數(shù)據(jù)寄存器中的內(nèi)容寫入塊中;中止(Halt):將卡置于暫停工作狀態(tài);對于電腦周邊編程,主要有兩種思路(應(yīng)該沒有第三種了)?!驹敿氄f明見我博文永和豆?jié){管理系統(tǒng)基礎(chǔ)工作總結(jié)】一、利用windows系統(tǒng)本身dll庫。二、利用硬件產(chǎn)家提供的dll。本篇對M1卡的編程是利用上述第二種方法。M1卡最為重要的優(yōu)點是可讀可寫并且安全性高的多功能卡。這些優(yōu)點與其自身的結(jié)構(gòu)密不可分。M1結(jié)構(gòu):M

10、1卡分為16個扇區(qū),每個扇區(qū)4塊(塊03),共64塊,按塊號編址為063。第0扇區(qū)的塊0(即絕對地址0塊)用于存放廠商代碼,已經(jīng)固化,不可更改。其他各扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,用于存貯數(shù)據(jù);塊3為控制塊,存放密碼A、存取控制、密碼B。每個扇區(qū)的密碼和存取控制都是獨立的,可以根據(jù)實際需要設(shè)定各自的密碼及存取控制。M1卡運作機理:連接讀寫器尋卡識別卡(獲取卡序列號)從多卡中選一張卡向卡中緩沖區(qū)裝載密碼驗證密碼進行讀寫關(guān)閉連接即(代碼說明)Open_USBrf_requestrf_anticollrf_selectrf_load_keyrf_authentication(/a_hex)rf_r

11、ead/rf_write(hex_a)Close_USB如果概括來說的話,主要也就四部分 開關(guān)連接、尋卡、驗證密碼、讀取。(至于詳細程序代碼,相信大家自己看過dll說明文檔后,自己會明白的,這里就不寫了,因為內(nèi)容多)M1卡功能模式:1.尋卡模式:尋卡模式分三種情況:IDLE模式、ALL模式及指定卡模式(0,1,2 均是int類型,是方法參數(shù),下同)。0表示IDLE模式,一次只對一張卡操作;1表示ALL模式,一次可對多張卡操作;2表示指定卡模式,只對序列號等于snr的卡操作(高級函數(shù)才有)【不常用】也就是說,我們一次也可以同時操作多張卡。對于多卡操作,其實際真正執(zhí)行操作的還是一張卡。讀寫器能識別

12、多張卡的序列號(但注意識別出的順序是不定的,并且最多也就能識別4張卡,因為卡疊放的厚度太厚,會超出讀寫器的識別范圍),并一一進行操作。所以由此看出,多卡操作的意義并不大。但我建議大家還是設(shè)置為1好了(原因不說了,自己感受吧,其實無所謂)。2.密碼驗證模式:0KEYSET0的KEYA4KEYSET0的KEYBM1卡可以在驗證密碼時選擇密碼類型(A/B)?!酒鋵峂1卡有3套密碼(KEYSET0、KEYSET1、KEYSET2),共6個密碼(用02、46來表示這六個密碼),目的是為了適應(yīng)不同讀寫器。而這里我們用的是KEYSET0的2個密碼】M1卡密碼機制:這可以說是M1卡的精髓了,也是M1卡最為復(fù)雜

13、的地方,希望大家耐心看完。(請先看明白M1卡結(jié)構(gòu))如上所說,在存取控制中每個塊都有相應(yīng)的三個控制位,它們的定義如下:塊0: C10 C20 C30塊1: C11 C21 C31塊2: C12 C22 C32塊3: C13 C23 C33一個扇區(qū)的三個數(shù)據(jù)塊,我們可以利用密碼機制對它們分別進行權(quán)限控制。數(shù)據(jù)塊(塊0、塊1、塊2)的存取控制如下:例如:當塊0的存取控制位C10 C20 C30=100時,驗證密碼A或密碼B正確后可讀;驗證密碼B正確后可寫;不能進行加值、減值操作。那么M1卡修改密碼的方法是rf_changeb3參數(shù):icdev:通訊設(shè)備標識符_SecNr:扇區(qū)號(015)KeyA:密碼A_B0:塊0控制字,低3位(D2D1D0)對應(yīng)C10、C20、C30_B1:塊1控制字,低3位(D2D1D0)對應(yīng)C11、C21、C31_B2:塊2控制字,低3位(D2D1D0)對應(yīng)C12、C22、C32_B3:塊3控制字,低3位(D2D1D0)對應(yīng)C13、C23、C33_Bk:保留參數(shù),取值為0_KeyB:密碼B由上我們看出_B0、_B1、_B2、_B3分別控制塊0、塊1、塊2、塊3。由圖我們可知_B0、_B1、_B2的可取值為 0、10、10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論