原创 關於VS2005和VS2008調試時,有些代碼不能單步調試問題

問題描述: 在使用VS2005和2008調試時代碼時,會有較少機率碰到一種情況,斷點可以正常被斷下,但是不能單步步過,而在單步的地方打上斷點後,又正常。 解決辦法: 將代碼格式化,在VS裏面用 Ctrl+K+F,並去掉代碼中多餘的空格。

原创 關於gtk+中GdkAtom定義

GTK+3.0代碼中,對GdkAtom有如下定義: 解釋:一種類型,描述XServer服務器的字符串表的索引 在源代碼中末搜索到任何_GdkAtom的定義,且此處使用typedef定義爲GdkAtom爲指針類型。   X11代碼中定義了

原创 【轉載】【翻譯】X11 剪貼板是如何工作的

轉載地址:自帶梯子  https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html X11:“剪貼板”如何工作? 如果您在切換到運行X11的東西之前使用過其他

原创 關於X11無法獲取窗口標題 WM_NAME _NET_WM_NAME

參考資料: https://www.x.org/releases/current/doc/libX11/libX11/libX11.html 在X11時代窗口的標題屬性通過WM_NAME屬性存儲,到了XCB時間窗口屬性通過_NET_WM_

原创 MFC窗口各部分寬度簡界

MFC窗口組成 通過Spy++獲取的窗體大小是整個窗口的大小 窗體分爲客戶區域和非客戶區域 非客戶區域包括菜單欄,工具欄和狀態欄 整個窗口由外到內,由上到下各部分之間的大小 邊框大小 8pit  標題欄大小 22pit 菜單欄大

原创 從雙擊至窗口最大化都發生了什麼

 在研究Duilib框架時的測試小例子,只需在OnSize下斷點,並雙擊標題欄,即會在OnSize中命令斷點,可分析調用流程,解釋見後 //5、最後,響應了OnSize消息 > DuiLib_d.dll!DuiLib::WindowI

原创 文件透明加密,所處理的一些API

[XueTr][acad.exe-->Ring3Hook]: 287 掛鉤對象                   掛鉤位置                   鉤子類型                   掛鉤處當前值         

原创 EF6框架源代碼調試的那些坑

1.代碼能夠正常編譯,運行報錯,提示AppConfig  類型初始值設定項引發異常 解決方法: 1.去掉EF框架的簽名 2.去掉AppConfig中的 "PublicKeyToken=b77a5c561934e089"  這段, 估計

原创 linux文件拷貝-sendfile

SENDFILE(2)                Linux Programmer's Manual               SENDFILE(2) NAME        sendfile - transfer data bet

原创 【原創】類的交叉使用。

交叉引用對象   A.h A.cpp B.h B.cpp   A中有B的指針,B中有A的指針   A.h中有B的指針,在A.h中加入B.h---A中即以在任意地方使用A或A中的函數   B.h若在加入A.h編譯器將會報錯。辦法。 在B.h

原创 記一次內核模塊導致系統問題

現象:安裝內核模塊之後,功能正常,但隔一段時間(時間不定)後,系統崩潰   爲了便於內核模塊調試使用了自編內核,因此在gdb中收到了中收到下圖的段錯誤:   猜想: 1)難道是因爲自編內核導致的? 2)根據中斷的位置,難道是因爲分配內存

原创 關於數據庫控制

數據控制,控制指定軟件無法連接數據數據庫 使用到技術要點,APIHOOk, SQL數據庫, SQL數據庫不管是採用ODBC或是ADO方式最終調用點在(dbnetlib.dll),在網上搜索文檔可查閱,涉及到API爲 Connection

原创 關於應用程序加殼後,IAT鉤子失效問題的破解

IAT鉤子主要使用的IAT表進行API HOOK 加殼會使原有的導入表被加密,導致無法直接通過修改導入表來Hook API,如下圖, 使用UPX加殼後,計事本程序,的很多項導入表不見了. 此類軟件加殼後將導至IAT鉤子失效,導致無法完

原创 淺談Windows窗體中顯示出示

先上圖,有圖有真象, 其效果有上圖,當鼠標移動到按鈕上是彈出一個提示。 其實現方法爲。 在CXXXDlg.h文件中定義: public:    CToolTipCtrl m_openToolTip;     在CXXXDlg.c

原创 替換通過PE加載器加載的模塊的導入表

PE加載器:將PE文件在內存中加載,此加載方式,進程的模塊列表中無法查看到模塊名。Procmon中監視,堆棧,堆棧中顯示<未知>,彙編跟蹤時也沒有模塊名。 替換方法:找到模塊所在的內存塊,對內存塊中的PE文件進行解析,定位到導入表處,再替