原创 windows消息機制

1.       Windows 的歷史中國人喜歡以史爲鑑,而事實也確實是,如果你能知道一件事情的來龍去脈,往往可以更容易地理解事物爲什麼會表現爲當前這樣的現狀。所以,我的介紹性開場白通常會以一段歷史開始。不過,我不會以精確到年月日的那種方

原创 窗口刷新問題

在Windows API編程中,WM_PAINT是Windows窗口的一個重要消息,應用程序就是通過響應 這個消息來完成窗口的繪製。The WM_PAINT message is generated by the system and sh

原创 c++ return語句

return 語句是爲了強制結束函數,return 語句的返回分爲一下幾種情況一  返回類型爲void的函數可以不用顯示的給出return 語句,編譯器會在函數結束時自動隱式的給出return語句。二 主函數也可以不用顯示的給出return

原创 窗口刷新問題

在Windows API編程中,WM_PAINT是Windows窗口的一個重要消息,應用程序就是通過響應 這個消息來完成窗口的繪製。The WM_PAINT message is generated by the system and sh

原创 反調試原理

一、 前言    前段學習反調試和vc,寫了antidebug-tester,經常會收到message希望交流或索要實現代碼,我都沒有回覆。其實代碼已經在編程版提供了1個版本,另其多是vc內嵌asm寫的,對cracker而言,只要反下就知

原创 深入理解windows句柄

總是有新入門的Windows程序員問我Windows的句柄到底是什麼我說你把它看做一種類似指針的標識就行了但是顯然這一答案不能讓他們滿意然後我說去問問度娘吧他們說不行網上的說法太多還難以理解。今天比較閒我上網查了查光是百度百科詞條“句柄”中

原创 窗口刷新問題

在Windows API編程中,WM_PAINT是Windows窗口的一個重要消息,應用程序就是通過響應 這個消息來完成窗口的繪製。The WM_PAINT message is generated by the system and sh

原创 time函數

一、獲取日曆時間time_t是定義在time.h中的一個類型,表示一個日曆時間,也就是從1970年1月1日0時0分0秒到此時的秒數,原型是: typedef long time_t;        /* time value */可以看出t

原创 窗口刷新問題

在Windows API編程中,WM_PAINT是Windows窗口的一個重要消息,應用程序就是通過響應 這個消息來完成窗口的繪製。The WM_PAINT message is generated by the system and sh

原创 win32 段寄存器怎麼尋址

32位cpu 地址線擴展成了32位,這和數據線的寬度是一致的。因此,在32位機裏其實並不需要採用“物理地址=段:偏移”這種地址表達方式。原來在16位機裏規定的 每一個段不大於64kb在32位機裏也不是必要的。所以,對於32位機來講,最簡單

原创 內存映射文件處理大文件

先說結論:使用內存映射文件來處理大文件可以提高效率。 爲什麼呢?我們先來看看如果不使用內存映射文件的處理流程是怎樣的,首先我們得先讀出磁盤文件的內容到內存中,然後修改,最後回寫到磁盤上。第一步讀磁盤文件是要經過一次系統調用的,它首先將文件內

原创 序列號破解 注意api下斷點方法

最近和論壇的小廷一起參加了西電的網絡***比賽,我負責了Crack的部分,學到了很多。本人也是初學破解,小菜一枚。很喜歡破解,很享受其中分析的過程。下面分享一下我的經驗,能力有限,難免有不對的地方,希望

原创 彙編段地址

將數據、代碼、棧放入不同的段:把這些內容全部放在代碼段中無疑會讓程序顯得混亂而且難以管理和操作,容易出錯,所以,要把數據、代碼和棧放入不同的段中,這也體現了軟件工程中“分而治之”的思想assume cs:code, ds:data, ss:

原创 int 3中斷與軟件調試

摘要:平常編程調試的過程中,我們可能會有這樣的疑惑:“爲什麼使用硬件模擬器,比如bochs調試的時候,開始設置的調試斷點都不會生效?”,“斷點調試的本質是什麼,爲什麼程序能夠在特定的地方停留下來?既然程序是指令流,爲何CPU沒有一直執行下去

原创 __security_check_cookie小分析

今天在看彙編代碼的時候突然出現了__security_check_cookie ,突然不知道爲什麼,後來經過一番查發現,在複製數據的時候,爲了防止棧溢出,而出現的一種辦法首先在調用複製函數前:會有這樣的彙編代碼mov     eax, __