新聞中心News
數(shù)字指示秤作弊檢測系統(tǒng)的設(shè)計
本系統(tǒng)將嵌入式軟件自動化 測試技術(shù)應(yīng)用于計量行業(yè)中數(shù)字 指示秤作弊檢測領(lǐng)域,實現(xiàn)了數(shù) 字指示秤作弊檢測中自動栽荷、 自動按鍵、讀數(shù)捕獲、數(shù)值判斷、 動作反饋、結(jié)果記錄的全流程自動化操作。本文闡述了該系統(tǒng)的 設(shè)計方案及上層控制軟件的設(shè)計.
數(shù)字指示秤具有稱量方便、計價簡便、重 量數(shù)據(jù)顯示直觀等特點,在大型超市、集貿(mào)市 場等場所已經(jīng)得到了廣泛的使用。但由于市場 監(jiān)管不夠規(guī)范,集貿(mào)市場經(jīng)營者法制意識薄弱, 誠信度缺失,利用數(shù)字指示秤作弊、缺斤少兩, 損害消費者權(quán)益的事件屢有發(fā)生,在社會上形 成了負(fù)面影響。數(shù)字指示秤最主要的作弊方法 包含以下三個方面:(1)人工手段干預(yù)讀數(shù)。 包括留底數(shù)法、沖擊法等。(2)內(nèi)部改裝。 包括修改顯示電路、修改信號調(diào)理電路、加裝 無線模塊(檢測可通過查看傳感器電壓是否超 高、是否有無線發(fā)射模塊)。(3)芯片軟件 作弊。為目前最常見的作弊方式,當(dāng)輸入一串 按鍵碼后數(shù)字指示秤便進入作弊模式,可根據(jù) 需要變?yōu)?/span>9兩,8兩甚至6兩秤,再按下某一 恢復(fù)鍵即可恢復(fù)正常模式。這種作弊模式隱蔽 且難以復(fù)現(xiàn),本文針對這種作弊特點,設(shè)計了 一套數(shù)字指示秤作弊檢測系統(tǒng),能夠檢測出數(shù) 字指示秤軟件系統(tǒng)中存在的按鍵作弊碼。
1.系統(tǒng)構(gòu)架
為檢測出軟件作弊(數(shù)字指示秤中的按鍵 作弊碼),數(shù)字指示秤作弊檢測系統(tǒng)引入了嵌 入式軟件自動化測試技術(shù),搭建了數(shù)字指示秤 自動化測試環(huán)境,使用高危作弊碼算法生成測 試用例對數(shù)字指示秤進行自動化黑盒測試。上 位機從云端服務(wù)器獲取高危作弊碼序列,并根 據(jù)本地化適配轉(zhuǎn)換為按鍵序列;上位機將該序 列傳入動作執(zhí)行器,動作執(zhí)行器控制鍵盤按鈕 閉合操作模擬對應(yīng)的物理按鍵按下;再由動作 執(zhí)行器生成重量信號模擬載荷,待示數(shù)穩(wěn)定后 由動作執(zhí)行器獲取數(shù)字指示秤LCD/LED喆示 信號,將轉(zhuǎn)換后的數(shù)值傳入上位機檢測是否出 現(xiàn)作弊情況,如圖1。
2.系統(tǒng)設(shè)計
2.1動作執(zhí)行器設(shè)計
動作執(zhí)行器采用32位ARM單片機系統(tǒng), 包括三個部分:按鍵執(zhí)行模塊、載荷模擬模塊、 顯示抓取模塊。執(zhí)行器通過串口與上位機通信, 協(xié)議采取自定格式,校驗采用CRC校驗和, 如圖2。
2.1.1按鍵執(zhí)行模塊
用于接收上位機發(fā)送的按鍵序列,解析 拆分序列信息后控制鍵盤相應(yīng)按鍵依次依時按 下,達(dá)到模擬輸入作弊碼行為的目的。按鍵模 擬既然要真實模擬手工按下的效果,就包括三 個信息,按下的鍵碼、按鍵按F的時間長短、 兩個按鍵按下之間的間隔時間。所以按鍵序列 包括鍵碼、按下時延以及鍵間時延這三種參數(shù)。 鍵碼為00-99代表最多99個按鍵信息,按下 時延為0-9代表按F時間為0.1秒至9秒,鍵間時延為0-9代表兩個按鍵按下的時間間隔0.1 至9秒。如正常按下按鍵1+2+3,按鍵序列碼 為0100 0200 0300。時延設(shè)置的越長,則該用 例執(zhí)行的時間越長,如圖3。
按鍵模擬模塊釆用電子開關(guān),一一對應(yīng) 真實物理桉鍵,通過控制電子開關(guān)的閉合來模 擬按鍵被物理按下的過程。
2.1.2載荷模擬模塊
通過接收上位機發(fā)來的數(shù)據(jù)控制稱重重 量信號。載荷模擬使用數(shù)字電位器串聯(lián)至傳感 器的信號激勵腳,通過改變數(shù)字電位器的阻值 拉低傳感器信號電壓的方式改變重量信號。
2.1.3顯示抓取模塊
包括LCD信號抓取模塊和LED信號抓取 模塊。顯示抓取模塊采用單片機作為主控芯片, 采集LCD/LED顯示屏各管腳模擬值信息,分 析處理后得到顯示屏信息通過串口傳給上位機 進行處理。
2. 2上位機軟件設(shè)計
上位機軟件由五大模塊組成:樣品管理 模塊、按鍵序列生成模塊、作弊檢測模塊、鍵 盤適配模塊、歷史作弊碼模塊,如圖4。
2.2.1樣品管理模塊
記錄送檢樣品信息、按鍵適配信息、作弊 碼信息以及測試過程數(shù)據(jù)信息。通過樣品管理 模塊可復(fù)現(xiàn)電子秤作弊檢測過程數(shù)據(jù),實現(xiàn)多 樣品(疑似同一作弊碼)并行檢測,中斷/繼 續(xù)檢測操作。
2.2.2鍵盤適配模塊
匹配各款電子秤按鍵上字符信息與底層 控制單片機管腳的對應(yīng)關(guān)系(按鍵數(shù)字與物理 連接線適配)。保證字符形式的作弊碼數(shù)據(jù)庫 能夠適配所有電子秤。
2.2.3按鍵序列生成模塊
用于獲取服務(wù)器高危作弊碼序列、本機生成按鍵序列。模塊提供模板編輯器,可根據(jù)所 輸入的按鍵序列表達(dá)式生成相應(yīng)的按鍵序列, 并提供測試用例總數(shù)預(yù)測、測試時間預(yù)測、按 鍵序列導(dǎo)出導(dǎo)入。
2.2.4作弊檢測模塊
為系統(tǒng)的核心模塊,用于向動作執(zhí)行器 發(fā)送控制指令。從服務(wù)器端讀取待測的密碼序 列,根據(jù)鍵盤適配生成相應(yīng)的單片機管腳序列 發(fā)送至動作執(zhí)行器,讀取動作執(zhí)行器返回的數(shù) 字指示秤顯示信息,判斷示數(shù)是否正常,如果 發(fā)現(xiàn)異常則將此組按鍵序列數(shù)據(jù)標(biāo)識為可疑序
2.2.5歷史作弊碼模塊
該模塊為B/S構(gòu)架,用于查詢維護作弊 密碼庫,可通過型號,地域等信息查詢常用的 作弊稱密碼。此模塊有網(wǎng)絡(luò)接口,可通過互聯(lián) 網(wǎng)上傳/查詢數(shù)據(jù)。
3.高危作弊碼算法
通過遍歷所有按鍵生成測試用例序列的 方法對于四位以內(nèi)的作弊碼很有效果,但是對 于五位以上的作弊碼檢出效率很低,摻雜著很 多不可能是作弊碼的按鍵(如純數(shù)字按鍵)。 因此對于5位以上作弊碼的檢測要采用高危作 弊碼算法,該作弊碼算法由云端服務(wù)器根據(jù)歷 史庫、經(jīng)驗庫動態(tài)生成,通過公式的形式下發(fā) 至測試機。數(shù)字指示秤按鍵可分為三類,一類 是數(shù)字按鍵信息,使用N來表示;一類是控 制按鍵(如去皮累計),使用C來表示;最后 一類是單價按鍵(如Ml、單價1),使用M 來表示。加上時延信息,高危作弊碼可以通過 類似N*0;C*0;M*0這樣的公式來表示,此公 式表示生成所有第一位是數(shù)字,第二位是控制按鍵,第三位是單價按鍵且每個按鍵之間的時 延為0的三位按鍵組合序列。
4.結(jié)語
本文概要描述了數(shù)字指示秤作弊檢測系 統(tǒng)的硬件實現(xiàn)原理和上層軟件設(shè)計,實際使用 中該系統(tǒng)能夠很快的檢測出位數(shù)在5位以內(nèi)的 作弊碼,對市面上存在的“作弊秤”起到了一 定的震懾作用,也為其他計量器具軟件的檢測 方法也起到了 一定的借鑒作用。
對于復(fù)雜作弊碼(參雜了按鍵時長等信 息),其檢測時間的長短取決于高危作弊碼算 法的檢測效率以及歷史作弊碼的積累,對高危 作弊碼算法的優(yōu)化是今后系統(tǒng)改進的方向。