Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

想知道別人的程式是怎麼運作的嗎? 試試 oSpy 吧!
post by tommy @ 02 四月, 2007 08:36

前一陣子寫了一個 msn.class.php, 所以研究了一下 MSN 所使用的通訊協定, 主要的資訊, 當然都來自於這個網站上頭. 不過... 上頭對於 MSNP15 的說明有點不太詳細, 有些在 MSNP13 之後所使用的 SOAP 功能, 在我自己的實作上頭, 並不如網站所說的那麼順利, 有些指令怎麼送就是不會成功. 後來, 看到該網站提到的 oSpy 這個軟體, 就抓回來自己試了一下, 結果, 效果實在驚人.以 oSpy 網站上頭的一個 demo 來看, 在下載 oSpy 之後, 解開壓縮檔, 執行 oSpy.exe 之後, 選擇 Capture 選單的 Inject agent... 功能, 然後選擇你要監看的執行程式 (例如: msnmsgr), 點選 Inject, 等 oSpy 成功監看這個程式之後. 再選擇 Capture 選單中的 Start 功能. 就會出現一個統計視窗. 這時, 你可以開始操作你監看的軟體, 上頭的數字就會一直增加. 等你的操作到一段落之後, 就可以選擇 Stop 來中斷 oSpy 的監看動作. 這時, oSpy 就會把剛剛所有運作的過程列出. 我們可以把這個過程存起來, 方便以後慢慢查看.

利用 oSpy, 可以很容易的把這種未公開協定的程式, 研究的很清楚. 透過 oSpy 之後, 把原本在我的 msn.class.php 上頭不能正常運作的功能, 很容易就改成可以正常運作了.

我想, 每個在 Windows 的程式開發人員, 應該都要裝一套 oSpy 起來玩看看, 你一定不會失望的. 

Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] Re:想知道別人的程式是怎麼運作的嗎? 試試 oSpy 吧! [ 回覆 ]

oSpy很好用, 我也在用, 但是怎么能抓到SOAP包呢?

看下面的地址, 应该也是用oSpy抓的, 他就能抓到调用WebService的SOAP包
http://projects.collabora.co.uk/~asabil/sample.html

Tommy有这方面的心得么?

commons icon [2] Re:想知道別人的程式是怎麼運作的嗎? 試試 oSpy 吧! [ 回覆 ]

MSN 的離線訊息與 Address Book 的部份都是用 SOAP 與 WebService 聯繫.
基本上, 在 oSpy 的記錄就應該看的到有關 http 的連線, 那部份就會有送出的 POST 內容與回覆的 XML 了.

commons icon [3] Re:想知道別人的程式是怎麼運作的嗎? 試試 oSpy 吧! [ 回覆 ]

我是怀疑WLM在调用WebService的时候走的是HTTPS.
因为我在抓我自己登录的时候, 从来就没有在HTTP里看到有请求WebService的包:(

commons icon [4] Re:想知道別人的程式是怎麼運作的嗎? 試試 oSpy 吧! [ 回覆 ]

WLM 是用 https 沒錯啊. oSpy 裡頭看的到啊.

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 48 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS