国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      軟件探測方法和應(yīng)用該方法的軟件探測器及軟件探測系統(tǒng)的制作方法

      文檔序號:6600725閱讀:225來源:國知局
      專利名稱:軟件探測方法和應(yīng)用該方法的軟件探測器及軟件探測系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種軟件探測技術(shù)和軟件探測裝置和軟件探測的網(wǎng)絡(luò)系統(tǒng),具體是一 種對軟件運行中流程信息進行探測的軟件探測方法和應(yīng)用該方法的軟件探測器及軟件探 測系統(tǒng)。
      背景技術(shù)
      計算機系統(tǒng)和網(wǎng)絡(luò)的大量普及使用使全球跨入了信息化時代。但是,正由于現(xiàn)代 社會中幾乎一切都在“計算機化”,如經(jīng)濟活動(生產(chǎn)、流通、交換、消費)過程中的管理都已 完全基于計算機系統(tǒng)在運行,而計算機系統(tǒng)的核心是“軟件”,也就是說都是基于“軟件(程 序)”在運行,所以從技術(shù)層面來看,如果對這些軟件的運行不能進行有效地檢測和監(jiān)控,那 么監(jiān)管就會“缺失”,給國家或全球的金融和社會安全造成隱患。在國內(nèi),重要的法制監(jiān)管領(lǐng)域有十幾個,如金融(銀監(jiān)、證監(jiān)、保監(jiān)),國資,稅務(wù),
      財政,審計,安監(jiān)、電監(jiān)、環(huán)境......等。如果對這些法制監(jiān)管領(lǐng)域的軟件運行不能有效地
      檢測、監(jiān)控,后果不堪設(shè)想。在質(zhì)檢計量系統(tǒng)中,與人民群眾生活密切相關(guān)的加油機、計價秤、出租車計價器等 法制計量產(chǎn)品作弊事件頻頻發(fā)生。一方面,由于受到軟件技術(shù)手段的制約,質(zhì)量技術(shù)監(jiān)督 行政執(zhí)法人員無法有效獲取相關(guān)作弊證據(jù),對不法商販和經(jīng)營者的處罰缺少依據(jù),在一定 程度上損害了廣大消費者的利益;另一方面,由于不法制造商可以通過對軟件進行惡意修 改或在軟件中留有“后門”來擴大市場銷路,嚴重違反了公平競爭的原則。法制計量監(jiān)管網(wǎng) 絡(luò)的目標是監(jiān)管使用過程中面上的作弊的情況,主要是要突破和掌握軟件作弊探測(或稱 “軟件探頭”或“軟件探測傳感器”)的核心技術(shù)。所以,它是從廣度來進行的實時監(jiān)控和動 態(tài)監(jiān)管,好比是現(xiàn)在已經(jīng)在道路交通、治安防范方面普遍使用的視頻攝像探測監(jiān)控系統(tǒng),使 得程序的運行由不可見、不可控變成可見又可控。因此在法制計量監(jiān)管領(lǐng)域,如何探測電子 衡器軟件中的“后門程序”和“作弊口令”等特定目標,是本領(lǐng)域的技術(shù)難題。在“軟件測試”領(lǐng)域,國內(nèi)外現(xiàn)有的軟件自動化測試工具,一般都是在程序內(nèi)部進 行故障跟蹤和檢測,沒有將跟蹤、檢測的信息對外傳輸和發(fā)送。在“無線傳感網(wǎng)”領(lǐng)域,現(xiàn)有 的傳感器往往只能感知常規(guī)的“物理量”或“化學量”,不能感知計算機中軟件運行的信息。 因此,監(jiān)管部門無法對軟件進行實時監(jiān)視。法制計量軟件探測器開發(fā)的特點和要求有1、要能采集并發(fā)送計量器具軟件標識信息和傳感器節(jié)點標識信息計量器具軟件標識信息,相當于計價秤軟件的電子身份信息(ID-O);軟件探測傳 感器節(jié)點標識信息也就是標志軟件傳感器本身的電子身份信息(ID-I)。通過比對可以識別 計量器具軟件和軟件探測傳感器節(jié)點本身的真?zhèn)巍?、要跟蹤并發(fā)送計量器具使用時的作弊信息,包括今作弊的時間及數(shù)量作弊時間包括年、月、日、時、分、秒;作弊數(shù)量、超差比例、 等;
      今作弊的金額包括每次作弊的金額和累計作弊的金額。為執(zhí)法提供依據(jù);今作弊的口令通過跟蹤分析可以鎖定作弊的密碼;今作弊的責任人包括監(jiān)控對象的空間坐標點(省、市、區(qū)、場所)、身份(組織機構(gòu) 代碼、身份證號),等;今作弊的歷史記錄作弊信息可以全部記錄在案;今實時在線監(jiān)控如果計量器具脫機(停機、關(guān)機、移機,等)、更換芯片或主板,都 能立即跟蹤檢測到,并留下記錄。3、要具有計量監(jiān)控傳感網(wǎng)軟件探測傳感器節(jié)點自身的管理、保護和安全功能。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是提供一種用于對電子衡器軟件或金融監(jiān)管軟件中 的“后門程序”和“作弊口令”等特定目標進行探測、并將探測得的信息對外傳輸和發(fā)送,以 使監(jiān)管部門能實時監(jiān)視的軟件探測方法和應(yīng)用該方法的軟件探測器及軟件探測系統(tǒng)。為解決上述技術(shù)問題,本發(fā)明的軟件探測方法,包括如下步驟A、啟動代碼插裝步驟,該步驟包括虛擬執(zhí)行被測軟件,即對被測軟件的程序源代 碼進行詞法分析和語法分析,以識別出特征代碼,該特征代碼包括變量、函數(shù)、子程序和面 向?qū)ο蟮念?;然后對所述程序源代碼的程序流程按數(shù)據(jù)塊進行劃分,以得到表述所述被測 軟件的程序結(jié)構(gòu)和靜態(tài)流程的劃分數(shù)據(jù)并存入一靜態(tài)數(shù)據(jù)庫中,同時該靜態(tài)數(shù)據(jù)庫預(yù)存有 根據(jù)被測軟件的功能說明書得到的正常程序結(jié)構(gòu)和靜態(tài)流程;然后在所述程序源代碼中插 入對應(yīng)于所述特征代碼的探測代碼;最后把插入了所述探測代碼的程序源代碼編譯連接成 可執(zhí)行程序;所述探測代碼為一段代碼或函數(shù),用于收集所述可執(zhí)行程序運行時生成的動 態(tài)數(shù)據(jù);該動態(tài)數(shù)據(jù)包括函數(shù)、子程序的調(diào)用記錄,面向?qū)ο蟮念惖南鬟f,以及由所 述函數(shù)、子程序的調(diào)用記錄和面向?qū)ο蟮念惖南鬟f構(gòu)成的所述被測軟件運行時的程序 結(jié)構(gòu)和控制流程;B、執(zhí)行模式識別步驟,該步驟用于對所述可執(zhí)行程序執(zhí)行模型檢測,即將所述靜 態(tài)數(shù)據(jù)庫中預(yù)存的正常程序結(jié)構(gòu)和靜態(tài)流程與所述探測代碼獲取的被測軟件運行時的程 序結(jié)構(gòu)和控制流程進行比較;若二者一致,則判斷所述可執(zhí)行程序正常;否則,則判斷所述 可執(zhí)行程序中存在“特殊的結(jié)構(gòu)”或“漏洞”;所述“特殊的結(jié)構(gòu)”是指與被測軟件的功能說 明書不相關(guān)的變量、函數(shù)、子程序或類的消息傳遞;所述“漏洞”是指根據(jù)被測軟件的功能說 明書被測軟件中缺少應(yīng)有的變量、函數(shù)、子程序或類的消息傳遞;C、當發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”或“漏洞”后,執(zhí)行模式分析步驟,該步驟用于分析所 述可執(zhí)行程序的控制流程,以找出并上報引起“特殊的結(jié)構(gòu)”或“漏洞”的代碼執(zhí)行軌跡;該 代碼執(zhí)行軌跡是由引起執(zhí)行“特殊的結(jié)構(gòu)”或“漏洞”的一系列代碼的集合所構(gòu)成的程序流 程;D、執(zhí)行數(shù)據(jù)處理與傳輸步驟,該步驟用于根據(jù)所述代碼執(zhí)行軌跡,得出被測軟件 存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及其運行的時間信息和運行次數(shù),然后通過無線 或有線的方式,傳輸?shù)奖O(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。所述探測代碼用于程序模塊的結(jié)構(gòu)化分析;故障跟蹤和錯誤處理;多線程分析 (例如判斷死鎖和共享沖突等);程序執(zhí)行效率分析(例如瓶頸分析等);初始化節(jié)點、構(gòu)造鏈表,形成被測程序運行所需要的數(shù)據(jù)結(jié)構(gòu)。所述控制流程是指虛擬執(zhí)行被測軟件,即對被測軟件的程序源代碼進行詞法分 析和語法分析,識別出特征代碼,然后對所述程序源代碼的控制流按塊進行劃分,得到所述 被測軟件的程序劃分數(shù)據(jù)的流程。所述靜態(tài)流程是指把插入了所述探測代碼的程序源代碼編譯連接成可執(zhí)行程 序;運行該可執(zhí)行程序得到的被測軟件運行時的程序流程。所述程序流程也即靜態(tài)流程。為解決上述技術(shù)問題,本發(fā)明的應(yīng)用上述軟件探測方法的軟件探測器,包括與用 于執(zhí)行所述可執(zhí)行程序的處理器相連的探測控制器、與探測控制器相連的無線數(shù)據(jù)收發(fā)器 和/或有線數(shù)據(jù)收發(fā)器;當所述探測控制器發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”和/或“漏洞”后,執(zhí)行 所述模式分析步驟,然后將被測軟件存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及該“特殊 的結(jié)構(gòu)”和/或“漏洞”運行的時間信息和運行次數(shù)經(jīng)所述無線數(shù)據(jù)收發(fā)器和/或有線數(shù)據(jù) 收發(fā)器傳送至所述監(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。為解決上述技術(shù)問題,本發(fā)明的應(yīng)用上述軟件探測器的軟件探測系統(tǒng),包括作為 所述監(jiān)管節(jié)點的上位機、與分布于不同地域的多個所述上位機相連的監(jiān)管服務(wù)器系統(tǒng);所 述上位機用于與同地域內(nèi)的多個所述軟件探測器通過無線和/或有線的方式通信連接。為解決上述技術(shù)問題,本發(fā)明的軟件探測系統(tǒng)的軟件平臺總體設(shè)計采用層次模 型,把軟件系統(tǒng)分層,從而限制系統(tǒng)變化帶來的影響。每一層可以單獨的設(shè)計,單獨的演進、 升級。這就大大提高了系統(tǒng)的靈活和穩(wěn)定性,可以應(yīng)付廣泛的需求變化。層次模型最基本的是三層模型,包含展示層、邏輯層和數(shù)據(jù)層。展示層是一個消息 通道,邏輯層提供的應(yīng)該是一個現(xiàn)實映像,數(shù)據(jù)層提供現(xiàn)實系統(tǒng)的測量。應(yīng)用系統(tǒng)的邏輯模 型同樣體現(xiàn)這樣的特點,它包含了展示、數(shù)據(jù)和應(yīng)用邏輯的大的層次。一般而言,典型的軟件系統(tǒng)的分層自下向上依次是數(shù)據(jù)層、數(shù)據(jù)維護層、數(shù)據(jù)語義 層、通信層、應(yīng)用邏輯層、展示邏輯層、展示層。這樣的系統(tǒng)體現(xiàn)了層次模型的靈活性和穩(wěn)定 性。數(shù)據(jù)層可以使用各種格式的數(shù)據(jù);數(shù)據(jù)維護層則需要對每一種數(shù)據(jù)的邏輯存儲形式進行維護,保證數(shù)據(jù)的質(zhì)量;數(shù)據(jù)語義層則非常的靈活,可以從多個數(shù)據(jù)源進行數(shù)據(jù)的抽取,拼合和處理,來 共同完成語義的要求。通信層通信控制模塊控制應(yīng)用對于數(shù)據(jù)的訪問,也支持對于其他應(yīng)用模塊的訪 問。這里包括了權(quán)限檢查、資源調(diào)度、事件機制等等;應(yīng)用邏輯層通過通信控制模塊得到語義層提供的符合語義要求的信息。在語義 層以下,系統(tǒng)處理的都是數(shù)據(jù),而過了語義層就成為了信息。全部的信息都被應(yīng)用層所使 用,在這里保存全部的處理邏輯和應(yīng)用邏輯;展示邏輯層這里決定對于某類訪問,應(yīng)該使用什么方式進行展示,哪些信息需要 展示;展示層真正的和客戶或者客戶系統(tǒng)進行交互。從應(yīng)用邏輯層以上,邏輯信息變成 了交互信息,在這里可以發(fā)生編碼、解碼、加密、解密等處理。同時,會依據(jù)客戶的展示邏輯, 加載模板和交互信息進行合并處理等等,最終以適當?shù)姆绞皆谡故緦语@示給客戶。
      軟件探測系統(tǒng)的軟件平臺總體架構(gòu)與一般的多層架構(gòu)的軟件系統(tǒng)相比較,特點主 要在底層,即數(shù)據(jù)層。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(1)本發(fā)明的軟件探測方法實現(xiàn)了對應(yīng)用軟件在運行中的程序流程信息的實時探 測,在對被測軟件進行代碼插裝后,通過模型檢測,判斷是否存在“特殊的結(jié)構(gòu)”或“漏洞”, 并找出代碼執(zhí)行軌跡,然后將所述程序流程信息進行處理,最后采用無線或有線方式將此 信息傳送到監(jiān)管節(jié)點或監(jiān)管網(wǎng)絡(luò)。(2)本發(fā)明在法制監(jiān)管領(lǐng)域可以對計算機系統(tǒng)內(nèi)部運行的軟件進行實時監(jiān)控,可 以快速檢測到真實的數(shù)據(jù)和信息。如,可以組成法制計量監(jiān)控網(wǎng)絡(luò)對計量器具使用中的“后 門程序”和“作弊口令”等特定目標進行探測和實時監(jiān)視,為執(zhí)法打假快速反應(yīng)提供服務(wù)和 支撐;能對法制監(jiān)管領(lǐng)域的軟件運行進行探測、并將探測得的信息對外傳輸和發(fā)送,以使監(jiān) 管部門能進行實時監(jiān)控和監(jiān)管。(3)本發(fā)明的軟件探測系統(tǒng)綜合了軟件探測技術(shù)、嵌入式計算技術(shù)、現(xiàn)代網(wǎng)絡(luò)及無 線通信技術(shù)、分布式信息處理技術(shù)等,能夠探測軟件運行的信息,通過嵌入式系統(tǒng)對信息進 行處理,并通過通信網(wǎng)絡(luò)將探測的軟件運行信息傳送到監(jiān)管層或監(jiān)管中心。(4)軟件探測器采用的無線數(shù)據(jù)收發(fā)器,是基于TD或GSM的數(shù)據(jù)傳輸模塊,它由 射頻天線、內(nèi)部閃存、TD或GSM基帶處理器、匹配電源和Zip插座組成。其中TD或GSM基 帶處理器是核心部件,用來處理外部系統(tǒng)通過串口發(fā)送過來的AT指令。它的外部集成了標 準RS232接口、電源接口、模擬音頻輸入輸出接口和SIM卡,只要將其串口與PC或單片機的 串口相連,就可以用AT命令對它進行設(shè)置,其通信速率為9600bps。目前移動通信的信號幾 乎實現(xiàn)了無縫覆蓋,因此,利用其完備的網(wǎng)絡(luò)進行數(shù)據(jù)傳輸就成為應(yīng)用的熱點。采用AT指 令進行單片機與手機模塊間的通信設(shè)置,選擇以數(shù)據(jù)、文本等格式的短消息通信方式,這樣 可隨時進行可靠的通信,并可以節(jié)省無線傳輸?shù)某杀竞途W(wǎng)絡(luò)維護開支。也可以采用其他無 線數(shù)據(jù)收發(fā)方式,例如調(diào)頻、脈沖信號等。


      圖1為實施例中的軟件探測器的示例性結(jié)構(gòu)圖;圖2為實施例中的代碼插裝子系統(tǒng)的示例性結(jié)構(gòu)圖;圖3為實施例中的軟件探測器的結(jié)構(gòu)原理圖;圖4為實施例中的軟件探測系統(tǒng)的硬件平臺總體架構(gòu)圖;圖5為實施例中的軟件探測系統(tǒng)的軟件平臺邏輯層次架構(gòu)圖。
      圖6為實施例中的在執(zhí)行SUM-PRO. exe之前,代碼跟蹤次數(shù)為0的程序執(zhí)行示意圖; 圖7為實施例中的跟蹤數(shù)據(jù)被自動地更新的程序執(zhí)行示意圖。
      具體實施例方式下面結(jié)合圖1-7對本發(fā)明作進一步說明。(實施例1)本發(fā)明的軟件探測方法,包括如下步驟A、啟動代碼插裝步驟,該步驟包括虛擬執(zhí)行被測軟件,即對被測軟件的程序源代碼進行詞法分析和語法分析,以識別出特征代碼,該特征代碼包括變量、函數(shù)、子程序和面 向?qū)ο蟮念?;然后對所述程序源代碼的程序流程按數(shù)據(jù)塊進行劃分,以得到表述所述被測 軟件的程序結(jié)構(gòu)和靜態(tài)流程的劃分數(shù)據(jù)并存入一靜態(tài)數(shù)據(jù)庫中,同時該靜態(tài)數(shù)據(jù)庫預(yù)存有 根據(jù)被測軟件的功能說明書得到的正常程序結(jié)構(gòu)和靜態(tài)流程;然后在所述程序源代碼中插 入對應(yīng)于所述特征代碼的探測代碼;最后把插入了所述探測代碼的程序源代碼編譯連接成 可執(zhí)行程序;所述探測代碼為一段代碼或函數(shù),用于收集所述可執(zhí)行程序運行時生成的動 態(tài)數(shù)據(jù);該動態(tài)數(shù)據(jù)包括函數(shù)、子程序的調(diào)用記錄,面向?qū)ο蟮念惖南鬟f,以及由所 述函數(shù)、子程序的調(diào)用記錄和面向?qū)ο蟮念惖南鬟f構(gòu)成的所述被測軟件運行時的程序 結(jié)構(gòu)和控制流程;B、執(zhí)行模式識別步驟,該步驟用于對所述可執(zhí)行程序執(zhí)行模型檢測,即比較所述 靜態(tài)數(shù)據(jù)庫中預(yù)存的正常程序結(jié)構(gòu)和靜態(tài)流程與所述探測代碼獲取的被測軟件運行時的 程序結(jié)構(gòu)和控制流程是否一致;若二者一致,則判斷所述可執(zhí)行程序正常;否則,則判斷所 述可執(zhí)行程序中存在“特殊的結(jié)構(gòu)”或“漏洞”;所述“特殊的結(jié)構(gòu)”是指與被測軟件的功能 說明書不相關(guān)的變量、函數(shù)、子程序或類的消息傳遞;所述“漏洞”是指根據(jù)被測軟件的功能 說明書被測軟件中缺少應(yīng)有的變量、函數(shù)、子程序或類的消息傳遞;C、當發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”或“漏洞”后,執(zhí)行模式分析步驟,該步驟用于分析所 述可執(zhí)行程序的控制流程,以找出并上報引起“特殊的結(jié)構(gòu)”或“漏洞”的代碼執(zhí)行軌跡;該 代碼執(zhí)行軌跡是由引起執(zhí)行“特殊的結(jié)構(gòu)”或“漏洞”的一系列代碼的集合所構(gòu)成的程序流 程;D、執(zhí)行數(shù)據(jù)處理與傳輸步驟,該步驟用于根據(jù)所述代碼執(zhí)行軌跡,得出被測軟件 存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及其運行的時間信息和運行次數(shù),然后通過無線 或有線的方式,傳輸?shù)奖O(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。所述的代碼插裝步驟還包括建立在進行所述語法分析時生成的用于記錄并保存 在所述可執(zhí)行程序運行時產(chǎn)生的所述動態(tài)數(shù)據(jù)的動態(tài)數(shù)據(jù)庫文件,包括DD文件,用于記錄在所述可執(zhí)行程序運行時各記錄點即所述特征代碼的累計運行 次數(shù)、最后一次運行次數(shù)、以及運行時間信息;DDC文件,用于記錄在所述可執(zhí)行程序運行時各判斷、條件曾經(jīng)為真或者為假的數(shù) 據(jù);DDH文件,用于記錄在所述可執(zhí)行程序運行時各個記錄點對應(yīng)的程序語句是否運 行過的歷史數(shù)據(jù)。所述在進行詞法分析時,讀入需要插裝的源代碼文件,識別出終結(jié)符(Token)和 語義動作所需要的信息(如行號、Token的偏移量等),并傳給語法分析器。同時,詞法分析 器還將終結(jié)符存入符號表;Hash方法是一種在查表、填表兩方面都能高速進行的技術(shù)。因 此,通常采用Hash技術(shù)來組織的符號表為Hash符號表;語法分析器識別分析的源程序的語 法,在定義的插裝點上插入代碼,并生成各種動態(tài)數(shù)據(jù)庫文件DD文件、DDH文件和DDC文 件。在動態(tài)運行過程中,源程序的運行情況就記錄在這些文件中。下面以C語言為例,對源程序的代碼插裝子系統(tǒng)100進行描述(1)分析C代碼工程文件(*. mak),獲得所有的C源文件;(2)對于每一個C源程序文件
      8
      >分析源程序結(jié)構(gòu),生成DD文件、DDH文件和DDC文件;>分析源程序結(jié)構(gòu),生成插裝信息鏈表InstrChain ;>根據(jù)插裝信息鏈表插裝源程序今插裝源程序文件頭部今插裝函數(shù)頭部今插裝條件表達式今插裝流程控制語句今插裝標號語句>統(tǒng)計標號后代碼的執(zhí)行次數(shù),統(tǒng)計數(shù)據(jù)將保存到DD文件里。>添加公用模塊_hua. bas,用于聲明全局變量和對DLL中函數(shù)引用。>修改工程文件,將_hua. bas添加到工程文件中。(3)以對條件表達式a I |b&&c的插裝為例,該條件表達式即為特征代碼,其在插 裝前為:a |b&&c插裝后(((a) ? (―HUA_local->con
      =Oxcc注 1,1) (―HUA_local->con
      | = 0x3注 2,0)) | | ((b)? (―HUA_local_>con[l] I = Oxcc注 3,1) (―HUA_local_>con[l] I = 0x3注 4,0))&&((c))? (―HUA_local_>con[2] I = Oxcc注 5,1) (―HUA_local_>con[2] | = 0x3注 6,0))? (―HUA_local_>con[3] I = Oxcc注 7,1) (―HUA_local_>con[3] | = 0x3注 8,0)注1] a 曾為 true。注2a曾為false。注3b曾為true。注4b曾為false。注5c曾為true。注6c曾為false。注7整個a| |b&&c曾為true。注8整個a| |b&&c曾為false。所述代碼插裝步驟中,在識別出特征代碼時,同時生成插裝信息鏈表;然后根據(jù)該 插裝信息鏈表在所述程序源代碼中插入對應(yīng)于所述特征代碼的探測代碼;所述根據(jù)插裝信 息鏈表插裝源程序的位置包括插裝源程序文件頭部、插裝函數(shù)頭部、插裝條件表達式、插 裝流程控制語句和插裝標號語句。下面以VB語言為例,對模式分析步驟中識別出特征代碼時生成的插裝信息鏈表 進行描述(1)主要功能C++語言的模式分析子系統(tǒng)是用靜態(tài)庫程序?qū)崿F(xiàn)的。靜態(tài)庫程序的作用是處理有 關(guān)對文件的操作,包括檢查文件的存在與否、將內(nèi)存中的統(tǒng)計數(shù)據(jù)寫入文件等。
      由于VB語言調(diào)用動態(tài)連接庫相對比較方便,VB語言的模式分析子系統(tǒng)是用動態(tài) 連接庫實現(xiàn)的。動態(tài)連接庫程序的作用是初始化節(jié)點、構(gòu)造鏈表,形成被分析程序運行所需要的數(shù)據(jù)結(jié)構(gòu)。首次調(diào)用動態(tài)連接庫時,掛上被分析程序退出時要執(zhí)行的函數(shù)。
      檢查用來保存統(tǒng)計數(shù)據(jù)的文件存在與否。將內(nèi)存中的統(tǒng)計數(shù)據(jù)寫入文件。(2)動態(tài)連接庫的進入和退出在Windows操作系統(tǒng)中,調(diào)用動態(tài)連接庫有一個特性可以利用,這就是在調(diào)用動 態(tài)連接庫的程序或線程退出運行時,會釋放對動態(tài)連接庫的引用,在動態(tài)連接庫中可以獲 知這一事件,進行退出時用戶指定的操作。對插裝程序來說,在程序退出時,應(yīng)進行的操作 是調(diào)用庫函數(shù)將內(nèi)存中的數(shù)據(jù)寫入文件中。另外一種獲知被分析程序退出、進行退出時用戶指定的操作的方法是象C++語言 那樣,將退出時要執(zhí)行的函數(shù)掛在退出執(zhí)行的函數(shù)鏈上,不過這個操作是被分析程序首次 調(diào)用動態(tài)連接庫函數(shù)時(Process attach),由動態(tài)連接庫完成的,具體做法如下BOOL APIENTRY DllMain(HANDLE hModule, DWORDul_reason_for_cal1, LPVOID IpReserved){


      }(3)輸出函數(shù)介紹RegistLocalNode ()注冊本地節(jié)點,主要操作為分配一個節(jié)點的內(nèi)存,根據(jù)傳入的參數(shù)分配文件路徑 名的內(nèi)存,分配覆蓋探測數(shù)組和條件探測數(shù)組的內(nèi)存,將節(jié)點鏈在探測數(shù)據(jù)節(jié)點鏈上,返回 分配的節(jié)點的內(nèi)存地址。函數(shù)聲明如下HUADLL_API struct—03HUA_record*_stdcall RegistLocalNode(char*src_file, char氺ddfile,char氺confile,int rp_no, unsigned int con_num, unsigned int deci_rp_num)SetCurrentDD ()
      switch(ul_reason_for_cal1)
      {
      case DLL_PR0CESS_ATTACH
      {//將函數(shù)UpDateRunResult掛在退出執(zhí)行的函數(shù)鏈上 static int HasHooked = O ;
      if( ! HasHooked)atexit(UpdateRunRusult); };
      case DLL_THREAD_ATTACH case DLL_THREAD_DETACH
      case DLL_PR0CESS_DETACH
      }
      return TRUE ;
      告訴動態(tài)連接庫當前運行的源程序文件,參數(shù)—HUA_l0cal為注冊時返回的節(jié)點 地址。函數(shù)聲明為HUADLL_API void_stdcall SetCurrentDD (struct_03HUA_record*_HUA_local);CountRP ()累計覆蓋探測點,參數(shù)pNode為覆蓋探測數(shù)組所在節(jié)點地址,No為探測點的編號, 即數(shù)組元素的編號。函數(shù)聲明為HUADLL_API void_stdcall CountRP(struct—03HUA_record*pNode, unsigned int No);CountCP ()統(tǒng)計條件探測點,參數(shù)pNode為條件探測數(shù)組所在節(jié)點地址,No為探測點的編號, 即數(shù)組元素的編號,Cond為條件。函數(shù)聲明為HUADLL_API void_stdcall CountCP(struct—03HUA_record*pNode, unsigned int No, boo1 Cond);所述模式識別類型分析包括正常類型的模式識別和特定類型的模式識別。所述正常類型的模式識別用于對所述可執(zhí)行程序執(zhí)行模型檢測,即將所述靜態(tài) 數(shù)據(jù)庫中預(yù)存的正常程序結(jié)構(gòu)和靜態(tài)流程與所述探測代碼獲取的被測軟件運行時的程序 結(jié)構(gòu)和控制流程進行比較,以判斷所述可執(zhí)行程序中存在程序結(jié)構(gòu)和控制流程是否正常。所述特殊類型的模式識別用于對所述可執(zhí)行程序執(zhí)行模型檢測,即將所述靜態(tài) 數(shù)據(jù)庫中預(yù)存的正常程序結(jié)構(gòu)和靜態(tài)流程與所述探測代碼獲取的被測軟件運行時的程序 結(jié)構(gòu)和控制流程進行比較,以判斷所述可執(zhí)行程序中是否存在“特殊的結(jié)構(gòu)”和“漏洞”。所述“特殊的結(jié)構(gòu)”是指與被測軟件的功能說明書不相關(guān)的變量、函數(shù)、子程序或 類的消息傳遞;所述“漏洞”是指根據(jù)被測軟件的功能說明書被測軟件中缺少應(yīng)有的變量、 函數(shù)、子程序或類的消息傳遞。在插裝的代碼中就包含有插入代碼的特征信息的編碼,讀取該編碼并進行解碼就 可以還原插裝代碼的特征信息。所述模式識別的步驟包括程序節(jié)點探測模式分析和程序段探測模式分析,用于 對所述程序源代碼的程序流程按數(shù)據(jù)塊進行分析,然后劃分出所述數(shù)據(jù)塊。所述程序節(jié)點探測模式分析包括判斷的入口點和出口點、if. . . else語句中的 else的入口點和出口點、連接的入口點和出口點、以及程序單元的入口點和出口點;所述程序段探測模式分析是指兩個連續(xù)的程序分支點間的程序語句序列;所述程 序分支點包括程序節(jié)點、以及無條件轉(zhuǎn)移語句與下一條語句之間的位置;所謂無條件轉(zhuǎn) 移語句,以C++語言為例,就是goto語句、return語句、break語句和continue語句等這類 語句。在模式識別時,在內(nèi)存中一個程序的每一個包含函數(shù)的源程序文件均對應(yīng)了一個 節(jié)點,節(jié)點的數(shù)據(jù)結(jié)構(gòu)為struct—03HUA_record {char*src_file ;//被插裝的源程序文件的名稱和完全路徑char^ddfile -JI對應(yīng)于被插裝的源程序文件的dd文件名和路徑
      110152]char*confile ;//對應(yīng)于被插裝的源程序文件的ddc文件名和路徑
      0153]int*rp_covlist ;//指向被插裝的源程序的覆蓋探測點統(tǒng)計數(shù)組
      0154]int rp_no ;//被插裝的源程序的覆蓋探測點個數(shù)(對應(yīng)一個源文件)
      0155]unsigned char^con ;//指向被插裝源程序條件探測點運行統(tǒng)計數(shù)組
      0156]unsigned int con_num ;//被插裝源程序條件探測點的個數(shù)(對應(yīng)一個源文件)
      0157]unsigned int deCi_num ;//被插裝的源程序的條件的個數(shù)(對應(yīng)一個源文件)
      0158]int file_used_mark ;//被插裝的源程序所在源文件曾經(jīng)運行的標志
      0159]int pc ;//被插裝的源程序的邏輯計數(shù)器
      0160]struct—03HUA_record*next ;//指向下一個源文件節(jié)點地址
      0161]};
      0162]以下通過插入探測代碼探測if語句為例
      0163]一、在沒有插裝探測代碼前的if語句源代碼程序如下
      0164]Int main()
      0165]{
      0166]Int i = l;
      0167]/*case 1,complete if statement 第 1 種情況,完整的 if 語句 */
      0168]If (i == 1)
      0169]I++;
      0170]Else
      0171]i—;
      0172]/^conjuction 連接氺/
      0173]1+ = 2 ;
      0174]/*case 2, no else part 第 2 種情況,沒有 else 部分 */
      0175]If (i == 0)
      0176]I++;
      0177]/^conjuction 連接氺/
      0178]i- = 2 ;
      0179]}
      0180]二、在插裝探測代碼后的上述if語句代碼程序如下
      0181]Int main()
      0182]{
      0183]Int i = l;
      0184]/*case 1,complete if statement 第 1 種情況,完整的 if 語句 */
      0185]I f (++_01 lHUA_RP_N0DE_p->rp_covl i st [_01 lHUA_RP_N0DE_p->pc = 2
      0186]],
      0187](i == 1) ? (++—01 lHUA_RP_N0DE_p->rp_covlist [—01 lHUA_RP_N0DE_p-
      0188]>pc = 3],l):0)
      0189]I++;
      0190]Else
      I f (++_01 lHUA_RP_NODE_p->rp_covl i st [_01 lHUA_RP_NODE_p->pc = 5],0);Else i—;/^conjuction 氺/++—01 lHUA_RP_NODE_p->rp_covlist [—01 lHUA_RP_NODE_p->pc = 6];1+ = 2 ;/*case 2,no else part 第 2 種情況,沒有 else 部分 */I f (++_01 lHUA_RP_NODE_p->rp_covl i st [_01 lHUA_RP_NODE_p->pc = 7],(i == 0) ? (++—01 lHUA_RP_NODE_p->rp_covlist [—011HUA_RP_N0DE_p->pc = 8], 1) :0)I++ ;Else++—01 lHUA_RP_NODE_p->rp_covlist [—01 lHUA_RP_NODE_p->pc = 9];/^conjuction 氺/++—01 lHUA_RP_NODE_p->rp_covlist [—01 lHUA_RP_NODE_p->pc = 10];i- = 2 ;}以下通過插入探測代碼探測函數(shù)頭部為例一、沒有插裝前的函數(shù)源代碼Int · mainO{Int · i = O ;}二、插裝探測代碼后的函數(shù)頭部代碼程序Int · mainO{#1 ‘ "HUA instr funchdO" 1#1 ·Alineno · is 5氺/94HUA on exit O ;_941HUA_bin_DDup date interval(0);Stuct · _03HUA_record*_01lHUA_RP_N00E_p = 012HUA RP NOOE F Q ;If ( 93HUA current dd = 01lHUA_RP_N00E_p, ! 011HUA_RP_N00E_p->file_ used_mark){OllHUA RP NOOE p~>file used mark = 1 ;_011HUA_RP_N00E_p->next = _90HUA_current_recard ;_90HUA_current_record = _011HUA_RP_N00E_p ;
      92HUA check ddfileO ;} ++_01IHUA RP NOOE p->rp covlist「01 lHUA_RP_N00E_p->pc = 0];++ OllHUA RP NOOE p->rp covlist「 OllHUA RP NOOE p->pc = 1];#5,,/home3/wcy/c++doc/instr/instr3. cc,,2#5Int · i = O}(實施例2)一種應(yīng)用上述軟件探測方法的軟件探測器包括與用于執(zhí)行所述可執(zhí)行程序的處 理器相連的探測控制器、與探測控制器相連的無線數(shù)據(jù)收發(fā)器和/或有線數(shù)據(jù)收發(fā)器;當 所述處理器發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”或“漏洞”后,執(zhí)行所述模式分析步驟,然后將被測軟件 存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及該“特殊的結(jié)構(gòu)”和/或“漏洞”運行的時間信 息和運行次數(shù)傳送至所述探測控制器,探測控制器通過所述無線數(shù)據(jù)收發(fā)器和/或有線數(shù) 據(jù)收發(fā)器將所述被測軟件存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及其運行的時間信息 和運行次數(shù)傳至所述監(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。(實施例3)一種應(yīng)用上述軟件探測器的軟件探測系統(tǒng)包括作為所述監(jiān)管節(jié)點的上位機、與 分布于不同地域的多個所述上位機相連的監(jiān)管服務(wù)器系統(tǒng);所述上位機用于與同地域內(nèi)的 多個所述軟件探測器通過無線和/或有線的方式通信連接。見圖4為實施例中的軟件探測系統(tǒng)的硬件平臺總體架構(gòu)圖。一種應(yīng)用上述軟件探測器的軟件探測系統(tǒng)的系統(tǒng)總體軟件架構(gòu)設(shè)計由以下三個 部分組成探測器(在實施例中稱“提取器子系統(tǒng)”,單片機)、監(jiān)管上位機(PC機)、網(wǎng)絡(luò)系 統(tǒng)服務(wù)器。其系統(tǒng)總體軟件架構(gòu)設(shè)計如圖5所示。一種應(yīng)用上述軟件探測器的軟件探測系統(tǒng)的服務(wù)器端設(shè)計包括系統(tǒng)服務(wù)器端用 于監(jiān)管信息處理,并為監(jiān)管上位機節(jié)點(上位機子系統(tǒng),客戶端)提供基于XML-RPC接口的 Web Service,整體架構(gòu)使用了基于PHP的MVC框架Symfony,此框架成熟、靈活、擴展性強, 適用于大型系統(tǒng)的開發(fā),為服務(wù)器端系統(tǒng)提供了堅實穩(wěn)定的基礎(chǔ)。數(shù)據(jù)庫設(shè)計采用了 Symfony提供的基于Propel的ORM技術(shù),使得程序員可以使用 面向?qū)ο蟮姆椒▽?shù)據(jù)庫進行訪問,而不用手工構(gòu)造SQL代碼,這也杜絕了 SQL注入的危險。另外Propel使用了 PHP的PDO模塊,這可以使得數(shù)據(jù)庫的操作與數(shù)據(jù)庫引擎相互 獨立,從而可以非常方便地遷移數(shù)據(jù)庫。例如,我們在測試時使用基于SQLite 3.x的數(shù)據(jù) 庫,而在實際運用中,只需要修改一下數(shù)據(jù)庫的配置文件,就可以用另外的數(shù)據(jù)庫管理系 統(tǒng)如MySQL,Oracle和SQLServer來取代之,不需要對代碼本身做任何修改。Propel用一個XML文件來描述數(shù)據(jù)庫的配置,然后動態(tài)生成與數(shù)據(jù)庫對象相關(guān)的 一個PHP類,然后我們就可以直接使用這個類來對數(shù)據(jù)庫進行操作了。在Symfony中,標注 名為id的字段的將自動作為數(shù)據(jù)庫表的主鍵,同時具有AUT0_INCREMENT的屬性,名中以id 為后輟的字段名將自動作為數(shù)據(jù)庫表的外鍵,而createcLat則作為時間戳,用于保存創(chuàng)建記錄時的時間。這些都是數(shù)據(jù)庫設(shè)計的默認約定,而在Symfony里加以簡化,使得數(shù)據(jù)庫的 創(chuàng)建既簡便又規(guī)范。系統(tǒng)可以提供直接的對數(shù)據(jù)庫的增、刪、改、查操作,根據(jù)需要使用授權(quán)的數(shù)據(jù)庫 訪問,只有登錄并取得數(shù)據(jù)庫訪問權(quán)限的用戶才能對數(shù)據(jù)庫進行相應(yīng)的操作。(軟件探測程序跟蹤示例1)SUM-PRODUCT是一個用C++編程的示例程序,它要求輸入三個整型變量Low,High 和Max。這些整型值不能為負,否則,將輸出一個錯誤信息;而當SUM-PRODUCT接受三個整型 值時,在Low到High范圍內(nèi)對每一個數(shù)字K (但是它不能大于Max),輸出K+K和K*K的值; 如果高端(High)的值小于低端(Low)的值,程序直接結(jié)束,沒有任何輸出。
      通過輸入數(shù)據(jù)我們可以跟蹤程序運行,進行全方位、多層次的監(jiān)控。
      1、示例程序源代碼 這個SUM-PRO. cpp源代碼列表如下 #include<stdio. h> main(void)
      //This program prints for each k in the range LOW to HIGH
      //k+k and k*k. No more than MAX number of k are used.
      {
      int low, high, max, k, η = O ;
      printf(" Enter positive integers LOW, HIGH, and MAX "); scanf (" % d% d% d〃,&low,&high, &max);
      printf (" LOW = % d HIGH = % d MAX = % d\n〃,low, high, max); if (low> = 0&&high> = 0&&max> = 0)
      for (k = low ;k< = high ;k++)
      {
      ++η ;
      if(n>max) break ;
      printf (" % d+% d =% d% d =% d\n〃,k,k,k+k, k,k,k*k);
      }
      else
      printf {“ Error 丨 The input data are incorrect 丨 \n〃 );
      ι
      2、運行前的初始狀態(tài)
      在執(zhí)行SUM-PRO. exe之前,代碼跟蹤次數(shù)為0,反映如下
      可見所有單元均未被跟蹤并反顯。
      3、程序次運行跟蹤
      在適當?shù)哪夸浵铝⒓创蛉隨UM-PRO. exe,去執(zhí)行示例程序 c:>\SUM-PR0\SUM-PR0. exe
      Enter positive integers Low, HIGH, and Max 280通過示例程序SUM-PRO,斜體字符被顯示,上面突出顯示的字符被立即輸入。跟蹤 數(shù)據(jù)被自動地更新,如下所示 本發(fā)明的上述實施例僅為說明本發(fā)明所作的舉例,而本發(fā)明實施方式并不局限于 此。對于屬于本發(fā)明的精神與原理下所作的修改、組合、簡化、替代等均為等效替換,都仍然 包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      一種軟件探測方法,其特征在于包括如下步驟A、啟動代碼插裝步驟,該步驟包括虛擬執(zhí)行被測軟件,即對被測軟件的程序源代碼進行詞法分析和語法分析,以識別出特征代碼,該特征代碼包括變量、函數(shù)、子程序和面向?qū)ο蟮念?;然后對所述程序源代碼的程序流程按數(shù)據(jù)塊進行劃分,以得到表述所述被測軟件的程序結(jié)構(gòu)和靜態(tài)流程的劃分數(shù)據(jù)并存入一靜態(tài)數(shù)據(jù)庫中,同時該靜態(tài)數(shù)據(jù)庫預(yù)存有根據(jù)被測軟件的功能說明書得到的正常程序結(jié)構(gòu)和靜態(tài)流程;然后在所述程序源代碼中插入對應(yīng)于所述特征代碼的探測代碼;最后把插入了所述探測代碼的程序源代碼編譯連接成可執(zhí)行程序;所述探測代碼用于收集所述可執(zhí)行程序運行時生成的動態(tài)數(shù)據(jù);該動態(tài)數(shù)據(jù)包括函數(shù)、子程序的調(diào)用記錄,面向?qū)ο蟮念惖南鬟f,以及由所述函數(shù)、子程序的調(diào)用記錄和面向?qū)ο蟮念惖南鬟f構(gòu)成的所述被測軟件運行時的程序結(jié)構(gòu)和控制流程;B、執(zhí)行模式識別步驟,該步驟用于對所述可執(zhí)行程序執(zhí)行模型檢測,即將所述靜態(tài)數(shù)據(jù)庫中預(yù)存的正常程序結(jié)構(gòu)和靜態(tài)流程與所述探測代碼獲取的被測軟件運行時的程序結(jié)構(gòu)和控制流程進行比較;若二者一致,則判斷所述可執(zhí)行程序正常;否則,則判斷所述可執(zhí)行程序中存在“特殊的結(jié)構(gòu)”或“漏洞”;所述“特殊的結(jié)構(gòu)”是指與被測軟件的功能說明書不相關(guān)的變量、函數(shù)、子程序或類的消息傳遞;所述“漏洞”是指根據(jù)被測軟件的功能說明書被測軟件中缺少應(yīng)有的變量、函數(shù)、子程序或類的消息傳遞;C、當發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”或“漏洞”后,執(zhí)行模式分析步驟,該步驟用于分析所述可執(zhí)行程序的控制流程,以找出并上報引起“特殊的結(jié)構(gòu)”或“漏洞”的代碼執(zhí)行軌跡;該代碼執(zhí)行軌跡是由引起執(zhí)行“特殊的結(jié)構(gòu)”或“漏洞”的一系列代碼的集合所構(gòu)成的程序流程;D、執(zhí)行數(shù)據(jù)處理與傳輸步驟,該步驟用于根據(jù)所述代碼執(zhí)行軌跡,得出被測軟件存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及其運行的時間信息和運行次數(shù),然后通過無線或有線的方式,傳輸?shù)奖O(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。
      2.根據(jù)權(quán)利要求1所述的軟件探測方法,其特征在于所述的代碼插裝步驟還包括建 立在進行所述語法分析時生成的用于記錄并保存在所述可執(zhí)行程序運行時產(chǎn)生的所述動 態(tài)數(shù)據(jù)的動態(tài)數(shù)據(jù)庫文件,包括DD文件,用于記錄在所述可執(zhí)行程序運行時各記錄點即所述特征代碼的累計運行次 數(shù)、最后一次運行次數(shù)、以及運行時間信息;DDC文件,用于記錄在所述可執(zhí)行程序運行時各判斷、條件曾經(jīng)為真或者為假的數(shù)據(jù);DDH文件,用于記錄在所述可執(zhí)行程序運行時各個記錄點對應(yīng)的程序語句是否運行過 的歷史數(shù)據(jù)。
      3.根據(jù)權(quán)利要求1所述的一種軟件探測方法,其特征在于所述代碼插裝步驟中,在識 別出特征代碼時,同時生成插裝信息鏈表;然后根據(jù)該插裝信息鏈表在所述程序源代碼中 插入對應(yīng)于所述特征代碼的探測代碼;所述根據(jù)插裝信息鏈表插裝源程序的位置包括插 裝源程序文件頭部、插裝函數(shù)頭部、插裝條件表達式、插裝流程控制語句和插裝標號語句。
      4.根據(jù)權(quán)利要求1所述的軟件探測方法,其特征在于所述模式分析的步驟包括程序 節(jié)點探測模式分析和程序段探測模式分析,用于對所述程序源代碼的程序流程按數(shù)據(jù)塊進 行分析,然后劃分出所述數(shù)據(jù)塊;所述程序節(jié)點探測模式分析包括判斷的入口點和出口點、if…else語句中的else的 入口點和出口點、連接的入口點和出口點、以及程序單元的入口點和出口點;所述程序段探測模式分析是指兩個連續(xù)的程序分支點間的程序語句序列;所述程序分 支點包括程序節(jié)點、以及無條件轉(zhuǎn)移語句與下一條語句之間的位置。
      5.一種應(yīng)用上述權(quán)利要求1-4之一所述的軟件探測方法的軟件探測器,其特征在于包 括與用于執(zhí)行所述可執(zhí)行程序的中央處理器相連的探測控制器、與探測控制器相連的無 線數(shù)據(jù)收發(fā)器和/或有線數(shù)據(jù)收發(fā)器;當所述軟件探測器發(fā)現(xiàn)存在“特殊的結(jié)構(gòu)”和/或“漏洞”后,執(zhí)行所述模式分析步驟, 然后將被測軟件存在“特殊的結(jié)構(gòu)”和/或“漏洞”的信息、及該“特殊的結(jié)構(gòu)”和/或“漏 洞”運行的時間信息和運行次數(shù)經(jīng)所述無線數(shù)據(jù)收發(fā)器和/或有線數(shù)據(jù)收發(fā)器傳送至所述 監(jiān)管節(jié)點和/或監(jiān)管網(wǎng)絡(luò)。
      6.一種應(yīng)用上述權(quán)利要求5所述的軟件探測器的軟件探測系統(tǒng),其特征在于包括作 為所述監(jiān)管節(jié)點的上位機、與分布于不同地域的多個所述上位機相連的監(jiān)管服務(wù)器系統(tǒng); 所述上位機用于與同地域內(nèi)的多個所述軟件探測器通過無線和/或有線的方式通信連接。
      全文摘要
      本發(fā)明屬于一種軟件探測方法和應(yīng)用該方法的軟件探測器及軟件探測系統(tǒng)。所述軟件探測方法用于對應(yīng)用軟件在運行中的程序流程信息的實時探測,在對被測軟件進行代碼插裝后,通過模型檢測判斷是否存在“特殊的結(jié)構(gòu)”或“漏洞”,并找出代碼執(zhí)行軌跡,然后將程序流程信息采用無線或有線方式將此信息傳送到監(jiān)管節(jié)點或監(jiān)管網(wǎng)絡(luò)。本發(fā)明在法制監(jiān)管領(lǐng)域可以對計算機系統(tǒng)內(nèi)部運行的軟件進行實時監(jiān)控。本發(fā)明的軟件探測系統(tǒng)構(gòu)成法制計量監(jiān)控網(wǎng)絡(luò),對計量器具的使用進行監(jiān)控,為執(zhí)法打假快速反應(yīng)提供服務(wù)和支撐。能對電子衡器軟件或金融監(jiān)管軟件中的“后門程序”和“作弊口令”等特定目標進行探測、并將探測得的信息對外傳輸,以使監(jiān)管部門實時監(jiān)視。
      文檔編號G06F11/36GK101923510SQ20101014614
      公開日2010年12月22日 申請日期2010年4月13日 優(yōu)先權(quán)日2010年4月13日
      發(fā)明者張克東 申請人:張克東
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1