VCL Property Viewer |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
這個程式可以用來觀察其他程式的VCL組態、記憶體內容。幫助設計時的runtime debug。 當然也可以用來看別人程式中用了什麼元件、設計了什麼property
![]() |
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
請問在 Program Code and Data 中紅色藍色底線表示什麼?
我測試的結果是不是用 BCB6 的看不出來,因為我是用 BCB5,我所開發的,此程式最多只有顯示 TBrush 其他不會出現,大部分在 VCL Tree 都是空白的。 http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
引言: 請問在 Program Code and Data 中紅色藍色底線表示什麼? 我測試的結果是不是用 BCB6 的看不出來,因為我是用 BCB5,我所開發的,此程式最多只有顯示 TBrush 其他不會出現,大部分在 VCL Tree 都是空白的。 http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.dllee你好: 藍色的底線代表的是一個Global Pointer,紅色代表的是一個TComponent結構。如果在Heap中可以看到不少的紅色線,表示還是有不少的TComponent被抓出來,無法進一步解讀的原因可能是TClassType的結構改了.... 可惜我手邊沒有bcb5的system.hpp檔,有版友方便查一下TClassType的結構嗎?(手邊沒有bcb5...) 以下是bcb6的TClassType結構,是否和bcb5一樣? static const Shortint vmtSelfPtr = 0xffffffb4; static const Shortint vmtIntfTable = 0xffffffb8; static const Shortint vmtAutoTable = 0xffffffbc; static const Shortint vmtInitTable = 0xffffffc0; static const Shortint vmtTypeInfo = 0xffffffc4; static const Shortint vmtFieldTable = 0xffffffc8; static const Shortint vmtMethodTable = 0xffffffcc; static const Shortint vmtDynamicTable = 0xffffffd0; static const Shortint vmtClassName = 0xffffffd4; static const Shortint vmtInstanceSize = 0xffffffd8; static const Shortint vmtParent = 0xffffffdc; static const Shortint vmtSafeCallException = 0xffffffe0; static const Shortint vmtAfterConstruction = 0xffffffe4; static const Shortint vmtBeforeDestruction = 0xffffffe8; static const Shortint vmtDispatch = 0xffffffec; static const Shortint vmtDefaultHandler = 0xfffffff0; static const Shortint vmtNewInstance = 0xfffffff4; static const Shortint vmtFreeInstance = 0xfffffff8; static const Shortint vmtDestroy = 0xfffffffc; static const Shortint vmtQueryInterface = 0x0; static const Shortint vmtAddRef = 0x4; static const Shortint vmtRelease = 0x8; static const Shortint vmtCreateObject = 0xc;另外再重新上傳新的版本,加上了解讀檔頭(pe image)的功能 |
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
您所列出來的 static const 在 BCB5 的 system.hpp 也是一樣的內容,並沒有不同。 http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
dllee版友問的問題真的是一針見血 TCustomDockForm的出現我也一直很不解,現在只有看到幾乎每個Control的offset B8都會包含一個TCustomDockForm。猜想可能是TControl的一個成員指標FFloatingDockSiteClass指向TCustomDockForm這個ClassType。然後程式就把他算成一個Component了...應該不能算是真的有這個Component的存在吧… 另外視窗的標題會抓到兩個,好像一個是從TApplication來的,另一個是從Main Form來的。如果說錯了…麻請其他版友指正 最後的GP check是用在統計Gobal pointer是否指向一個非法的位置,這是之前用來debug用的。整個vcl結構中處處都是指標,一不小心就Access violation,所以早先用來查是不是有抓錯指標。後來一直忘了移除這一頁
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
http://www.boilsoft.com/
http://www.safer-networking.org/index.php?page=download
http://freehost18.websamba.com/restools/
靜態
再試看看此站軟體 http://www.blong.com/Conferences/BorConUK2001/VCLSourcery/VCLSourcery.htm
http://www.blong.com/ 發表人 - conundrum 於 2004/06/13 05:25:17
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
To pwipwi,
關於 GPCheck 您指的是您所找出的元件內的指標是否亂指嗎?
如果是,那可以保留呀,這樣也方便站友 debug 自己的程式 < >
我只是問那是作什麼用的,不是請您移除它 < >
說實在,您所提供的資訊實在很多,但是我對於您提供的資訊了解太少,所以,到目前為止,只覺得您的工具好像很強,但不知如何好好利用它。 To conundrum,
感謝您提供 PE 的相關資料,讓我能更了解 pwipwi 辛苦努力所提供的資訊
------
http://www.ViewMove.com |
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
pwipwi 兄
這玩意工具 算上是很強的工具 當然有利有敝
如至 侯傑大師網站 慢慢瀏覽資料 也許能更有收獲 dllee 大仔 我只是po來給大家看看 PE 真的很難攪 不是一般的人知道就會的
不然破解就變的容易多啦 哈ㄏ
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19902
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=24453
這也許可看看 雖然很九就看過了 再回味一次 或許 pwipwi 兄可以參考dede的asm方式玩看看
http://delphi.ktop.com.tw/topic.php?topic_id=37405 pwipwi 兄 真的是寫的粉棒 哈哈 發表人 - conundrum 於 2004/06/15 10:44:34
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
http://www.freedownloadscenter.com/Programming/Delphi_Tools_and_Components/index1.html
http://www.vclcomponents.com/x_authors.asp?ID_AUTHOR=8586
http://delphi-jedi.org/Jedi:JCLDOWNLOADS
http://protools.anticrack.de/decompilers.htm
http://www.microgold.com/Stage/ReverseDelphiCode.html BarMenus.zip 不錯的xp元件
http://www.tietovayla.fi/dsp/newl/midxc50f.htm
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
tomtomtom
一般會員 ![]() ![]() 發表:2 回覆:1 積分:0 註冊:2004-05-19 發送簡訊給我 |
這個大作非常了不起,我最近有做一個類似的程式,是讀取指定執行中程式的記憶體內容,光這點我找了好多 API ,sample ... 才完成 您可以分享一下您是如何讀取記憶體的嗎? --- 我的程式如下 1. Use EnumProcesses 列出 DWORD PID
2. Use OpenProcess 將 PID -> HANDLE hProcess
3. Use EnumProcessModules , GetModuleBaseName 列出 ModuleBaseName
4. Use VMQuery 列出 HANDLE hProcess 所有的 memory block
5. Use ReadProcessMemory 將指定之 memory block 讀取 需要 VMQuery.cpp ,來自http://www.binglesite.net/source/win_prog_src.cab
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
引言: 這個大作非常了不起,我最近有做一個類似的程式,是讀取指定執行中程式的記憶體內容,光這點我找了好多 API ,sample ... 才完成 您可以分享一下您是如何讀取記憶體的嗎? --- 我的程式如下 1. Use EnumProcesses 列出 DWORD PID 2. Use OpenProcess 將 PID -> HANDLE hProcess 3. Use EnumProcessModules , GetModuleBaseName 列出 ModuleBaseName 4. Use VMQuery 列出 HANDLE hProcess 所有的 memory block 5. Use ReadProcessMemory 將指定之 memory block 讀取 需要 VMQuery.cpp ,來自http://www.binglesite.net/source/win_prog_src.cabtomtomtom你好: 我也是使用相同的API來讀取記憶體內容,包含你列舉的OpenProcess,ReadProcessMemory,VMQuery中的API。 另外重新上傳改版的程式,加入修改properties的功能。 |
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言: 再次感謝dllee版大的測試,BOOL值設定後無法改變值是程式的bug。修正的程式後已經重新上傳了!之前我自已試的時候竟都沒發現...
------
http://www.ViewMove.com |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
哇! 又更讚了 < >
如果在 > 加油吧 < > < href="http://www.ViewMove.com" target="blank">視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/07/08 12:39:40
------
http://www.ViewMove.com |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
更新上傳 1.可改變Window Style,如WS_VISIBLE,WS_MINIMIZE.... 2.在Object Inspector中改變屬性,可以立即看到目標視窗的更新
(比如改變Border Style,WindowState,..Top,Left..,可以馬上看到改變) 3.加入解讀Module。這個部份是參考包子大哥的範例,也是很好的教材: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52970 只可惜Module Entry很多的資訊被微軟列為不使用了,詳細可以參考: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/moduleentry32_str.asp 4.修正一些bug...與內部的最佳化
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
哇! 更是讚了! AlphaV 也幾乎被您作掉了 < > 下一個是什麼呢? < > 視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/07/14 20:49:57
------
http://www.ViewMove.com |
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
再次感謝dllee和conundrum版大的支持與提供資料~ 這個程式有很多地方是由這個論壇上學來的,
像包子大哥的Process List,與dllee版友最早的GetWinAndSubWin2。
還有無數的WinAPI範例…都是很好的教材。
(感謝版大們無私的付出) 有人建議我要不要作成Open Source,我也認真的考慮過,開放Source還可以投去SourceForge,聽起來真是不賴。只是無奈程式裡用了不少third-party component,其中有不少是自已糊亂寫的,要一起都open source的話,只怕這些真的是見笑了…。見笑還好,餵給bcb一些垃圾元件下場可是很慘的。(重灌bcb時一定會罵死我)。維護元件比寫元件來得難上好幾倍
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
pwipwi 您太謙虛了 (雖然您的ID是 pwipwi(發音應該像是台語的屁屁)意思是有點臭屁)
------
http://www.ViewMove.com |
conundrum
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
pwipwi
版主 ![]() ![]() ![]() ![]() ![]() 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |