聲明:
- 本文僅是作者學(xué)習(xí)探索的心里路程日記,如果您看完以后,從中獲得了一些經(jīng)驗,作者不勝榮幸。
- 文章中的方法仍需要經(jīng)濟支出,借助他人工具完成,如讀者想全憑個人之力從零制作自己的讀卡解碼設(shè)備,可至此結(jié)束。
1 作者大意丟門卡,一心便捷改出行
??目前,各個小區(qū)多使用射頻卡管理門禁和電梯使用,只有拿到了小區(qū)物業(yè)發(fā)給業(yè)主的門禁卡后,業(yè)主才能通過刷卡的方式進入單元樓或使用電梯。
??作者所住宅的小區(qū)便廣泛應(yīng)用了射頻卡這一管理方式。自從家中換上了指紋智能鎖之后,越來越享受不帶鑰匙的便利,然為了能正常使用電梯,出門時仍需帶著一張電梯卡,由于本人的馬虎和電梯卡的小巧,在短短半個月內(nèi),竟因為掏兜時不注意丟失了兩張門禁卡。補辦一張卡拾元,雖不貴,但是仍然心疼和懊惱,于是,想把門禁卡寫入自己帶有NFC功能的手機中的想法便油然而生。
(雖然網(wǎng)上方法很多,甚至一些大神從網(wǎng)上找一些代碼即可破解并且無限制制作各種卡,但是教程不詳,作為一個這方面的小小白只能望而卻步自行探索。)加粗樣式
2 拾理論重制讀寫器,笨方法難讀加密卡
??既然,想要破解門禁卡,那必然需要了解門禁卡。
??作者本科學(xué)的是電氣專業(yè),自然學(xué)習(xí)過單片機等知識,并且也是單片機的愛好者。玩單片機必不可少的是控制各種模塊。以前就使用過射頻卡讀寫模塊,但當時了解不深,僅僅是使用例程讀到了卡的UID號便不了了之了。再次遇到這種問題,便找出了當年用過的射頻卡模塊,重新學(xué)習(xí)閱讀了使用手冊和M1 IC射頻卡的相關(guān)知識。為此,我還重新設(shè)計了一塊單片機系統(tǒng)板,方便單片機和射頻卡模塊連接。
??既然想讀卡,那就需要知道卡類型,卡的存儲結(jié)構(gòu)。射頻卡根據(jù)通訊頻率,存儲數(shù)據(jù)方式也分好多種類,我使用的便是最常見的M1卡。該卡的存儲空間分為16個扇區(qū),每個扇區(qū)有四個塊,每個塊又有16個字節(jié)。除0扇區(qū)外,每個扇區(qū)前三個塊便是數(shù)據(jù)區(qū),第四個塊存放的便是該扇區(qū)的控制方式和讀寫密碼。此處不詳細闡述講解,可參考該模塊的手冊文檔加以了解。
??通過自己制作好的單片機系統(tǒng)板和讀寫模塊進行連接,重新修改例程,方便了自己通過串口控制讀寫。便開始讀取門禁卡。前十個扇區(qū)讀取都非常順利,唯獨到了第十一個扇區(qū),串口便打印輸出密碼驗證錯誤的提示。跳過該扇區(qū)繼續(xù)讀取,最終除十號扇區(qū)外,全部讀取成功,但也都是空扇區(qū)。最終得出,只有十號扇區(qū)是加密扇區(qū),里面寫了門禁的各種數(shù)據(jù)。
??此時,我也曾想到了暴力破解的方式,但是我也清楚的算到密碼的組合方式有二百萬億之多,以我這小單片機的算力,需要算上個把月都不一定跑的出正確密碼。至此,該方式便以失敗告終了。
3 陷密區(qū)鎖匠巧解碼,寫手機再破便捷夢
??無意間,我得知家人從我一個配鑰匙的長輩哪里給家里復(fù)制了好幾張門禁卡,因此我想那個長輩手中肯定有網(wǎng)上買來的門禁卡復(fù)制器。既然能把卡內(nèi)容復(fù)制出來,必然可以破解出來加密扇區(qū)的內(nèi)容。
??為此,我找到了那個長輩的門店,見到了那個可以復(fù)制卡的設(shè)備(見下圖),我把門禁卡貼到讀卡器上,按下讀取,很順利的便讀取完成,并提示讀取成功。我趕緊拿出手機生成了一張空白卡,并利用讀卡器的寫入功能往手機里寫如原卡數(shù)據(jù),可是手機顯示寫入完成,但是讀卡器顯示寫入失敗。我重新嘗試了幾次,讀卡器都顯示寫入失敗。不甘心的我認為,既然手機都提示數(shù)據(jù)寫入完成了,沒準就成功了呢!
??拿著寫好的手機,便急匆匆趕回去試驗,把手機模擬的那張卡打開,貼近電梯讀卡器,結(jié)果便是電梯根本沒有反應(yīng)。
??心想既然這個設(shè)備寫不成,那我看到解密出來的密碼,自己的讀寫模塊沒準可以寫成。于是,我便再次返回到那個長輩那里,試圖從按個讀卡器的按鍵中按出扇區(qū)數(shù)據(jù)來可以查看扇區(qū)里面的內(nèi)容。但是這個手持設(shè)備根本沒有顯示扇區(qū)數(shù)據(jù)這個功能。后來我才了解到,它需要連接電腦或者手機后才可以通過軟件查看和導(dǎo)出數(shù)據(jù)。鑒于我不方便借走這個東西并且也無法直接和客服尋求軟件使用方法,探索之路再一次告破。
小記:非常優(yōu)秀的讀卡器為什么寫入手機會出錯呢,后來的探索過程中才了解到,一般IC卡片的第一個扇區(qū)的第一個塊只讀,因為這個塊寫的是卡號和廠商代碼,是固化的并不能修改。然而復(fù)制的新卡使用的是專門可復(fù)制的空白卡,卡里的每個扇區(qū)都可以讀寫。因此讀卡器復(fù)制卡到新卡上寫入就可以成功。但是,手機模擬生成的空白卡第一個扇區(qū)的第一個塊也是固定的,不允許修改,因此讀卡器再寫這個塊時便提示寫入失敗了。
那寫入第一個塊失敗,只要加密扇區(qū)寫入成功了不就不影響使用嗎?其實不然,我所在的小區(qū)門禁讀卡系統(tǒng),并不每個卡的加密扇區(qū)都一樣,密碼是通過卡的UID號就算出來的,因此如果電梯的讀卡系統(tǒng)通過卡號計算出來的加密密碼,和加密扇區(qū)寫的密碼不一樣,自然讀不出來加密扇區(qū)的數(shù)據(jù)。
4 暴力破解再試水,萬千秘鑰仍落空
??既然說密碼組合方式有二百萬億之多,為什么還要再次嘗試破解呢,緣因看到了一篇博文,提供了一種手機APP可以專門通過手機端NFC讀寫功能對門禁卡進行各種密碼的遍歷探索,雖然手機的讀取速度相比較單片機更快,然而遍歷的密碼如果還是這二百萬億多個也是不現(xiàn)實的,為此,網(wǎng)上提供了一種秘鑰字典,里面包含了各種可能的密碼和網(wǎng)友們分享出來的密碼。大概有幾萬個之多,將這種秘鑰字典導(dǎo)入手機APP,通過手機APP對這些秘鑰字典進行遍歷嘗試,試圖找到正確的秘鑰。
??我從網(wǎng)上大概找了十萬多個秘鑰,為了防止手機長時間讀取導(dǎo)致發(fā)熱過燙,我還將秘鑰每一萬個一組分成多個文件,挨個嘗試。每一萬個秘鑰文件大概需要二十分鐘才可以遍歷完,這還僅是探索秘鑰A的時間,還要繼續(xù)嘗試秘鑰B,因此每一萬個秘鑰大概一個小時才可以遍歷完。這段時間還要手機緊貼門禁卡,時刻關(guān)注APP的探索信息,不能再用手機干別的事情。因此這也是一個枯燥的過程。
??我大概用來兩天的時間才完成了這十多個秘鑰的遍歷,沒一個對的。評論中到是有個別網(wǎng)友試驗了五千左右就成功的,各位也不妨一試。
APP和秘鑰文件地址在這個博主的博客中可以找到
5 購物網(wǎng)再顯神通,讀卡器終破密碼
??之前一直希望可以通過零成本解決這個問題,也源于看到那個用過的讀卡器價格竟然在幾百元左右,實在不想花這個錢。
??無奈之下,既然網(wǎng)上找不到辦法,那么萬能的購物網(wǎng)站必然什么都可以買到,當然我買這個讀卡器并不只考慮價格,因為我非常想知道秘鑰到底是什么,因此我特意看中可不可以通過軟件看到扇區(qū)數(shù)據(jù),那些僅能讀卡復(fù)制卡的手持終端必然是排除在外的。
??在選購的時候 ,由于我經(jīng)常問客服可不可以看扇區(qū)數(shù)據(jù), 可不可以修改扇區(qū)數(shù)據(jù),以及他們的破解方式是暴力破解還是算法破解,導(dǎo)致客服都很抵觸我,認為我是想修改什么儲值卡。徒增了不少無效溝通。
??最后,我還通過一些測評視頻,和評論區(qū)的買家分享的圖片,選購了一款幾十元的讀卡器。它既能連接電腦又能連接手機,通過電腦客戶端軟件讀寫,也可以通過手機軟件讀寫。
??收到讀卡器后,我便安裝了電腦客戶端控制軟件,開始破解我的門禁卡,破解了半個多小時依舊沒有效果。為此我詢問了技術(shù)客服,他建議我用手機端APP連接讀卡器在破解,果然,僅用來十幾秒,它的算法功能便讀取了全部扇區(qū)的數(shù)據(jù),我也如愿看到了加密扇區(qū)的內(nèi)容和密碼。
??因為我買的時候,這個產(chǎn)品表明是有寫手機和手環(huán)功能,當我試圖把數(shù)據(jù)寫入手機時,還是發(fā)生了寫IC卡失敗。此時我還不知道原因是什么。我只能再次尋求技術(shù)指導(dǎo)。
??技術(shù)要走了我的門禁卡數(shù)據(jù)文件,又要走了我的手機模擬的空白卡數(shù)據(jù)文件。最后重新給我做了一個數(shù)據(jù)文件發(fā)給我,這個做的數(shù)據(jù)文件果真成功的寫入了我的手機,在電梯里也成功使用。
??我嘗試問技術(shù)這個文件數(shù)據(jù)是怎么做的,為什么要做數(shù)據(jù),他僅告訴我做這個的軟件需要花錢,其他一句也沒有多說。
6 不求人循跡探索,要自主解析數(shù)據(jù)
??雖然技術(shù)客服應(yīng)允只要買了他們的讀卡器,寫手機就可以免費做數(shù)據(jù),但是為了以后自己可以隨時把數(shù)據(jù)寫到不同的手機里,也抱著不斷探索刨根問底的精神,我還是決定搞清楚數(shù)據(jù)是怎么做出來的。
??我查看了技術(shù)發(fā)出回來的數(shù)據(jù)文件,雖然扇區(qū)數(shù)據(jù)可以看到修改了密碼區(qū)的內(nèi)容,但是看不出來為什么修改成這樣。但是,我卻從文件屬性中發(fā)現(xiàn)了制作這個數(shù)據(jù)文件使用的軟件名稱——**C助手。
??我便從網(wǎng)上很容易的下載到了這個軟件,但是關(guān)于數(shù)據(jù)解析的功能它卻是要收費的功能。本著不再花錢的原則,我便從網(wǎng)上找了很久才找到一個破解版的軟件。
??得到了破解軟件,導(dǎo)入了破解出來的原卡數(shù)據(jù),利用它的發(fā)卡功能,自動識別出來了門禁卡加密扇區(qū)的數(shù)據(jù)和對應(yīng)的功能。
??這里以門禁卡為例,加密扇區(qū)的功能分為園區(qū)碼、功能位、用戶編號、房間號等內(nèi)容,當然這些數(shù)據(jù)幾乎是不需要修改的,對應(yīng)自己的電梯和門禁就行。其次是發(fā)卡時間和到期時間,這個是可以根據(jù)需求修改的,如果設(shè)定的到期日期過期,那么自然也就不能用了,物業(yè)管理處也就是根據(jù)這個數(shù)據(jù)管控我們門禁卡在每次繳費后都會延期使用一年。
??最重要的就是密碼塊,這個塊隨著修改卡號會自動變動,所謂的做數(shù)據(jù),其實就是根據(jù)手機生成的空白卡的卡號修改這里的加密秘鑰。
??以上數(shù)據(jù)修改完成后,重新另存為新的dump文件,即可寫入手機模擬的空白門禁卡中。
7 假軟件時常崩潰,找規(guī)律自寫程序
??雖然破解軟件很好使,但是它有一個bug,每次開機后都只能用一次,如果關(guān)閉軟件再次打開就會報錯。解決辦法就是重啟電腦重新打開軟件,但這個方法也不是百試百靈。
??通過上一章的數(shù)據(jù)解析,可以知道加密扇區(qū)的各個數(shù)據(jù)位的功能,也無需修改。但是沒了軟件便不能根據(jù)手機自動生成的UID號計算出最加密扇區(qū)秘鑰。為此,我通過枚舉法通過改變UID號的每一位查看秘鑰的變動,最終找到了秘鑰的生成方式。
??為此,根據(jù)秘鑰的生成規(guī)律,我也寫了一個小程序,可以通過UID號生成加密秘鑰。這樣,以后即使沒有這個助手軟件,也可以自己修改出要寫入手機門禁卡的數(shù)據(jù)。
8 無卡自由終圓夢,遵守底線有始終
??自此,成功完成了寫入手機門禁卡的探索過程,并達到目的。以后出門只帶手機即可,再也不用帶各種鑰匙和門禁卡。其實,車庫也本需要遙控器才可以開關(guān)門,我也改成了手機APP藍牙遙控的方式。
??回頭望去,其實實現(xiàn)方法很簡單。數(shù)據(jù)之間的規(guī)律也沒有那么復(fù)雜,可能也是小區(qū)門禁系統(tǒng)比較老的原因吧。
??雖然,通過數(shù)據(jù)分析,可以自行修改門禁卡使用期限,給自己發(fā)新卡,但是還要按期繳納物業(yè)管理費,不可無休止濫用技能,這種刷卡方式也僅自家使用,不與外人道也,以免不必要的誤會。文章來源:http://www.zghlxwxcb.cn/news/detail-492947.html
后記
??本想把過程都寫的再詳細點,但是根本沒法過審,所以最后只形成了文字版的日志。如有關(guān)于本文的任何問題可私信博主。文章來源地址http://www.zghlxwxcb.cn/news/detail-492947.html
到了這里,關(guān)于RFID射頻卡寫入手機NFC心路小記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!