史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-05-15, 03:26 PM   #1
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9693小時 | 升級還需:104小時級別:96 | 在線時長:9693小時 | 升級還需:104小時級別:96 | 在線時長:9693小時 | 升級還需:104小時級別:96 | 在線時長:9693小時 | 升級還需:104小時級別:96 | 在線時長:9693小時 | 升級還需:104小時級別:96 | 在線時長:9693小時 | 升級還需:104小時
註冊日期: 2002-12-07
文章: 13261
精華: 0
現金: 26261 金幣
資產: 3024071 金幣
預設 討論 - 如何做出專機程式

什麼是 "專機程式" 是我亂說的啦~
是指 此程式只能於這台電腦安裝執行
拿到別台就不可行了

這裡只是討論一下而已

我想或許有人第一個直覺就是
軟體序號
但這絕對不可造就 "專機程式"
因為資料保護法讓業者不能擷取使用者資料
所以利用網路回傳鎖定某單機(PC)就不可行了
當然更純粹的是
這麼被哥哥的軟體 沒人會想用吧~

那如此之下個人能想到的就是
硬體ID
像是 網路卡、CPU 都可以拿來當硬體ID的參考
只是那怎麼辦到
此程式拿到別的 PC就不能用呢?
除非
每個程式都針對該PC編譯一次 (或軟體資源表是 針對該PC 而建立)
要不然就是建立 資料庫,並崁入軟體內 (但這不是一個好方法)
不論如何這兩種方法
好像都必須您先下訂單
再根據您送的 硬體ID 來製作厚~
那這不就增加了你的負擔
且突變成 "被哥哥軟體"
如何解決呢?

可以設計一個網路端伺服器幫你合成軟體程式
使用者上傳硬體ID後
網路端伺服器就做出你的 專機程式
並show出下載點
那這個程式不論是 使用者透露了載點,或免費上傳
都不再有效了 (因為是由硬體ID 做把關嘛~)

那破解呢?
世界上 專業軟體破解 個人/團體 不勝枚舉
因此不敢打包票破不了
只是把防鎖加多 難度自然就加高 會想破的人就...
比如size防護、資源檔防護、執行期防護(一般都只做啟動期驗證)、身份證字號防護(這樣就不敢拿給別人用,不過太 貝戈戈了 不實際...)...

那如何 設計一個網路端伺服器
方法有
自動編組譯、製作雜點map再替換入資源表 這兩個主要方法
自動編組譯沒什麼好說
來看看 製作雜點map再替換入資源表 的原理
利用
srand(硬體ID); //這裡借用C++語言的亂數種子特性
接著
在一個 128x128 4bit 格式的 BMP圖 上噴上雜點 (以下稱之為 "指紋map")
http://xs200.xs.to/xs200/06201/Snap2.png
最後
將此BMP圖資源崁入軟體即可

那一定會問
如何辦到只修改 指紋map 而不用修改程式碼
就可辦到 專機程式 的實現呢?
重點就在此 指紋map 的製作有脈絡可尋
程式碼不是用 數值核對 或 boolean對錯方式 來認可執行
而是 指紋map 就是組合語言程式碼
128*128*4=65536 那再減一剛好等於 65535= 16進制的 FFFF
這樣足夠記載所有 組合語言code
比如
B80800 是指 MOV AX,0008
(那 00 要怎麼辦呢,當預設值吧,根據人分析 除非出現 指定位址寫法 否則不會有 超過2byte的機碼出現情形)
...
如此
那破解者會被混淆
如果要跳過執行這個執行碼呢?
那他必須破解(也就是更改接下來的不知有多少處的同情況執行碼)
又會問到
如果使用 破解工具 全部取代不就好了
那程式極有可能其正常執行碼會被跟著破壞到
但我們不能抱著這種得過且過的賭博心態
因此
就必須下相關功夫
使當破解後會造成計數失敗
...


其實個人還每將此理論想(規劃)清楚
所以先寫到這
如有新的更正或想法再敘吧

有興趣的讀者
請多多指教

此帖於 2006-05-15 04:58 PM 被 mini 編輯.
mini 目前線上  
送花文章: 2001, 收花文章: 7962 篇, 收花: 26757 次
回覆時引用此帖
向 mini 送花的會員:
jal0707 (2006-11-13)
感謝您發表一篇好文章
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 05:58 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1