欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 程序自校驗設(shè)計思路 [打印本頁]

作者: liuyuxi    時間: 2015-1-11 00:30
標題: 程序自校驗設(shè)計思路
這個設(shè)計思路是小凡經(jīng)過“千辛萬苦、苦口婆心”的解釋,我才明白的 ,覺得真的很不錯!我總結(jié)了一下,寫下來

首先在程序里面預(yù)置一個放 MD5 的數(shù)組變量 初始化為 16A
編譯好后,把那個程序 邏輯上分為三份 :
第一份為 那 16A 前面的數(shù)據(jù)
第二份為 那 16A
第三份為 16A 后面   的數(shù)據(jù)
MD5 計算 第一份 和 第三份的 md5 使其相加 再進行一次 md5 加密 得到 一個新的L md5
將這個新的L md5 寫入到第二份中 ~~ 也就是填充那 16A ,供程序自判斷
在程序執(zhí)行前 我們先將 md5 (第一份 md5 + 第二份 md5 = 新的L md5  C32 修改 那 16A  為真正的L md5
程序執(zhí)行流程:
1,  根據(jù) 16A md5 )計算第一份的偏移地址
  16 Amd5 )為第二份偏移地址( 16 個字節(jié))   // 這份數(shù)據(jù)最后由我們外部修改為真正的Lmd5
3,  根據(jù) 16Amd5 )計算第三份的便宜地址
4,  讀取 第一份數(shù)據(jù) 計算其 Amd5
5,  讀取第三分數(shù)據(jù) 計算其 Cmd5
6,  將第一份 Amd5 與 第三份 Cmd5 相加 后再次進行 MD5 加密 得到新的 Lmd5
7,  讀取第二份數(shù)據(jù)
8,  將 Lmd5 與 第二份數(shù)據(jù)進行比較 相等則程序完整未被修改 不相等則認為程序被修改過
這樣分的好處就是,我們從外部只修改第二份數(shù)據(jù) md5 因為我們并沒有計算這份數(shù)據(jù)的 MD5 所以,它怎么修改 都不會影響到 第一、三份的加密后的 Lmd5   當(dāng)然,因為我們事先并不知道Lmd5 是多少,所以預(yù)置的在第二份數(shù)據(jù)中的 md5 可以隨便寫,只是為了方便用 C32 定位和程序自身定位,然后我們將計算 得到的 Lmd5 C32 寫入覆蓋到第二份數(shù)據(jù)中(也就是那十六個A)   這樣,就能和程序自己計算的Lmd5 與第二份數(shù)據(jù)相等。程序任意字節(jié)被修改, Lmd5 就發(fā)生會變化,那么它們就不會相等。達到修改任意一字節(jié)都能檢測出來!






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1