原创 硬盤加密----解析三

硬盤加密--解析三上一篇文章解析了硬盤上有兩個分區的加密過程,下面的程序將允許有N個分區的加密過程:Source Codes: data segment  FQB DB 512 dup(0);a buffer that will be u

原创 關於如何解決C++ Builder中DBLookupComboBox不能輸入的問題:

如何讓DBLookupComboBox能夠輸入,我的辦法是做一個組合的控件,在它的下方(當然也可以是上方)加一個小編輯框,我已經完成了代碼的80%,我是從TCustomControl繼承下來,在我的代碼後會有解釋我爲什麼要從這個類繼承,而

原创 硬盤加密--解析二

在對硬盤主引導記錄熟悉之後,就可以編出很多種硬盤加密程序(完全取決於你自已的需要),隨着硬盤容量越來越大,其實我們可以將硬盤分爲兩個盤,一個是C盤,一個是D盤,平時將C盤重要的文件拷貝至D盤,並將D盤加鎖,這樣當C盤受到破壞時,就可以解鎖

原创 對硬盤的一種簡單加密----在分區表上做手腳.

//以下程序適用平臺爲WIN98/WINME,WIN2000或者更高版本不支持對硬盤直接讀寫操作。     我們都有知道硬盤的分區表位於0柱0面1扇區,在偏移地址1BE至1FD處就是硬盤的分區表內容,通常我們看硬盤分區表,只需用DEBUG

原创 用C++ Builder中的TServerSocket,TClientSocket來寫網絡通訊程序

本文主要介紹如何在C++ Builder中用TServerSocket,TClientSocket來寫一個網絡間短包,文件傳輸的程序,這個程序可以支持:1.局域網上的傳輸。2.局域網與公網的傳輸(雙向傳輸),在第二篇文章中我將用socke

原创 80386ASM程序設計基礎(一)

    80386 ASM程序設計基礎,呵呵,這是最近一段時間我的業餘愛好。本期將連續推出若干篇有關80386ASM程序設計的基礎,主要介紹80386ASM指令的詳細用法及如何在80386實模式下,保護模式

原创 如何根據驅動程序及其安裝文件來訪問該設備呢(Visual C++ or C++ Builder均可以)

First of all,我要講一下Windows對每檢測到一個新設備的處理過程:1.首先Windows將各種設備分成不同的設備類,比如說USB Storage存儲類設備,而這些類設備都有一個GUID,它們位於註冊表中HKEY_LOCAL

原创 80386ASM程序設計基礎(九)

 雖然80386處理器要較以前的處理器的功能大大增強,但這些功能只能在保護模式下才能全部得到發揮。在實模式下最大尋址空間只有1M,但在保護模式最大尋址空間可達4G,可以訪問到所有的物理內存。同時由於引入虛擬內存的概念,在程序設計中可使用的

原创 80386ASM程序設計基礎(四)

   算術運算指令,邏輯運算指令,移位指令   AA.算術運算指令   A.加減法運算ADD,ADC,INC,SUB,SBB,DEC,CMP,NEG   a.ADD,和8086功能,用法相同,不過支持32位操作,下面的語句都是合法的。  

原创 80386ASM程序設計基礎(十)

主要介紹段描述符,段選擇子   在保護模式下,段是實現虛擬地址到線性地址轉換的基礎。在保護方下,每個段有三個參數:段基址,段界限,段屬性。段基址規定了線性地址空間中段的開始地址,段基址長度爲32位,所以任何

原创 通過COM使用ADO

在Visual C++或C++ Builder中,我們可以通過訪問ADO的COM對象來將對ADO的操作封裝成一個類。首先,我們需要對MSADO15.DLL進行導入,讓它生成類型庫。在C++ Builder中,用TLIBIMP.EXE來生成

原创 在C++ Builder中用socket api來寫網絡通訊程序(同時支持TCP和UDP協議)

在7月4日看完sockcomp.pas後,我決定用socket api來寫一個客戶端和服務器並且同時支持TCP,UDP協議,於是我就去做,現將代碼貼出來(已調試通過)Socket api Client:#ifndef UDPClientH

原创 80386ASM程序設計基礎(十一)

 主要介紹系統地址寄存器和控制寄存器以及在程序中實方式下與保護方式下的切換   80386處理器新增了一組控制寄存器CR0,CR1,CR2,CR3和一組系統地址寄存器GDTR,LDTR,IDTR,TR,它們全部都是32位的。CR0包含了指

原创 80386ASM程序設計基礎(二)

 80386處理器的尋址方式    在實式模式下,80386處理器的最大尋址空間仍然爲1M,和8086/8088相似。即段地址*10H+段內偏移地址,從而形成20位地址。此種模式下,段基址是16的倍數,長度

原创 在C++ Builder中如何通過對象名稱來訪問到該對象呢?答案就是使用MAP容器。

因爲,C++ BUILDER是編譯型語言,而非解釋型語言,所以它沒有Visual Foxpro那種宏代換。事實上,這個問題的提出早在去年夏天就出現過,我當時最笨的辦法就是用枚舉的方法一一列舉,去年11月看了一下STL覺得用MAP容器完全可