史萊姆論壇

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

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

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

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

Google 提供的廣告


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

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

這裡只是討論一下而已

我想或許有人第一個直覺就是
軟體序號
但這絕對不可造就 "專機程式"
因為資料保護法讓業者不能擷取使用者資料
所以利用網路回傳鎖定某單機(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 目前離線  
送花文章: 1999, 收花文章: 7957 篇, 收花: 26749 次
回覆時引用此帖
向 mini 送花的會員:
jal0707 (2006-11-13)
感謝您發表一篇好文章
舊 2006-05-15, 10:15 PM   #2 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

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

這裡只是討論一下而已

我想或許有人第一個直覺就是
軟體序號
但這絕對不可造就 "專機程式"
因為資料保護法讓業者不能擷取使...
在以前還有一種手法...,俗稱【硬體鎖】的技術。現在還有沒有就不清楚了。

就是在 Print port 或 com prot 上 插上一個韌體,該韌體可能只有 EPPROM
或是單晶片 CPU + EPPROM。當 PC 裡的特定程式在執行時會去跟這一個裝置做確認
OK 後再執行。如︰PC-illin 4/5 或 PC-2000(電子布線程式) 都屬該類。

其中【硬體鎖】就屬 單晶片 CPU + EPPROM 最難以破解,因為 那的 CUP 也會做
某種運算來達到防護...。
__________________
在「專業主討論區」中的問題解決後,要記得按一下 http://forum.slime.com.tw/images/stamps/is_solved.gif 按鈕喔,
這是一種禮貌動作。

一樣是在「專業主討論區」中發問,不管問題解決與否,都要回應別人的回答文喔。
不然搞 [斷頭文],只看不回應,下次被別人列入黑名單就不要怪人喔。

天線寶寶說再見啦~ ... 天線寶寶說再見啦~

迪西:「再見~ 再見~」

Otaku Culture Party 關心您 ...
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
舊 2006-05-15, 10:28 PM   #3 (permalink)
長老會員
 
劍痞憶秋年 的頭像
榮譽勳章
UID - 15
在線等級: 級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時
註冊日期: 2002-12-06
住址: 步雲崖
文章: 280
精華: 0
現金: 15847 金幣
資產: 20867 金幣
預設

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

這裡只是討論一下而已

我想或許有人第一個直覺就是
軟體序號
但這絕對不可造就 "專機程式"
因為資料保護法讓業者不能擷取使...
劣者可能想的比較簡單
劣者一般都是用 Windows 的序號為Key,再變化成實際亂碼的密碼鎖!!
(當然還是可能會被破,那沒辦法!!)
資料保護法讓業者不能擷取....
那反過來,讓使用者自己提供如何?!(註冊回傳檔案的功能...)
__________________
一切有為法 如夢幻泡影
如露亦如電 應作如是觀
劍痞憶秋年 目前離線  
送花文章: 150, 收花文章: 33 篇, 收花: 130 次
回覆時引用此帖
舊 2006-05-16, 10:30 AM   #4 (permalink)
管理版主
 
superxboy 的頭像
榮譽勳章
UID - 21259
在線等級: 級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時級別:55 | 在線時長:3359小時 | 升級還需:1小時
註冊日期: 2003-01-02
住址: 北極
文章: 10335
現金: 130 金幣
資產: 844182589 金幣
預設

引用:
作者: 劍痞憶秋年
劣者可能想的比較簡單
劣者一般都是用 Windows 的序號為Key,再變化成實際亂碼的密碼鎖!!
(當然還是可能會被破,那沒辦法!!)
資料保護法讓業者不能擷取....
那反過來,讓使用者自己提供如何?!(註冊回傳檔案的功能...)
1.一種方式做硬體鎖(我不會)

2.最常見是用CPU ID...畢竟沒人會常常換CPU...而且還要採用線上註冊...
__________________
http://images.gamebase.com.tw/mybase/32/05/281/happy_card_000002776.jpg
愛的時候,可以不公平;不愛了、分開了,總該公平了吧

重情重義重粉味 愛台愛鄉愛查某
superxboy 目前離線  
送花文章: 3254, 收花文章: 4835 篇, 收花: 21651 次
回覆時引用此帖
舊 2006-05-20, 05:34 PM   #5 (permalink)
註冊會員
榮譽勳章
UID - 130311
在線等級: 級別:7 | 在線時長:93小時 | 升級還需:3小時級別:7 | 在線時長:93小時 | 升級還需:3小時
註冊日期: 2004-05-20
VIP期限: 2010-12
文章: 77
精華: 0
現金: 5554 金幣
資產: 5586 金幣
預設

Armadillo good@@
lovesp 目前離線  
送花文章: 32, 收花文章: 13 篇, 收花: 33 次
回覆時引用此帖
舊 2006-06-15, 11:27 PM   #6 (permalink)
長老會員
榮譽勳章
UID - 11733
在線等級: 級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時級別:17 | 在線時長:390小時 | 升級還需:6小時
註冊日期: 2002-12-14
文章: 11
精華: 0
現金: 15509 金幣
資產: 20509 金幣
預設

引用:
作者: getter
在以前還有一種手法...,俗稱【硬體鎖】的技術。現在還有沒有就不清楚了。

就是在 Print port 或 com prot 上 插上一個韌體,該韌體可能只有 EPPROM
或是單晶片 CPU + EPPROM。當 PC 裡的特定程式在執行時會去跟這一個裝置做確認
OK 後再執行。如︰PC...
硬體鎖 的技術現在還是有的。目前你所說的防毒軟體所用的硬體鎖到現在還在生產,不過比起過去他們還是有加入了新的加密技術,不過一但鎖內的Private Key被 外部的人得知還是會被破解,我想防毒軟體那時會捨棄硬體鎖也是因為這個原因吧。製作硬體鎖的產品名稱叫Hasp你可以去找找看,不過我是覺得如果可以自製硬體鎖,內部的編碼多加幾層再加上軟體的編碼後我想可以破解的人就沒幾個了(除非很有耐心的人,還有很快的電腦)
august 目前離線  
送花文章: 4, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2006-06-16, 11:05 AM   #7 (permalink)
協調管理員
 
飛鳥 的頭像
榮譽勳章
UID - 23073
在線等級: 級別:72 | 在線時長:5513小時 | 升級還需:108小時級別:72 | 在線時長:5513小時 | 升級還需:108小時
註冊日期: 2003-01-07
VIP期限: 無限期
住址: 史萊姆團隊
文章: 7199
精華: 11
現金: 837 金幣
資產: 260029 金幣
預設

硬體鎖我也用過print port做過,用8051或avr或一些小電路就可以做了

用軟體,是windows nt的話
可以使用作業系統的SID和序號,兩劍合併
SID如果使用同一片光碟及同一個序號安裝的WINDOWS,SID都會不一樣
SID是在安裝WINDOWS NT系列的作業系統時隨機產生的
重灌電腦時也會不一樣,所以可以作為要驗證的根據
不過防不了GHOST

======================================================
安全性識別碼 (SID)
安全性識別元安全性識別元 (SID) 是定義使用者或群組的數值。每一個存取控制項目 (ACE) 都會有一個 SID,以識別其存取權限為允許、拒絕或稽核的使用者或群組。

知名的安全性識別元 (特殊識別元)
一般熟知的 SID 描述

匿名登入(S-1-5-7) 不必提供使用者名稱及密碼即連線到電腦的使用者。
已驗證的使用者(S-1-5-11) 包括所有其識別元已經過驗證的使用者及電腦。[已驗證的使用者] 不包括 [來賓] (即使 [來賓] 帳戶有密碼亦然)。
-----------------------------------------------
批次(S-1-5-3) 包括所有透過批次佇列機能 (例如工作排程器作業) 登入的使用者。
-----------------------------------------------
建立者擁有者(S-1-3-0) 一個在可繼承之存取控制項目 (ACE) 中的放置區。一旦繼承 ACE 之後,系統會使用物件目前擁有者的 SID 來取代這個 SID。
-----------------------------------------------
Creator 群組(S-1-3-1) 一個在可繼承之 ACE 中的放置區。一旦繼承 ACE 之後,系統會使用物件目前擁有者的主要群組的 SID 來取代這個 SID。
-----------------------------------------------
撥號(S-1-5-1) 包括所有透過撥號連線登入到系統的使用者。
-----------------------------------------------
Everyone(S-1-1-0) 在執行 Windows XP Professional的 電腦上,Everyone 包括 [已驗證的使用者] 及 [來賓]。在使用較舊版本之作業系統的電腦上,Everyone 包括 [已驗證的使用者]、[來賓]及 [匿名登入]。
相關資訊,請參閱預設安全性設定中的差異。
-----------------------------------------------
互動式(S-1-5-4) 包括所有在本機上或透過 [遠端桌面] 連線登入的使用者。
-----------------------------------------------
本機系統(S-1-5-18) 由作業系統使用的服務帳戶。
-----------------------------------------------
網路(S-1-5-2) 包括所有透過網路連線登入的使用者。互動式使用者的存取權杖不包括 [網路 SID]。
-----------------------------------------------
本身 (原則本身)(S-1-5-10) 一個在 Active Directory 中,使用者、群組或電腦物件上之 ACE 中的放置處。當您授予使用權限給 [原則本身] 時,即授予它們物件代表的安全性原則。在存取檢查期間,作業系統會使用物件代表之安全性原則的 SID 來取代 [原則本身] 的 SID。
-----------------------------------------------
服務(S-1-5-6) 包括登入以作為服務的所有安全性原則。由作業系統控制的成員資格。
-----------------------------------------------
終端機伺服器使用者(S-1-5-13) 包括所有登入到 [終端機服務] 伺服器 (處於 [終端機服務] 4.0 版應用程式相容模式中) 的使用者。
__________________
http://flybird017.googlepages.com/quok.gif http://flybird020.googlepages.com/new321.gif
寶貝你我的地球
, 請 少開電器,減少溫室氣體排放外,多種植植物,減少列印, 多用背面,丟棄時做垃圾分類。

http://netgames123.googlepages.com/tobikeways.jpg

飛鳥 目前離線  
送花文章: 11706, 收花文章: 3363 篇, 收花: 16453 次
回覆時引用此帖
向 飛鳥 送花的會員:
jal0707 (2006-11-13)
感謝您發表一篇好文章
舊 2006-06-16, 01:08 PM   #8 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

引用:
作者: 飛鳥
硬體鎖我也用過print port做過,用8051或avr或一些小電路就可以做了

用軟體,是windows nt的話
可以使用作業系統的SID和序號,兩劍合併
SID如果使用同一片光碟及同一個序號安裝的WINDOWS,SID都會不一樣
SID是在安裝WINDOWS NT系列的作業系統時隨機產生的
...
飛鳥大,好厲害呀,簡直像傑克一樣。
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
發文 回覆



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

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


所有時間均為台北時間。現在的時間是 09:23 AM


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


SEO by vBSEO 3.6.1