RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [求助] [求助] 是否有軟體支援windows中執行相同的程式   字型大小:||| 
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8222
 . 失蹤: 5574
#1 : 2005-1-31 03:39 AM     全部回覆 引言回覆

這種需求, 要變成通用程式粉麻煩, 但是, 要針對特定程式, 其實很簡單
so, 如果你會寫程式, 也知道怎樣使用debugger 環境, 我可以告訴你方法
1. 先trace 程式, 找出該程式何時執行CreateMutex, 這時候, 查出該function 第三個參數 (一個名字)
2. 自己寫一個程式, 裏面啥都不幹, 就是去CreateMutex 然後用同樣的名字參數

以後, 只要先執行你自己寫的程式, 再執行你希望可以跑多個的程式, 就可以了.

這個方法, 對80% 的軟體會有效
會無效的, 只有遇到使用傳統方法辨識的, 但是, 大型軟體公司的程式不會用傳統笨方法, 因為那樣子容易誤判

^^" 當初eDonkeySpy 破驢子不給跑多隻, 就是用這個方法

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8222
 . 失蹤: 5574
#2 : 2005-2-2 04:50 PM     全部回覆 引言回覆


引用:
musicsun寫到:

引用:
Acute寫到:
這種需求, 要變成通用程式粉麻煩, 但是, 要針對特定程式, 其實很簡單
so, 如果你會寫程式, 也知道怎樣使用debugger 環境, 我可以告訴你方法
1. 先trace 程式, 找出該程式何時執行CreateMutex, 這時候, 查出該function 第三個參數 (一個名字)
2. 自己寫一個程式, 裏面啥都不幹, 就是去CreateMutex 然後用同樣的名字參數

以後, 只要先執行你自己寫的程式, 再執行你希望可以跑多個的程式, 就可以了.

這個方法, 對80% 的軟體會有效
會無效的, 只有遇到使用傳統方法辨識的, 但是, 大型軟體公司的程式不會用傳統笨方法, 因為那樣子容易誤判

^^" 當初eDonkeySpy 破驢子不給跑多隻, 就是用這個方法

Acute.


要執行程式設定的mutex名字已經被自己寫的程式開啟了...
這樣要執行的程式不就看到名字已經有了...
然後一隻都不跑嗎?


寫程式都會有保險機制的, 不會寫的很愚蠢
所以, CreateMutex 成功之後, 會去檢查, 是不是自己的另一個instance 開啟的
如果是, 才會不執行, 如果不是, 就會執行
那因為已經被"假"程式先佔據了, 所以每個instance 起來都發現不是
所以, 每個instance 都會執行

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Acute
論壇第一大毒王
等級: 18等級: 18等級: 18等級: 18等級: 18
論壇第一小神童

 . 積分: 3281
 . 精華: 8
 . 文章: 11574
 . 收花: 14037 支
 . 送花: 3260 支
 . 比例: 0.23
 . 在線: 323 小時
 . 瀏覽: 2250 頁
 . 註冊: 8222
 . 失蹤: 5574
#3 : 2005-2-4 08:51 AM     全部回覆 引言回覆

以前寫程式, 要確認自己的程式是不是執行過, 使用的方法是:
FindWindow (ClassName, WindowName);
其中WindowName 通常給NULL, 因為多數程式WindowName 是變動的
後來大家盡量不這麼用, 就是因為僅僅一個名字決定一切, 萬一名字相同, 就造成程式不執行
最簡單的case, 今天寫病毒的人無聊, 把知名軟體的ClassName 都拿來亂玩一通
結果將造成知名軟體全部不能執行
採用CreateMutex也是一樣, 如果僅僅靠名字就決定一切, 那跟使用FindWindow 沒有任何兩樣
大型軟體公司, 如果要把程式寫的粉愚蠢, 當然沒有人禁止, 不過, 將會有接不完的客服電話

Acute.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-28 04:33 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.020906 second(s), 7 queries , Qzip disabled