0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CY7C63100A/01A微控制器實(shí)現(xiàn)USB軟件狗的軟硬件設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子技術(shù)應(yīng)用 ? 作者:徐增祥 ? 2020-11-06 10:20 ? 次閱讀

1 軟件狗技術(shù)

近年來(lái),軟件狗技術(shù)在保護(hù)軟件開(kāi)發(fā)者利益、防止軟件盜版方面起了很大作用。軟件狗技術(shù)屬于硬加密技術(shù),它具有加密強(qiáng)度大、可靠性高等特點(diǎn),已廣泛應(yīng)用于計(jì)算機(jī)軟件保護(hù)。軟件狗技術(shù)的發(fā)展經(jīng)歷了多次更新?lián)Q代。第一代軟件狗通過(guò)短接并行口的某兩根線,或者再加上一些電阻電容、二極管等實(shí)現(xiàn);第二代軟件狗采用邏輯門(mén)電路跨接在并行口上,并采取適當(dāng)?shù)拇胧┍M量避免軟件狗和打印機(jī)之間的相互干擾;第三代軟件狗的核心芯片是EEPROM,主機(jī)通過(guò)并行口直接讀寫(xiě)EEPROM以實(shí)現(xiàn)對(duì)加密信息的存取;第四代軟件狗以微控制器和EEPROM為核心器件,又稱(chēng)微狗,它具有一定的智能,應(yīng)用靈活性和抗破解能力都得到了很大提高。

傳統(tǒng)的軟件狗通過(guò)在并行口上附加一定的電路實(shí)現(xiàn),而并行口本身的特點(diǎn)限制了傳統(tǒng)軟件狗技術(shù)的進(jìn)一步發(fā)展。由于并行口本身沒(méi)有電源線,所以傳統(tǒng)的并行口軟件狗都是通過(guò)各種“偷電”技術(shù)從數(shù)據(jù)線或控制線獲得軟件狗電路所需的電源,其電路必須選用規(guī)模不大的低功耗元器件。在負(fù)載能力很低的并行口上,并行口軟件狗難以保證正常工作。由于并行口是為連接單個(gè)設(shè)備設(shè)計(jì)的,在連接多個(gè)設(shè)備時(shí)很難避免沖突,傳統(tǒng)的并行口軟件狗必須仔細(xì)考慮與打印機(jī)之間的兼容性問(wèn)題。特別是對(duì)于一些非標(biāo)準(zhǔn)接口的并行口設(shè)備,就更難解決沖突問(wèn)題。這些都使并行口軟件狗技術(shù)的發(fā)展受到了很大限制。

USB是在1994年底由Compaq、IBM、Microsoft等多家公司聯(lián)合提出的一種連接外部設(shè)備的新型的通用串行接口技術(shù),它具有真正的即插即用和熱插拔功能,理論上可支持多達(dá)127個(gè)不同外設(shè)的同時(shí)連接。USB是一種先進(jìn)的很有前途的接口標(biāo)準(zhǔn),隨著USB接口器件的發(fā)展,使用USB接口的設(shè)備會(huì)越來(lái)越多。USB接口本身具有電源線,可為外設(shè)提供穩(wěn)定可靠的工作電源,從而對(duì)USB軟件狗所用元器件的工作電壓、功耗等的要求大大降低,軟件狗的工作條件得到很大改善,更容易實(shí)現(xiàn)復(fù)雜、靈活的設(shè)計(jì)和電路的微型化。由于USB是為連接多個(gè)設(shè)備而設(shè)計(jì)的,有著嚴(yán)格的規(guī)范,從接口本身避免了設(shè)備間的沖突,只要遵循USB接口規(guī)范,USB軟件狗不但不會(huì)對(duì)別的USB設(shè)備產(chǎn)生影響,也不會(huì)受到別的USB設(shè)備的影響。與并行口相比,USB接口更適合于軟件狗技術(shù)。

2 USB軟件狗的硬件

在本設(shè)計(jì)中,所使用的微控制器是CY7C63100A/CY7C63101A。它是CYPRESS公司生產(chǎn)的8位精簡(jiǎn)指令集(RISC)的OTP型微控制器。它集成有1.5Mbps的USB串行接口引擎(SIE)(即USB收發(fā)器),具有128字節(jié)的片內(nèi)RAM、2/4K字節(jié)的程序存儲(chǔ)空間,片內(nèi)還具有一個(gè)自由運(yùn)行的8位定時(shí)器、一個(gè)看門(mén)狗定時(shí)器和內(nèi)部上電復(fù)位電路,它的指令集專(zhuān)門(mén)為開(kāi)發(fā)USB應(yīng)用進(jìn)行了優(yōu)化。該控制器擁有兩個(gè)輸入輸出端口、16根通用I/O線,且每根線均可作為中斷源。端口1的所有引腳都帶有可編程驅(qū)動(dòng)器,可以直接驅(qū)動(dòng)LED發(fā)光。該控制器的操作電壓為4.0~5.25V,它需要6MHz的外部陶瓷共振器,片內(nèi)操作時(shí)鐘為12MHz。

CY7C63100A/CY7C63101A是低速USB外設(shè)的低成本解決方案,符合USB1.1規(guī)范,支持1個(gè)設(shè)備地址和2個(gè)端點(diǎn)(一個(gè)控制端點(diǎn)和一個(gè)數(shù)據(jù)端點(diǎn))。

本設(shè)計(jì)中所使用的存儲(chǔ)器是24C02,它是帶有硬件寫(xiě)保護(hù)功能的串行EEPROM,其接口兼容I2C總線規(guī)范,通過(guò)一對(duì)串行時(shí)鐘、數(shù)據(jù)線對(duì)片內(nèi)存儲(chǔ)單元進(jìn)行讀寫(xiě)。24c02的片內(nèi)存儲(chǔ)器容量為2K位(或256字節(jié))。

本文設(shè)計(jì)的USB軟件狗的硬件電路圖如圖1所示。其核心器件是微控制器(可根據(jù)需要選用CY7C63100A或CY7C63101A,其區(qū)別為程序存儲(chǔ)器的空間不同,分別為2K字節(jié)和4K字節(jié))和串行EEPROM(24C02),各元件的具體參數(shù)如圖1所示。

基于CY7C63100A/01A微控制器實(shí)現(xiàn)USB軟件狗的軟硬件設(shè)計(jì)

微控制器的第15(D-)、16(D+)腳分別連接USB連接器的第2(D-)、3(D+)腳,提供微控制器和主機(jī)之間信息交換的電信號(hào)通道,其中第15引腳(D-)所接的7.5kΩ的上拉電阻是為了滿(mǎn)足USB規(guī)范的要求。微控制器通過(guò)USB接口與主機(jī)進(jìn)行信息交換。

微控制器的第20腳(P1.1)經(jīng)過(guò)10KΩ的上拉電阻連接24C02的第7腳(WP,寫(xiě)保護(hù)),控制24C02的寫(xiě)操作使能。當(dāng)WP為高電平(Vcc)時(shí),只能讀取24c02的內(nèi)容而不能對(duì)其進(jìn)行寫(xiě)入;當(dāng)WP為低電平(Vss)時(shí),則可以進(jìn)行讀、寫(xiě)操作。設(shè)置寫(xiě)保護(hù)功能,可以防止存儲(chǔ)器內(nèi)容被意外改寫(xiě)。微控制器的第19腳(P1.3)連接24c02的第6腳(SCL,串行時(shí)鐘),為控制24C02的讀寫(xiě)操作提供時(shí)鐘;微控制器的第18腳(P1.5)經(jīng)過(guò)10KΩ的上拉電阻接24C02的第5腳(SDA,串行數(shù)據(jù)、地址),作為讀寫(xiě)24C02的數(shù)據(jù)、地址信號(hào)線。微控制器通過(guò)這三根信號(hào)線完成對(duì)24C02的讀寫(xiě)操作,對(duì)24C02的讀寫(xiě)控制滿(mǎn)足I2C總線規(guī)范。

3 USB軟件狗的軟件

USB軟件狗的軟件包括主機(jī)軟件和微控制器中的軟件(固件)。主機(jī)軟件和固件相配合,協(xié)同完成主機(jī)與USB軟件狗間的信息交換。其中,微控制器中的固件主要完成與USB主機(jī)的通信(包括參與USB總線設(shè)備枚舉、USB軟件狗的自身標(biāo)識(shí)等)、對(duì)24C02的讀寫(xiě)操作、與主機(jī)程序相配合實(shí)現(xiàn)和主機(jī)程序間的數(shù)據(jù)交換等任務(wù)。微控制器程序的簡(jiǎn)化軟件框圖如圖2所示。

3.1 USB設(shè)備枚舉

USB軟件狗插入主機(jī)后,主機(jī)發(fā)現(xiàn)USB軟件狗,在執(zhí)行USB復(fù)位操作后,主機(jī)使用默認(rèn)地址(地址0)向USB軟件狗發(fā)出設(shè)備描述符請(qǐng)求,USB軟件狗向主機(jī)返回自己的設(shè)備描述符作為響應(yīng);接收到要求的設(shè)備描述符后,主機(jī)為新發(fā)現(xiàn)的USB軟件狗指定一個(gè)新的USB地址;然后,主機(jī)使用新的USB地址重新向USB軟件狗發(fā)送一個(gè)設(shè)備描述符請(qǐng)求,USB軟件狗向主機(jī)返回自己的設(shè)備描述符作為響應(yīng)。主機(jī)向USB軟件狗發(fā)送配置描述符請(qǐng)求,USB軟件狗從程序存儲(chǔ)空間中取出相應(yīng)的描述符并返回給主機(jī)。當(dāng)主機(jī)接收到所有的描述符后,USB設(shè)備枚舉過(guò)程即告結(jié)束。至此,主機(jī)已完全了解USB軟件狗的資源要求、端點(diǎn)類(lèi)型和性能等特性。

3.2 USB軟件狗和主機(jī)間的數(shù)據(jù)交換

由于CY7C63100A/CY7C63101A只提供兩個(gè)USB端點(diǎn):端點(diǎn)0和端點(diǎn)1。端點(diǎn)1只能發(fā)送數(shù)據(jù)而不能接收數(shù)據(jù),所以不適合USB軟件狗的交互式數(shù)據(jù)交換的要求,故只有使用端點(diǎn)0與主機(jī)進(jìn)行數(shù)據(jù)交換。

USB共支持四種類(lèi)型的傳輸:等時(shí)傳輸、中斷傳輸、控制傳輸和批量傳輸。要求恒定的連續(xù)傳輸速率的實(shí)時(shí)應(yīng)用程序一般都采用等時(shí)傳輸方式。等時(shí)傳輸要求及時(shí)地提供數(shù)據(jù),且對(duì)數(shù)據(jù)的正確性要求不高而對(duì)時(shí)間極為敏感,所以在等時(shí)傳輸中,數(shù)據(jù)的有效性不能保證。在傳送數(shù)據(jù)發(fā)生錯(cuò)誤時(shí),USB并不處理這些錯(cuò)誤,而是繼續(xù)傳送新的數(shù)據(jù)。中斷傳輸方式總是用于對(duì)設(shè)備的查詢(xún),以確定設(shè)備是否有數(shù)據(jù)需要傳輸。因此中斷傳輸?shù)姆较蚩偸菑腢SB設(shè)備到主機(jī),傳送的數(shù)據(jù)量很小。但這些數(shù)據(jù)需要及時(shí)處理,以達(dá)到實(shí)時(shí)效果。控制傳輸提供了一種方法來(lái)配置USB設(shè)備,并對(duì)它操作的某些方面進(jìn)行控制。每個(gè)設(shè)備都必須實(shí)現(xiàn)一個(gè)缺省的控制端點(diǎn)(端點(diǎn)0),控制端點(diǎn)用來(lái)配置設(shè)備、控制設(shè)備狀態(tài)以及設(shè)備操作的其它方面,包括設(shè)備控制指令、設(shè)備狀態(tài)查詢(xún)及確認(rèn)命令。批量傳輸適用于對(duì)數(shù)據(jù)的正確性要求很高、而對(duì)數(shù)據(jù)傳輸速率沒(méi)有特殊要求的設(shè)備。

除缺省的針對(duì)端點(diǎn)0的控制傳輸外,對(duì)于其他三種傳輸方式,端點(diǎn)的傳輸方式一旦確定,則該端點(diǎn)在此配置下只能進(jìn)行某一特定方向上的數(shù)據(jù)傳輸,而不可以在通信過(guò)程中改變傳輸方向,除非重新選擇配置。對(duì)于USB軟件狗應(yīng)用,由于USB軟件狗與主機(jī)間要不斷地相互進(jìn)行數(shù)據(jù)交換,且每次所需要交換的數(shù)據(jù)量不大,故選用控制傳輸方式。

控制傳輸至少由兩個(gè)階段組成,也有可能是三個(gè)階段。建立階段--控制傳輸總是從建立階段開(kāi)始,在本階段主機(jī)向目標(biāo)設(shè)備傳送信息,定義對(duì)USB設(shè)備的請(qǐng)求類(lèi)型(例如讀設(shè)備描述符)。數(shù)據(jù)階段--這個(gè)階段僅僅是因要求數(shù)據(jù)傳輸?shù)恼?qǐng)求定義的。例如,在數(shù)據(jù)階段,讀描述符的請(qǐng)求把描述符的內(nèi)容發(fā)送給主機(jī)。狀態(tài)階段--這個(gè)階段用來(lái)報(bào)告所請(qǐng)求的操作的結(jié)果。控制傳輸從建立階段開(kāi)始,它包含8字節(jié)的信息包。這個(gè)8字節(jié)的信息包定義了在控制傳輸?shù)臄?shù)據(jù)階段所傳輸?shù)臄?shù)據(jù)數(shù)量。在數(shù)據(jù)階段,信息包的最大數(shù)據(jù)載荷限制為64字節(jié)。對(duì)于本設(shè)計(jì),由于CY7C63100A/CY7C63101A的端點(diǎn)0只提供了8字節(jié)的FIFO緩沖區(qū),故最大信息包只能取8字節(jié)。如果有更多的數(shù)據(jù)需要傳輸,可以分多次完成??刂苽鬏攨⑴c錯(cuò)誤檢測(cè)和恢復(fù)機(jī)制,努力提供一種最大限度的恢復(fù),以保證數(shù)據(jù)的完整性。

USB設(shè)備枚舉過(guò)程結(jié)束后,并沒(méi)有立即開(kāi)始工作,必須由主機(jī)根據(jù)在枚舉階段所獲得的信息對(duì)USB設(shè)備進(jìn)行配置。配置完成后,USB設(shè)備才進(jìn)入工作狀態(tài)。此后,主機(jī)就可以與USB設(shè)備進(jìn)行數(shù)據(jù)交換了。

主機(jī)與USB軟件狗間的數(shù)據(jù)交換過(guò)程均由主機(jī)方發(fā)起,每一次數(shù)據(jù)交換都由完整的控制傳輸完成。在控制傳輸?shù)慕㈦A段,主機(jī)向USB軟件狗發(fā)送8字節(jié)的信息包,通過(guò)用戶(hù)自定義的請(qǐng)求類(lèi)型字段規(guī)定USB軟件狗對(duì)后續(xù)數(shù)據(jù)應(yīng)進(jìn)行的處理,或要求USB軟件狗向主機(jī)返回特定的信息。在數(shù)據(jù)階段,USB軟件狗接收指定數(shù)據(jù)或按要求向主機(jī)發(fā)送相應(yīng)數(shù)據(jù)??刂苽鬏?shù)臓顟B(tài)階段指示本次數(shù)據(jù)傳輸?shù)慕Y(jié)果狀態(tài),以確定本次交互是否正確完成。

3.3 讀寫(xiě)24C02

為防止24C02的內(nèi)容意外改變(例如,由于強(qiáng)干擾或不規(guī)范操作等),在不進(jìn)行寫(xiě)操作時(shí),應(yīng)使WP引腳保持為高電平,即P1.1保持為高電平。在進(jìn)行寫(xiě)操作時(shí)使WP變低,并一直保持到寫(xiě)操作完成。寫(xiě)操作完成后立即恢復(fù)WP為高電平。對(duì)24C02具體的讀寫(xiě)操作符合I2C總線規(guī)范,很多相關(guān)書(shū)籍都有具體的實(shí)例程序,本文不再贅述。

為安全起見(jiàn),存儲(chǔ)器24C02中的數(shù)據(jù)應(yīng)采用加密后的形式存放。

4 軟件狗反破解技術(shù)

針對(duì)軟件狗的破解方法主要有兩種:硬件方法和軟件方法。

軟件狗的硬件破解方法,主要是仿制軟件狗的硬件電路。這個(gè)方法對(duì)付早期的軟件狗比較有效。當(dāng)微狗出現(xiàn)后,由于很多微控制器本身都提供了程序代碼保護(hù)功能,這使得仿制軟件狗特別是獲取固件變得越來(lái)越困難,這種方法現(xiàn)在已經(jīng)很少使用。還有一種硬件破解方法是使用邏輯分析儀或軟件攔截I/O,記錄下軟件狗與主機(jī)軟件間所傳送的數(shù)據(jù)并進(jìn)行分析以找出規(guī)律。這對(duì)于一些簡(jiǎn)單的軟件狗比較有效,而對(duì)于算法眾多、交互數(shù)據(jù)量很大的軟件狗,這種方法所帶來(lái)的繁雜性可想而知。USB通信規(guī)程本身相當(dāng)復(fù)雜,這也大大提高了對(duì)USB軟件狗進(jìn)行數(shù)據(jù)攔截的破解方法的難度。

現(xiàn)在,更加常用的軟件狗破解方法主要集中在軟件方面,并有軟件模擬、跟蹤分析等方法。

軟件模擬,就是先啟動(dòng)I/O攔截軟件,然后在有軟件狗的情況下啟動(dòng)受保護(hù)軟件,并對(duì)受保護(hù)軟件的每一個(gè)功能都進(jìn)行試運(yùn)行;同時(shí),后臺(tái)的I/O攔截軟件記錄下受保護(hù)軟件與軟件狗之間交互的數(shù)據(jù)供以后使用。記錄完成后,只需在啟動(dòng)受保護(hù)軟件前先啟動(dòng)模擬軟件,就可以使受保護(hù)軟件在沒(méi)有軟件狗的情況下也可以正常運(yùn)行。在受保護(hù)軟件運(yùn)行過(guò)程中,當(dāng)它企圖與軟件狗進(jìn)行通信時(shí),后臺(tái)的模擬軟件攔截到該通信請(qǐng)求,根據(jù)先前記錄下的數(shù)據(jù)對(duì)真實(shí)軟件狗進(jìn)行仿真,使受保護(hù)軟件誤認(rèn)為軟件狗確實(shí)存在。對(duì)于軟件狗和受保護(hù)軟件間通信數(shù)據(jù)不變的情形,軟件模擬方法十分有效;但如果通信數(shù)據(jù)中含有隨機(jī)性的參數(shù)(例如,系統(tǒng)的當(dāng)前時(shí)間),那么軟件狗和受保護(hù)軟件間所交互的數(shù)據(jù)就各不相同,在這種情況下,軟件模擬方法就顯得無(wú)能為力了。例如,主機(jī)軟件可以取系統(tǒng)當(dāng)前時(shí)間送給軟件狗,軟件狗使用一定的規(guī)則對(duì)其進(jìn)行變換,并把結(jié)果送回主機(jī)軟件,主機(jī)軟件用同樣的規(guī)則對(duì)上述時(shí)間值進(jìn)行同樣的變換,檢查變換后的結(jié)果是否一致。這里需要有好的變換算法,使變換結(jié)果對(duì)參數(shù)的各個(gè)部分的改變很敏感且程度相似。或者,軟件狗和受保護(hù)軟件間遵循一定的通信協(xié)議(當(dāng)然是不公開(kāi)的),所傳輸?shù)臄?shù)據(jù)中含有大量隨機(jī)的無(wú)用信息,而根據(jù)該通信協(xié)議,軟件狗和受保護(hù)軟件都可以從中提取出有效的信息。

在各種軟件狗的軟件破解方法中,以跟蹤分析方法的威力最為強(qiáng)大,具體的有靜態(tài)分析和動(dòng)態(tài)跟蹤等方法。

靜態(tài)分析方法是用一些靜態(tài)反匯編、反編譯工具對(duì)受保護(hù)軟件進(jìn)行逆向分析,以求找出訪問(wèn)軟件狗的代碼并進(jìn)行相應(yīng)的修改。如果預(yù)先對(duì)受保護(hù)軟件的程序代碼采用一定的變換(可以取軟件狗中的數(shù)據(jù)作為變換參數(shù)),在運(yùn)行時(shí)再進(jìn)行反變換動(dòng)態(tài)生成將要執(zhí)行的代碼,就可以有效地對(duì)抗靜態(tài)分析方法。還可以使用可執(zhí)行文件壓縮工具對(duì)受保護(hù)軟件進(jìn)行壓縮處理,或采用軟件加殼工具對(duì)其進(jìn)行處理等,這些都可以有效地對(duì)付靜態(tài)分析法。另外,如果把主機(jī)軟件的內(nèi)部函數(shù)調(diào)用與外殼加密相結(jié)合,則可進(jìn)一步提高加密強(qiáng)度,即使軟件的外殼被破除,也仍然不能正常運(yùn)行。

動(dòng)態(tài)跟蹤破解法不僅可以用于軟件狗破解,還可以用來(lái)獲取一些軟件的注冊(cè)序列號(hào),取消軟件的試用期限制、試用次數(shù)限制和解鎖試用版軟件等。這種方法是使用一些調(diào)試分析工具軟件(如DEBUG,SOFTICE等),控制受保護(hù)軟件的整個(gè)運(yùn)行過(guò)程,找出它與軟件狗間交互部分的代碼并進(jìn)行修改,以使其跳過(guò)對(duì)軟件狗的檢測(cè)或使檢測(cè)結(jié)果無(wú)效。該破解方法的使用者往往都具有相當(dāng)豐富的破解經(jīng)驗(yàn),對(duì)各種加解密方法了如指掌,這種方法也需要破解者付出很大的精力。對(duì)付這種暴力破解方法,主要就是設(shè)置跟蹤陷阱、使用大量各不相同的加密算法并大量分散地設(shè)置對(duì)軟件狗的訪問(wèn)、分離對(duì)軟件狗的檢測(cè)命令和對(duì)結(jié)果的判斷等,目的就是加大跟蹤分析的工作量、擾亂破解者的思路,大量消耗其體力和腦力,最終達(dá)到使其知難而退。動(dòng)態(tài)跟蹤法的一種很有效的對(duì)策是限定主機(jī)軟件與軟件狗間交互操作執(zhí)行的時(shí)間。如果軟件狗發(fā)現(xiàn)某個(gè)操作的執(zhí)行時(shí)間超出設(shè)定的值(時(shí)間閘),則不作響應(yīng)或送回錯(cuò)誤的響應(yīng)以迷惑破解者。這是由于對(duì)于同樣的操作,動(dòng)態(tài)跟蹤所需要的執(zhí)行時(shí)間常常要遠(yuǎn)大于正常連續(xù)運(yùn)行所需要的時(shí)間。在主機(jī)軟件中也可以設(shè)置時(shí)間閘,但與在軟件設(shè)中放置時(shí)間閘相比它更容易受到攻擊而失效,效果不太好。主機(jī)軟件也可以接管操作系統(tǒng)的調(diào)試函數(shù)或檢測(cè)某些調(diào)試軟件的存在,一旦發(fā)現(xiàn)自身在調(diào)試狀態(tài)下運(yùn)行,就立即退出運(yùn)行或使程序不正常運(yùn)行以迷惑破解者;也可以通過(guò)縮短軟件升級(jí)的周期來(lái)使解密者疲于應(yīng)付。靜態(tài)分析和動(dòng)態(tài)跟蹤方法常常是相互配合使用的。與此對(duì)應(yīng),相應(yīng)的反破解方法也是密切結(jié)合的。

軟件狗除用來(lái)進(jìn)行軟件合法性檢驗(yàn)外,還可以實(shí)現(xiàn)很多其它有用的功能。例如,可以在軟件安裝時(shí)把硬盤(pán)的產(chǎn)品序列號(hào)、CPU的產(chǎn)品序列號(hào)或者網(wǎng)卡的物理地址等硬件信息寫(xiě)入軟件狗,以后軟件在每次運(yùn)行時(shí)都進(jìn)行一致性檢測(cè)以判斷本次運(yùn)行機(jī)器和安裝時(shí)所用機(jī)器是否為同一臺(tái)機(jī)器,這樣就可以實(shí)現(xiàn)軟件對(duì)運(yùn)行機(jī)器的限制。也可以利用軟件狗中的定時(shí)器和存儲(chǔ)器實(shí)現(xiàn)更加安全的軟件試用期和使用次數(shù)等功能。

從微狗開(kāi)始,軟件狗就引入了微控制器技術(shù),這大大提高了軟件狗技術(shù)實(shí)現(xiàn)的靈活性;USB接口為軟件狗提供了一個(gè)理想的工作環(huán)境,使軟件狗硬件所受的限制大大降低;現(xiàn)代密碼技術(shù)的發(fā)展也為軟件狗技術(shù)提供了更加廣闊的發(fā)展空間。作為USB技術(shù)和軟件狗技術(shù)相結(jié)合的產(chǎn)物,USB軟件狗技術(shù)無(wú)疑會(huì)具有十分強(qiáng)大的生命力。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7399

    瀏覽量

    150669
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3354

    瀏覽量

    105745
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7856

    瀏覽量

    263384
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    采用Cypress semiconductor的CY7C63413 USB微控制器設(shè)計(jì)USB鍵盤(pán)

    本應(yīng)用指南描述了如何用Cypress semiconductor 的單芯片CY7C63413 USB微控制器設(shè)計(jì)USB鍵盤(pán)。
    發(fā)表于 09-23 10:07

    怎么使用CY7C6300 USB控制器的協(xié)處理模式

    你好,我使用CY7C6300 USB控制器的協(xié)處理模式。我有一個(gè)PCB與MC9S12XDP512微控制器連接到這個(gè)芯片,我不使用RTO。任
    發(fā)表于 04-24 14:11

    怎么用CyScript 1.1測(cè)試CyPress控制器CY8CITK-042-BLE與CysPress軟件狗

    大家好,我想用CyScript 1.1測(cè)試CyPress控制器CY8CITK-042-BLE與CysPress軟件狗但是設(shè)備不能連接,有人知道嗎?我附上了這張照片。謝謝沒(méi)有連接到BeldEnle。PNG27 K
    發(fā)表于 09-29 12:13

    CC2531 USB軟件狗參考設(shè)計(jì)

    描述CC2531USB-RD 為 802.15.4/ZigBee 應(yīng)用提供 PC 接口。該軟件狗可直接插入到您的 PC 中,并可用作 IEEE 802.15.4 軟件包監(jiān)聽(tīng)或用于其它
    發(fā)表于 09-16 06:22

    USB2.0控制器CY7C68013的接口設(shè)計(jì)實(shí)現(xiàn)

    USB2.0控制器CY7C68013的接口設(shè)計(jì)實(shí)現(xiàn)   1 引言   USB (Universal Serial Bus)接口以其速度快、
    發(fā)表于 01-21 10:00 ?1410次閱讀
    <b class='flag-5'>USB</b>2.0<b class='flag-5'>控制器</b><b class='flag-5'>CY7C</b>68013的接口設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>

    基于USB2.0控制器軟件狗設(shè)計(jì)

    綜合分析硬加密的技術(shù)指標(biāo)如可靠性、讀寫(xiě)速度、破譯程度、占用主機(jī)資源等, 軟件狗是一種較好的加密方法。因此, 目前在市場(chǎng)上獲得了廣泛應(yīng)用
    發(fā)表于 05-09 09:35 ?1780次閱讀
    基于<b class='flag-5'>USB</b>2.0<b class='flag-5'>控制器</b>的<b class='flag-5'>軟件狗</b>設(shè)計(jì)

    基于CY7C68013A的并口轉(zhuǎn)USB口數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    設(shè)計(jì)了一個(gè)以 CY7C68013A 為接口芯片的并口轉(zhuǎn)USB口的數(shù)據(jù)采集系統(tǒng),討論了CY7C68013A的性能及傳輸方式,給出了該系統(tǒng)的硬件設(shè)計(jì)方案,設(shè)計(jì)
    發(fā)表于 08-29 14:26 ?0次下載
    基于<b class='flag-5'>CY7C68013A</b>的并口轉(zhuǎn)<b class='flag-5'>USB</b>口數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于CY7C68013A的FPGA配置和通信接口設(shè)計(jì)

    為了同時(shí)實(shí)現(xiàn)計(jì)算機(jī)對(duì)FPGA進(jìn)行在線配置和高速數(shù)據(jù)傳輸,提出了一種基于CY7C68013A芯片的USB2.0接口設(shè)計(jì)方案。介紹了以CY7C68013A芯片為核心的系統(tǒng)
    發(fā)表于 09-23 17:57 ?175次下載

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
    發(fā)表于 01-22 14:10 ?30次下載

    基于CY7C68013AUSB接口系統(tǒng)設(shè)計(jì)

    基于CY7C68013AUSB接口系統(tǒng)設(shè)計(jì).
    發(fā)表于 01-22 14:26 ?40次下載

    基于CY7C68013A芯片的USB鍵盤(pán)的設(shè)計(jì)

      由于具備傳輸速率高、體積小等特點(diǎn),USB接口廣泛地應(yīng)用于計(jì)算機(jī)外部硬件設(shè)計(jì)。針對(duì)此介紹了Cypress公司的CY7C68013A芯片的基本原理,以及使用CY7C68013A芯片進(jìn)行
    發(fā)表于 12-26 09:32 ?2.2w次閱讀
    基于<b class='flag-5'>CY7C68013A</b>芯片的<b class='flag-5'>USB</b>鍵盤(pán)的設(shè)計(jì)

    通過(guò)CY7C68013微控制器實(shí)現(xiàn)數(shù)據(jù)低速控制、高速傳輸?shù)脑O(shè)計(jì)

    USB控制器是以USB串口引擎為主的專(zhuān)用集成電路,并可延伸至對(duì)其進(jìn)行管理的MCU以及相應(yīng)的軟硬件。目前市場(chǎng)上供應(yīng)的USB
    的頭像 發(fā)表于 01-16 10:14 ?5122次閱讀
    通過(guò)<b class='flag-5'>CY7C</b>68013<b class='flag-5'>微控制器</b><b class='flag-5'>實(shí)現(xiàn)</b>數(shù)據(jù)低速<b class='flag-5'>控制</b>、高速傳輸?shù)脑O(shè)計(jì)

    基于CY7C63100A/CY7C63101A微控制器實(shí)現(xiàn)USB軟件狗的應(yīng)用設(shè)計(jì)

    CY7C63100A/CY7C63101A是低速USB外設(shè)的低成本解決方案,符合USB1.1規(guī)范,支持1個(gè)設(shè)備地址和2個(gè)端點(diǎn)(一個(gè)控制端點(diǎn)和
    的頭像 發(fā)表于 03-22 10:28 ?2333次閱讀
    基于<b class='flag-5'>CY7C63100A</b>/<b class='flag-5'>CY7C63101A</b><b class='flag-5'>微控制器</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>USB</b><b class='flag-5'>軟件狗</b>的應(yīng)用設(shè)計(jì)

    CC2531 USB軟件狗參考設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《CC2531 USB軟件狗參考設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 09-05 16:53 ?0次下載
    CC2531 <b class='flag-5'>USB</b><b class='flag-5'>軟件狗</b>參考設(shè)計(jì)

    USB 2.0/USB 3.0轉(zhuǎn)接驅(qū)動(dòng)軟件狗參考設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《USB 2.0/USB 3.0轉(zhuǎn)接驅(qū)動(dòng)軟件狗參考設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 09-08 10:01 ?2次下載
    <b class='flag-5'>USB</b> 2.0/<b class='flag-5'>USB</b> 3.0轉(zhuǎn)接驅(qū)動(dòng)<b class='flag-5'>器</b><b class='flag-5'>軟件狗</b>參考設(shè)計(jì)