如何列出這台電腦上所有的 GlobalAtom 名稱。 |
答題得分者是:Zard
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 各位前輩,大家好! 有一個疑問,常在我腦海裡盤旋。... 我們知道可以利用 GlobalAddAtom、GlobalFindAtom....等等,來建立及使用ATOM。 但都是利用已知的 GlobalAtom 名稱,來作判斷。 現在問題就是,我如何能夠將這台電腦的所有GlobalAtom 名稱 全部列出來? 請各位前輩,不吝指教!謝謝!這個問題我以前也有想過, 可是翻遍MSDN, 好像沒有一個API可以列出Global ATOM table 內所有項目.....或許是基於安全因素吧.... |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 感謝 Zard 大大的答覆。 不過我想這個東西,總是要被存放在什麼地方。 是不是用一些較底層的方式,取得。ATOM Table是存在於記憶體, 而且OS應該會禁止程式直接去讀取那塊記憶體, 我猜想如果要把ATOM Table所有內容列舉出來, 只有用GlobalGetAtomName 來取得. String ATOMs的範圍 : 0xC000 ~ 0xFFFF Integer ATOMs的範圍: 0x0001 ~ 0xBFFF 寫個loop來跑吧 |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
感謝 Zard 大大的答覆。 您的方法,讓我知道解決問題的方法與概念。
在此感謝您!拖空答覆我這個問題。 我對這個感興趣,主要因素。
我開發了一項軟體(類似TOOL),透過網路取得授權之後。
即可執行。 但 USER 可能一直重複執行這個執行檔。 為了避免重新再一次透過網路取得授權(可能需費時幾秒的時間)。
本來我打算,取得第一次授權後放置授權允許的ATOM 以作識別用。
在第二次執行時,一旦檢查到這個ATOM 就跳過網路授權這一段。
如此看來,仍具有風險性(被破解)。 由於USER所需的效率要很高。{一執行就要有結果那種}
不可能再一次次浪費在透過網路取得授權。
{不考慮重開機。不可能使用KEYPRO 情況下} 不知道有比較好的做法嗎! 發表人 - wameng 於 2004/10/23 00:32:05
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
http://homepage1.nifty.com/kaityo/bcbtips/tips5.html 授權本來就有風險 矛與盾
1 針對一般硬體
2 針對一般個人身份如IC卡 信用卡 類
3 針對全球唯一碼 自己的 硬體的 非對稱之演算 封閉演算(就是不使用公開方式) 為了避免重新再一次透過網路取得授權(可能需費時幾秒的時間) 如授權後將憑證存在自身的exe rc data比對資料庫 md5等
至於要不定時或特定自身再驗證不是難事
不怕被破只怕破了不知 才是較佳之途 安全沒有永遠當然不能永遠不變
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 感謝 Zard 大大的答覆。 您的方法,讓我知道解決問題的方法與概念。 在此感謝您!拖空答覆我這個問題。 我對這個感興趣,主要因素。 我開發了一項軟體(類似TOOL),透過網路取得授權之後。 即可執行。 但 USER 可能一直重複執行這個執行檔。 為了避免重新再一次透過網路取得授權(可能需費時幾秒的時間)。 本來我打算,取得第一次授權後放置授權允許的ATOM 以作識別用。 在第二次執行時,一旦檢查到這個ATOM 就跳過網路授權這一段。 如此看來,仍具有風險性(被破解)。 由於USER所需的效率要很高。{一執行就要有結果那種} 不可能再一次次浪費在透過網路取得授權。 {不考慮重開機。不可能使用KEYPRO 情況下} 不知道有比較好的做法嗎! 發表人 - wameng 於 2004/10/23 00:32:05您是要用網路授權的方法保護您的軟體嗎? 如果要減少認證次數的話, 我倒是有兩個想法: 1. 網路授權部份交由一個Service去做, 利用Service的生命週期和OS 一樣的便利性, 只要不關機, 認證一次即可, 而此Service在啟動時 可開啟一個file mapping object, 且讀寫屬性為唯讀(避免被修改), 您的Tool執行起來時, 可以讀取這塊file mapping obj來決定使用者 是否已認證過, 當然, 為了防止Service被偷換掉, 除了檢查file mapping obj外, 還需檢查此Service的MAC(Message Authentication Code)值. 2. 第二種方法就是用Time Stamp的概念, 例如, 當使用者認證過之後, 在 某段時間內(比如說一小時), 使用者皆可重複開啟軟體, 而不需在通過 認證的過程, 而在這段時間內, 使用者開啟軟體時, 收到的只是Server 傳來的Time Stamp, 軟體可藉由檢查Time Stamp的方式來決定是否要啟 用.其實方法還有很多, 一時之間我只想到這兩種< >, 真是抱歉了, 而且現在 想睡了, 不知這些想法有沒有漏洞, 先說聲抱歉了< > |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 各位前輩,大家好! 有一個疑問,常在我腦海裡盤旋。... 我們知道可以利用 GlobalAddAtom、GlobalFindAtom....等等,來建立及使用ATOM。 但都是利用已知的 GlobalAtom 名稱,來作判斷。 現在問題就是,我如何能夠將這台電腦的所有GlobalAtom 名稱 全部列出來? 請各位前輩,不吝指教!謝謝!嗯, 確實無法防止API Hook, 不過他的Hook要比你更早被帶起來才有辦法攔到 CreateFileMapping, 所以在開機階段就啟動Service應該會比較好. 其實要做到純軟體的防護真的是滿難的 |
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
使用EXE 方式,會有Flag什麼時候清除的問題
可以試試至個檔
2000下 C:\WINNT\system32\config\SECURITY.LOG
它被記憶體鎖著了
kTOP曾有高人釋出範例 不過我也忘記那一篇
被 HOOK API 給破了
那就再起動時動手腳 OS導引開機程序 一般硬體無法使用 也可使用 模擬硬體方式
RAMdisk 模擬網路卡 coms com 等用途不同想法不同技術也不同 http://delphi.ktop.com.tw/topic.php?topic_id=55312
打電話問問看 獨家HiPart隱藏磁區技術 哈哈
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |