[發明專利]一種手機應用軟件自動生成水印的方法和系統有效
| 申請號: | 201410089718.2 | 申請日: | 2014-03-12 |
| 公開(公告)號: | CN103824006A | 公開(公告)日: | 2014-05-28 |
| 發明(設計)人: | 陳愷;趙險峰;張穎君 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F21/16 | 分類號: | G06F21/16 |
| 代理公司: | 北京輕創知識產權代理有限公司 11212 | 代理人: | 楊立 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 手機 應用軟件 自動 生成 水印 方法 系統 | ||
技術領域
本發明涉及手機應用軟件保護領域,特別是針對安卓應用軟件和ios應用軟件,涉及的一種手機應用軟件自動生成水印的方法和系統。
背景技術
智能手機已經成為人們日常生活中很普遍的工具,很多傳統計算機的應用也已經轉移到智能手機上,例如社交網絡,游戲等。因此,智能手機應用軟件的安全也日益重要。
安卓應用軟件和ios應用軟件目前在智能手機應用軟件中占有很大比例,其面臨多種威脅,其中包括重組,即添加惡意負載或廣告給合法的應用軟件并形成新的重組軟件。攻擊者經常使用重組的方法,因為該方法需要修改的內容很少。當前的研究顯示15%的安卓市場應用軟件都是重組的軟件。由于普通用戶無法區分合法軟件和重組的軟件,因此攻擊者重組軟件后被查出的可能性很小。
現有的檢測手機市場中重組軟件的技術主要包括基于圖的方法和基于哈希的方法。但是,當軟件中存在模糊技術時,檢測率是低的。模糊技術主要包括對控制流和數據流進行轉換,使現有技術難于檢測出重組的軟件。因此,考慮新的方法,檢測出非法的重組軟件,保護軟件版權及用戶使用的安全性是非常有必要的。
在手機應用軟件中加入水印可以有效解決這個問題。通過從應用軟件中提取水印,可以識別出應用軟件的擁有者,并對重組的軟件進行有效判定。通常有兩種水印方法:靜態水印和動態水印。靜態水印是將數據或變量插入到應用程序中,一旦水印被破壞,便不能從目標應用軟件中提取正確的水印。動態水印使用運行信息作為水印,例如路徑和內存狀態,但是構建水印的動態信息容易被識別。
結合動態水印和靜態水印的特點,本發明提出了一種新的手機應用軟件自動生成水印方法。
發明內容
本發明所要解決的技術問題是提供一種手機應用軟件自動生成水印方法,用于解決識別手機應用軟件的重組軟件的問題。
本發明解決上述技術問題的技術方案如下:一種手機應用軟件自動生成水印的方法,包括:
水印產生步驟:給指定圖片產生一個ASCII字符圖片,模糊并分割該ASCII字符圖片,將分割的每一部分ASCII字符圖片映射為一段代碼,將每段代碼作為水印代碼的一個片段,形成水印代碼;
水印插入步驟:通過指定事件序列獲取手機應用程序的執行路徑,將執行路徑中僅有一個入口點和一個出口點的程序序列作為基本塊,選取僅執行一次的基本塊,在該基本塊的原始代碼中隨機插入水印代碼;
水印提取步驟:使用與水印插入步驟相同的事件序列運行手機應用程序,掃描手機應用程序的內存,并從內存中定位水印,再提取水印進行驗證。
在上述技術方案的基礎上,本發明還可以做如下改進。
進一步,所述水印產生步驟還包括:在分割ASCII字符圖片前,隨機選擇ASCII字符圖片中的一部分字符,并將其隨機放入分割成的各部分ASCII字符圖片中。
進一步,模糊ASCII字符圖片的方法具體包括:在不影響圖片識別的情況下,在原始ASCII字符圖片的空白區域加入若干與原始ASCII字符圖片不相關的字符。
進一步,所述步驟2插入水印代碼后,采用適用的常量對水印代碼進行變形,且在變形后的水印代碼中創建新的語句,使變形后的水印代碼與原始水印代碼間的語義不變。
進一步,所述步驟2插入水印代碼后,采用運行時發生變化的變量對水印代碼進行變形。
進一步,所述步驟1中,在水印代碼的開始處插入標志位,該標志位用于表示水印的開始;所述步驟3中定位水印時,檢查內存中所有對象,若對象中帶有插入的標志位,則此對象為水印。
對應地,本發明的技術方案還包括一種手機應用程序自動生成水印的系統,包括依次連接的水印產生模塊、水印插入模塊和水印提取模塊:
所述水印產生模塊,用于給指定圖片產生一個ASCII字符圖片,模糊并分割該ASCII字符圖片,將分割的每一部分ASCII字符圖片映射為一段代碼,將各段代碼疊加,形成水印代碼;
所述水印插入模塊,用于通過指定事件序列獲取手機應用程序的執行路徑,將執行路徑中僅有一個入口點和一個出口點的程序序列作為基本塊,選取僅執行一次的基本塊,在該基本塊的原始代碼中隨機插入水印代碼;
所述水印提取模塊,用于使用與所述水印插入模塊中相同的事件序列運行手機應用程序,掃描手機應用程序的內存,并從內存中定位水印,再提取水印進行驗證。
進一步,所述水印產生模塊還用于:在分割ASCII字符圖片前,隨機選擇ASCII字符圖片中的一部分字符,并將其隨機放入分割后成的各部分ASCII字符圖片中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410089718.2/2.html,轉載請聲明來源鉆瓜專利網。





