全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:5594
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [>>]

VCL Property Viewer

 
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-05 12:15:41 IP:211.76.xxx.xxx 未訂閱
這個程式可以用來觀察其他程式的VCL組態、記憶體內容。幫助設計時的runtime debug。    當然也可以用來看別人程式中用了什麼元件、設計了什麼property 功能還不是很齊全,只有做到觀察元件組態的功能。下一步希望能做到動態改變元件的變數 現在只有拿 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=16065051&CC=359289">
附加檔案:51329_CodePeeker.zip
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-09 10:11:09 IP:220.139.xxx.xxx 未訂閱
請問在 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-09 17:25:50 IP:211.76.xxx.xxx 未訂閱
引言: 請問在 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-09 21:08:16 IP:211.76.xxx.xxx 未訂閱
您所列出來的 static const 在 BCB5 的 system.hpp 也是一樣的內容,並沒有不同。    http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-12 07:25:33 IP:211.76.xxx.xxx 未訂閱
引言: 您所列出來的 static const 在 BCB5 的 system.hpp 也是一樣的內容,並沒有不同。
感謝dllee的特別幫忙,這幾天抓了dllee版友發表的PartPicture,當作bcb5的範本來解讀。新的版本應該可以正確的分析了。另外再加上vcl類別繼承的分析表與TComponent列表… 也希望大家繼續提供一些無法解讀的例子或意見~ 元件Owner-Child表 類別繼承分析
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-12 21:34:39 IP:211.76.xxx.xxx 未訂閱
真的可以看 BCB5 Build 出來的程式了  感謝。 另外想請問 href="http://www.ViewMove.com">http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-13 00:05:24 IP:61.64.xxx.xxx 未訂閱
那就再看看此篇文章把 【轉貼】JIURL PE 格式學習總結(一)-- PE檔概述 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=51747
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-13 03:24:41 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-13 04:52:49 IP:61.64.xxx.xxx 未訂閱
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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-06-15 09:51:10 IP:220.139.xxx.xxx 未訂閱
To pwipwi, 關於 GPCheck 您指的是您所找出的元件內的指標是否亂指嗎? 如果是,那可以保留呀,這樣也方便站友 debug 自己的程式 < > 我只是問那是作什麼用的,不是請您移除它 < > 說實在,您所提供的資訊實在很多,但是我對於您提供的資訊了解太少,所以,到目前為止,只覺得您的工具好像很強,但不知如何好好利用它。 To conundrum, 感謝您提供 PE 的相關資料,讓我能更了解 pwipwi 辛苦努力所提供的資訊 href="http://www.ViewMove.com">http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-06-15 10:34:48 IP:61.221.xxx.xxx 未訂閱
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

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-06-15 23:40:14 IP:211.76.xxx.xxx 未訂閱
感謝conundrum提供不少資訊,真的是不錯的參考目標。往後如果功能有更新,我會再上傳上來的
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-06-16 01:18:26 IP:61.64.xxx.xxx 未訂閱
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

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-06-23 00:07:12 IP:61.64.xxx.xxx 未訂閱
BoundsChecker V7.2 - per Concurrent User     這一套可以看看喔 http://www.componentsource.com http://www.componentsource.com/Catalog.asp?fl=&bc=&sc=CS&cv=re&sr=boundschecker&go=Search&bhcp=1&SERC=GGC1&PO=514511&option=10845&RC=SR&POS=1&shlng=en
tomtomtom
一般會員


發表:2
回覆:1
積分:0
註冊:2004-05-19

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-06-23 16:33:23 IP:61.62.xxx.xxx 未訂閱
這個大作非常了不起,我最近有做一個類似的程式,是讀取指定執行中程式的記憶體內容,光這點我找了好多 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

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-06-25 07:56:06 IP:211.76.xxx.xxx 未訂閱
引言: 這個大作非常了不起,我最近有做一個類似的程式,是讀取指定執行中程式的記憶體內容,光這點我找了好多 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
tomtomtom你好: 我也是使用相同的API來讀取記憶體內容,包含你列舉的OpenProcess,ReadProcessMemory,VMQuery中的API。 另外重新上傳改版的程式,加入修改properties的功能。 重做程式介面 發表人 - pwipwi 於 2004/06/25 07:58:07
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#17 引用回覆 回覆 發表時間:2004-06-25 16:31:07 IP:220.139.xxx.xxx 未訂閱
哇! 功能愈來愈強了!!  發現 > < href="http://www.ViewMove.com">http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#18 引用回覆 回覆 發表時間:2004-06-25 22:13:32 IP:211.76.xxx.xxx 未訂閱
再次感謝dllee版大的測試,BOOL值設定後無法改變值是程式的bug。修正的程式後已經重新上傳了!之前我自已試的時候竟都沒發現...
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#19 引用回覆 回覆 發表時間:2004-06-25 22:31:43 IP:61.64.xxx.xxx 未訂閱
美中不足的 只有 寶籃的程式 才能一窺 喝喝 不過 實在是很ez 水連PE都攪進去了 艾艾艾 看來 真的是 矛與盾 的戰爭又起
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#20 引用回覆 回覆 發表時間:2004-06-26 23:12:58 IP:211.76.xxx.xxx 未訂閱
引言: 再次感謝dllee版大的測試,BOOL值設定後無法改變值是程式的bug。修正的程式後已經重新上傳了!之前我自已試的時候竟都沒發現... < face="Verdana, Arial, Helvetica"> ... 我測試新版(檔案日期:04-06-25 22:07:14),還是一樣,我直接對 CodePeeker (TMainForm) 作 Analyze 點選 List View ,按 ClassName 排列,改 bViewCode 的 TButton 的 Top,Left,Width,Height,Visible,... 幾乎都是沒用的,改完按 Apply 點別的元件再點回此 bViewCode 就發現所有的值與修改前相同(等於沒改到),如果您自己已測試 ok,而我不行的話,可能,您的作法與不同的系統會相關。 另外,在作完上述測試無效後,改點選 Codepeeker (TApplication) 按下 Analyze 會發生 Exception: Access violation at address 00470DBC in module'CodePeeker.exe'. Read of address 00000010. Exception 後關閉再重開一次,再選 Codepeeker (TApplication) 一樣對 bViewCode 作修改,還是一樣無效... http://www.ViewMove.com 視動自動化科技股份有限公司 ViewMove Technologies, Inc.
------
http://www.ViewMove.com
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#21 引用回覆 回覆 發表時間:2004-06-27 01:43:45 IP:211.76.xxx.xxx 未訂閱
再次感謝Dllee版大的測試:     debug的結果,證實是程式的bug。更改的值是有寫入,問題是出在用來顯示的buffer忘了更新。更新後的程式,已經重新上傳。        另外針對Access violation at address....,有時候會出現,有時就乖乖地.....還沒找到 > 發表人 -
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#22 引用回覆 回覆 發表時間:2004-06-29 00:54:40 IP:61.64.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=51349 msdn下的 http://msdn.microsoft.com/msdnmag/issues/02/06/debug/figures.asp#fig1
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#23 引用回覆 回覆 發表時間:2004-07-08 03:37:12 IP:211.76.xxx.xxx 未訂閱
新的版本上傳, .修正一些bug .加入顯示各個動態連結庫的import、export函式的名稱與位置。 .解讀borland的name mangling .顯示Window Style和Extended Style    相關資料:    http://www.mdata.gr/MDataNews/DeveloperTips/advanceddynamicpackages.htm 如何呼叫bpl中的函式    程式圖片
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#24 引用回覆 回覆 發表時間:2004-07-08 12:37:43 IP:220.139.xxx.xxx 未訂閱
哇! 又更讚了 < > 如果在 > 加油吧 < > < 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

發送簡訊給我
#25 引用回覆 回覆 發表時間:2004-07-08 13:19:42 IP:211.76.xxx.xxx 未訂閱
AlphaV的點子真不賴    感謝dllee提供這個有用的資訊, 找個時間要來研究研究一下~~ 發表人 -
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#26 引用回覆 回覆 發表時間:2004-07-14 18:56:05 IP:211.76.xxx.xxx 未訂閱
更新上傳 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

發送簡訊給我
#27 引用回覆 回覆 發表時間:2004-07-14 20:38:37 IP:211.76.xxx.xxx 未訂閱
哇! 更是讚了!    AlphaV 也幾乎被您作掉了 < > 下一個是什麼呢? < > 視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/07/14 20:49:57
------
http://www.ViewMove.com
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#28 引用回覆 回覆 發表時間:2004-07-15 21:42:59 IP:211.76.xxx.xxx 未訂閱
再次感謝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

發送簡訊給我
#29 引用回覆 回覆 發表時間:2004-07-16 09:41:11 IP:220.139.xxx.xxx 未訂閱
pwipwi 您太謙虛了 (雖然您的ID是 pwipwi(發音應該像是台語的屁屁)意思是有點臭屁)  如果還要再加功能... 我想,下一個可以加的是,類似像 > < href="http://www.ViewMove.com" target="blank">視動科技 VMASK - ViewMove Automation Software Kernel 發表人 - dllee 於 2004/07/16 09:43:02
------
http://www.ViewMove.com
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#30 引用回覆 回覆 發表時間:2004-07-17 15:52:29 IP:61.64.xxx.xxx 未訂閱
我也要 哈哈 可不可以加上 exe執行 偵測部份 http://www.sysinternals.com/ntw2k/source/regmon.shtml 既然已是要動態偵測.exe 那REG這部份 一並記錄 哈哈
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#31 引用回覆 回覆 發表時間:2004-07-17 23:16:34 IP:211.76.xxx.xxx 未訂閱
感謝建議~ 找個時間來試著寫寫看。(conundrum版友所提的可能需要用到hook吧,難度高啊)
[<<] [1] [2] [>>]
系統時間:2024-03-29 3:24:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!