久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3770|回復: 0
收起左側

程序自校驗設計思路

[復制鏈接]
ID:71922 發表于 2015-1-11 00:30 | 顯示全部樓層 |閱讀模式
這個設計思路是小凡經過“千辛萬苦、苦口婆心”的解釋,我才明白的 ,覺得真的很不錯!我總結了一下,寫下來

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

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本在线免费 | 久久视频免费在线观看 | 亚洲视频一区 | 久草免费福利 | 日皮视频在线观看 | 中文字幕在线免费看 | 国产三级在线看 | 色综合天天 | 亚洲激情成人 | 中文字幕三级 | 日韩欧美一区在线 | 亚洲成人av | 亚洲一级大片 | 影音先锋在线观看视频 | 日韩午夜av| 日日干夜夜撸 | 久久精品视频网站 | 国产美女久久 | 国产天堂av | 亚洲精品久久久久久久久 | 日韩av免费播放 | 亚洲欧美精品在线 | 18精品爽国产白嫩精品 | 亚洲天堂影院 | 国产免费一级片 | 成人玩具h视频 | 午夜av在线 | 极品在线视频 | 欧美在线视频免费 | av网站观看 | 神马午夜久久 | 久久久精品国产sm调教 | 久久在线精品 | 日韩欧美视频在线 | 蜜桃一区二区 | 国产精品一区在线播放 | 国产成人在线免费观看 | 欧美极品视频 | 国产精品久久久国产盗摄 | 在线观看福利影院 | 人人插人人射 |