[發(fā)明專利]一種運行含有自校驗的加殼程序的方法和裝置有效
| 申請?zhí)枺?/td> | 201210587208.9 | 申請日: | 2012-12-28 |
| 公開(公告)號: | CN103077332A | 公開(公告)日: | 2013-05-01 |
| 發(fā)明(設(shè)計)人: | 陸舟;于華章 | 申請(專利權(quán))人: | 飛天誠信科技股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F11/10 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 運行 含有 校驗 程序 方法 裝置 | ||
1.一種運行含有自校驗的加殼程序的方法,其特征在于,所述方法包括:
步驟S1:殼獲取指定接口函數(shù)的內(nèi)存地址;
步驟S2:所述殼將所述指定接口函數(shù)中的部分指令替換為跳轉(zhuǎn)到對應(yīng)的鉤子函數(shù)的跳轉(zhuǎn)指令,將所述指定接口函數(shù)的所述部分指令保存到與所述指定接口函數(shù)對應(yīng)的鉤子函數(shù)的代碼存儲區(qū)中,再加入跳轉(zhuǎn)回對應(yīng)的所述接口函數(shù)的跳轉(zhuǎn)指令,所述殼獲取加殼程序在存儲設(shè)備上的訪問路徑,將加密后的原程序解密到內(nèi)存中;
步驟S3:所述殼將控制權(quán)交給所述原程序的入口點;
步驟S4:所述鉤子函數(shù)等待被調(diào)用;
當(dāng)?shù)谝汇^子函數(shù)被調(diào)用時,所述第一鉤子函數(shù)調(diào)用訪問文件函數(shù),返回調(diào)用結(jié)果,判斷所述訪問文件函數(shù)的位置參數(shù)是否與所述加殼程序在所述存儲設(shè)備上的訪問路徑一致,若一致則判斷所述調(diào)用結(jié)果是否包含第一句柄,是則保存所述第一句柄,所述第一鉤子函數(shù)結(jié)束,否則所述第一鉤子函數(shù)結(jié)束;若不一致則所述第一鉤子函數(shù)結(jié)束;
當(dāng)?shù)诙^子函數(shù)被調(diào)用時,所述第二鉤子函數(shù)讀取獲取文件大小函數(shù)中的句柄參數(shù),判斷所述句柄參數(shù)是否為保存的所述第一句柄,是則所述第二鉤子函數(shù)調(diào)用獲取文件大小函數(shù),獲取第一文件大小,對所述第一文件大小進(jìn)行計算得到第二文件大小,將所述第二文件大小返回給所述原程序,所述第二鉤子函數(shù)結(jié)束;否則,所述第二鉤子函數(shù)調(diào)用所述獲取文件大小函數(shù),返回調(diào)用結(jié)果,所述第二鉤子函數(shù)結(jié)束;
當(dāng)?shù)谌^子函數(shù)被調(diào)用時,所述第三鉤子函數(shù)讀取讀文件函數(shù)中的句柄參數(shù),判斷所述句柄參數(shù)是否為保存的所述第一句柄,是則執(zhí)行步驟S5,否則,所述第三鉤子函數(shù)調(diào)用所述讀文件函數(shù)讀取相應(yīng)內(nèi)容,將讀取到的內(nèi)容返回給所述原程序,所述第三鉤子函數(shù)結(jié)束;
當(dāng)?shù)谒你^子函數(shù)被調(diào)用時,所述第四鉤子函數(shù)調(diào)用創(chuàng)建文件映射函數(shù),返回調(diào)用結(jié)果,判斷所述創(chuàng)建文件映射函數(shù)的句柄參數(shù)是否與保存的所述第一句柄一致,若一致則判斷所述調(diào)用結(jié)果是否包含映射文件句柄,是則保存所述映射文件句柄,所述第四鉤子函數(shù)結(jié)束,否則所述第四鉤子函數(shù)結(jié)束;若不一致則所述第四鉤子函數(shù)結(jié)束;
當(dāng)?shù)谖邈^子函數(shù)被調(diào)用時,所述第五鉤子函數(shù)讀取所述映射文件函數(shù)中的句柄參數(shù),判斷所述句柄參數(shù)是否為保存的所述映射文件句柄,是則所述第五鉤子函數(shù)調(diào)用所述映射文件函數(shù),根據(jù)所述殼的長度和加密頭的大小將所述原程序中的與所述句柄參數(shù)對應(yīng)的內(nèi)容映射到所述內(nèi)存中,對所述內(nèi)存中的映射到的內(nèi)容進(jìn)行解密,將解密后的內(nèi)容返回給所述原程序,所述第五鉤子函數(shù)結(jié)束;否則,所述第五鉤子函數(shù)將與所述句柄參數(shù)對應(yīng)的內(nèi)容映射到所述內(nèi)存,返回所述映射的內(nèi)容,所述第五鉤子函數(shù)結(jié)束;
步驟S5:所述第三鉤子函數(shù)判斷將要讀取的內(nèi)容的大小是否在所述加密后的原程序的大小范圍內(nèi),是則所述第三鉤子函數(shù)調(diào)用所述讀文件函數(shù),根據(jù)所述殼的長度和加密頭的大小讀取所述原程序中的相應(yīng)內(nèi)容,對讀取到的內(nèi)容進(jìn)行解密,并將解密后的內(nèi)容返回給所述原程序,所述第三鉤子函數(shù)結(jié)束;否則,所述第三鉤子函數(shù)調(diào)用所述讀文件函數(shù),讀取相應(yīng)內(nèi)容,對所述讀取到的內(nèi)容進(jìn)行解密,并將解密后的內(nèi)容返回給所述原程序,所述第三鉤子函數(shù)結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S1中所述指定接口函數(shù)為所述訪問文件函數(shù)或所述獲取文件大小函數(shù)或所述讀文件函數(shù)或所述創(chuàng)建文件映射函數(shù)或所述映射文件函數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于飛天誠信科技股份有限公司,未經(jīng)飛天誠信科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210587208.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計算機(jī)或計算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計算機(jī)系統(tǒng)或計算機(jī)網(wǎng)絡(luò)中的節(jié)點
G06F21-22 .通過限制訪問或處理程序或過程
- 一種網(wǎng)絡(luò)驗證信息的方法和裝置
- 數(shù)據(jù)安全校驗方法、裝置及校驗設(shè)備
- XBRL實例文檔校驗方法以及系統(tǒng)
- 一次性可編程存儲裝置以及對其進(jìn)行數(shù)據(jù)校驗的方法
- 信息校驗方法及裝置
- 一種基于Java系統(tǒng)的數(shù)據(jù)校驗方法及系統(tǒng)
- 用于獨立冗余磁盤陣列的數(shù)據(jù)管理方法、設(shè)備和計算機(jī)程序產(chǎn)品
- 數(shù)據(jù)校驗方法及應(yīng)用系統(tǒng)
- 數(shù)據(jù)校驗方法、裝置、電子設(shè)備
- 一種業(yè)務(wù)數(shù)據(jù)校驗方法及裝置





