討論區快速選單
知識庫快速選單
掌握Salesforce雲端管理秘訣 網路投保旅行平安險 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
請問 用vc++ 如何去存取另一程式的記憶體空間
更改我的閱讀文章字型大小
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/3 上午 09:23:53
我的目的 有一點 像 自動執行程式 要送登入帳號密碼給另一個程式
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kuolung註記此篇回應為很有道理 2015/2/3 上午 09:39:50
maybe you need this way - communication between two programs
http://gienmin.blogspot.tw/2013/12/c-copydata.html
check it out :-)
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/3 下午 12:10:27
謝謝你的指教 這篇文章是說明兩邊的程式都是自己寫的
我的目的是 被存取的客端程式是別人的程式 所以是無法修改的
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/3 下午 12:26:58
>我的目的是 被存取的客端程式是別人的程式 所以是無法修改的
客端程式若訂有資料傳送的協議,就依協議傳送資料。
你如果想要做的是找出對方程式存放"登入帳號密碼"的記憶體,然後直接修改它。
這是駭客行為,也是x86保護模式所要極力防止的。
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/3 下午 09:34:52
啊!!!! 對不起 可能是我沒說清楚 我的意思是由我的程式 自動輸入到另一個程式 讓它能自登入 不是去抓別人的 帳密
當然 當我有能力去存取另一個程式的資料時 是有可能做到 像大大所說的駭客功能

其實我想要到 就有一點像 vc++ 附的一個 tools 叫 spy++的 請問有知道這個如何寫嗎 有參考資料可查嗎
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/3 下午 09:39:29
http://www.catch22.net/software/winspy-17

above is a similar tool , open source
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/4 下午 01:43:25
>可能是我沒說清楚 我的意思是由我的程式 自動輸入到另一個程式 讓它能自登入
我沒有誤解你的意思喔!
要控制另一個程式,就要該程式"同意",才是合法。
一個程式提供了控制管道,依這管道傳輸訊息就是該程式"同意"的控制行為。
不然都算是非法入侵。
如果該程式是處在一個話狀態,如出現一個對話盒,裡面有密碼和ID的輸入視窗。
這表示該程式當時同意使用者經由視窗介面輸入密碼和ID。
如果你的程式又有辦法抓到視窗的handle,那麼也可以使用 SetFocus+SendMessage/PostMessage,WM_CHAR
的方法把密碼和ID送過去。這算是使用程式代替鍵盤輸入,不算是非法入侵。
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/4 下午 01:48:23
A SIMILAR SPY++ PROGRAM - http://www.codeproject.com/Articles/1698/MS-Spy-style-Window-Finder
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/4 下午 01:49:39
>其實我想要到 就有一點像 vc++ 附的一個 tools 叫 spy++的 請問有知道這個如何寫嗎 有參考資料可查嗎
AP可以掃描目存在的所有視窗,得到所有的window(包含控件) handles。
但不表示,你要的密碼和ID那兩個控件存在(可能打開也可能沒打開)。
就算存在,要辨識和找到那兩個控件的window handle也不容易。
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/4 下午 01:51:03
http://blogs.msdn.com/b/vcblog/archive/2007/01/16/spy-internals.aspx
A POST ABOUT SPY++
作者 : sjohn0523(小約翰) VC++卓越專家貼文超過500則人氣指數超過10000點
[ 貼文 585 | 人氣 12261 | 評價 2690 | 評價/貼文 4.6 | 送出評價 42 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/13 下午 04:22:57
小弟最近有在玩外部控制這塊, 主要因為需要控制廠商的程式,
你可以下載下面的MessageSender, 抓到輸入框的HWND
然後可以選擇WM_SETTEXT丟字串進去, 先成功再下一步
http://www.codeproject.com/Articles/4909/MessageSender
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/14 上午 11:57:58
http://www.codeproject.com/Articles/1698/MS-Spy-style-Window-Finder

you also find this tool in the article
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/15 下午 08:57:00
>抓到輸入框的HWND然後可以選擇WM_SETTEXT丟字串進去...
問題就是是如何"抓到輸入框的HWND"?
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1602 | 人氣 38709 | 評價 4610 | 評價/貼文 2.88 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/16 上午 10:33:44
先用視窗的title去抓到視窗的HWND
有了視窗的HWND 就能找到輸入框的HWND
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/24 上午 11:26:51
>有了視窗的HWND 就能找到輸入框的HWND
如何找?
mail frame window的title是可以跑一下程式,觀察後得知。
但,其title也不一定唯一,也不一定固定。
就算這不是問題,要找到某個AP下的dialog裡的特定edit control也不容易。
如果edit control也是唯一,是比較可行。但ID和密碼的輸入框,應該都是edit control。
就表示,該diaog裡已不止一個edit control了。
沒有適切通用的方法。除非目標AP有特定的線索。
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/24 下午 11:40:45
後來 我在網路上找到一個程式 winhex. 他有一個修改記憶體的功能 請問這個要如何寫
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/25 上午 11:21:36
>後來 我在網路上找到一個程式 winhex. 他有一個修改記憶體的功能 請問這個要如何寫
你是在問像winhex功能的程式如何寫,還是想用winhex做到控制另外一個程式?
winhex的功能是修改檔案(內容),不是改變(或控制)執行中程式的行為。
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/25 下午 04:41:20
http://alternativeto.net/software/winhex/
some open source similar to winhex
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/26 上午 08:36:42
謝謝大大的指點
我有去看過那個網站 發現
Winhex 有一個 ram-editor 的 tag
找了其他全部 opensource 都沒有這個 tag
作者 : ozzy123(ozzy) VC++優秀好手資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4498 | 人氣 37262 | 評價 11100 | 評價/貼文 2.47 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/26 上午 10:06:19
http://en.wikibooks.org/wiki/X86_Disassembly/Analysis_Tools#Other_Tools_for_Windows
some dis assembly tools
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kuolung註記此篇回應為很有道理 2015/2/26 下午 03:59:48
>Winhex 有一個 ram-editor 的 tag
是的,雖然這不是Winhex的主功能,但很多駭客使用它來破解軟體。
說來說去,這種行為就是像是要闖進別人家,到處找沒關好的門窗,或是可以鑽進去的小洞。
所以,我說這是駭客行為,一直沒有誤會你的意思,是吧? ^^
使用winhex,首先你要知道目標程式裡和你目的相關的可搜尋特徵,你才能找到下手位置。
要使用者跑你的程式,還要使用winhex破門,應該不是你要的。
你的目的應該是要你的程式有winhex ram editor 的功能,可以自動破門而入,是吧?
well,windows AP 基本上是跑在OS的ring3,沒有權限可以存取別的process的記憶體。
你可能反問,那winhex為什麼可以?
是的,winhex應該沒有相關的驅動可以跑在ring0存取別人家的記憶體。
我相信它是使用NTDLL.DLL非公開的函式(PhysicalMemory)去操作的。
你可以在網路裡找到相關的資料。
但既然是非公開的API,就是這不是微軟要給你使用的。
(據微軟的說法,這是給驅動程式開發時偵錯用的API,但確沒有堵住ring3的程式也可以使用)
既然已被駭客拿來做破解工具,不久的將來,這個洞會被堵住的。
也就是你找到一種破解方法駭進別人的程式,是不穩定,現在可行,不代表永遠暢行。
你防,我破,你再防,我再破。這就是駭客和保護者永不止息旳戰爭。
想好,你是要走這條路嗎?
回頭看看你的目標程式說明,搞不好,它已提供自動ID和password的方法(例如執行程式時可加上ID和password)
開大門走大路,和人家不給進我徧要入是兩個世界。你要活在那個世界?

作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/26 下午 04:33:23
>既然已被駭客拿來做破解工具,不久的將來,這個洞會被堵住的。
補個充。
vista以後的版本,system administrator的權限預設是關閉的。
這時候即使你的程式是使用administrator身份去執行,並透過PhysicalMemory的API去存取別的process的記憶體,將只能讀不能寫入。
(如果是user身份則讀寫都不能)
也就是說,執行你的程式前,電腦必需打開system administrator的權限才行。
如果你的程式是給別人使用,別人是否願意冒打開system權限的風險?
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/27 上午 02:58:37
謝謝大大的指導 目前我是只想在技術層面來探討 道德的問題 我想留給別人去談
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/27 上午 03:10:27
http://www.programdevelop.com/4910671/
是不是這個網址所談到內容
作者 : sunyear(coco) VC++卓越專家C++頂尖高手貼文超過2000則
[ 貼文 2421 | 人氣 1485 | 評價 6060 | 評價/貼文 2.5 | 送出評價 5 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/2/27 下午 09:00:43
yes
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.21875