pablo cesar aimar 巴勃羅·塞薩爾·艾瑪爾

          “窗寒西嶺千秋雪,門思東霧萬里床!”

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            16 Posts :: 3 Stories :: 6 Comments :: 0 Trackbacks

          2006年1月8日 #

          隨著各行業信息化建設的發展,使人們對網絡服務器的處理能力、高可用性提出了更高的要求。尤其是高度信息化的企業中,關鍵性網絡服務已經成為企業生成過程中的重要環節,服務的中斷意味著生產的中斷,機會的喪失。
              負載平衡不但可以有效地解決單服務器的性能限制,而且可以實現故障的快速轉移,保證服務的高可用性以及靈活的擴展性。于是,負載平衡幾乎是每個網絡管理員的必修課。本文章主要講述windows2003在網絡負載平衡(Network Load Balancing )方面的應用。
              Windows的負載平衡主要是依靠組建網絡負載平衡群集來實現的,支持WEB、FTP、Proxy、VPN、Windows Media、Telnet等服務器的負載平衡。
              負載平衡的原理
              NLB其實就是提供相同服務的一系列服務器同時監聽服務請求,并允許在同一時間運行多個應用程序實例。NLB的核心是位于網絡適配器驅動和網絡層之間的WLBS.SYS的篩選器驅動。NLB把每個IP數據包分發到所有群集節點,并根據數據包的源地址、目標地址、傳輸層協議、端口、群集的配置參數以及算法做出由某個節點處理而其他節點丟棄此數據包的統一決定。
          負載平衡的概念
              配置負載平衡之前,需要理解幾個重點概念。
              群集IP 地址和子網掩碼:群集的虛擬IP地址,是表現在客戶面前的"外部"地址。
              專用IP 配置和子網掩碼:群集各節點的本地IP地址,唯一標識群集的各節點。
              完整Internet名:能夠訪問此群集的DNS名稱,比如cluster.it.com.cn。
              群集操作模式:在方案的選擇中詳細講述。
              端口規則:windows2003中新加的功能,細化了控制微粒,可以阻止某節點特定應用程序的流量,而在windows2000中這是不能實現的。
              優先級(單一主機標識符):范圍在1-32之間(32是一個群集的最大節點數)。此值決定如何處理沒有包含在任何為群集定義的端口規則中的傳入網絡通訊。具有最高優先級的主機(優先值最小)將處理所有這種通訊。
          負載平衡的要求
              操作系統的要求 在windows2003的所有版本系統中,NLB都是可用的。群集可以兼容以前的windows服務器操作系統(比如2000,NT4.0)。
              網絡結構的要求
              NLB可以在連接到FDDI(光纖分布式數據接口),以太網,吉比特以太網的服務器上運行,但不能在Token Ring(令牌環)網絡上運行。
              網卡的要求
              所有的網絡適配器必須在Windows2003的硬件兼容列表中。一般情況下,服務器的網卡都會符合要求。
              交換機和路由器的要求
              當計劃使用VLAN來防止交換數據洪水時,必須確保交換機支持VLAN設置;當使用多播時,部分路由器不支持把單播IP地址映射為一個多播MAC地址,需要手工設置。
              通訊協議的要求
              綁定到群集的網絡適配器只能安裝TCP/IP協議,可以必須靜態分配,不支持DHCP。
              應用程序的要求
              首先必須是TCP或UDP通訊,而且確定當前應用程序或服務必須支持NLB。
          負載平衡的設計
              由于網絡負載平衡不能根據CPU和內存利用率來分配流量,而且性能并不是隨著節點數量的增加而線性變化的(因為隨著規模的增大,由此產生的網絡開銷,CPU開銷也隨著增大),,所以正確的設計和規劃負載平衡是至關重要的。
              群集的實現需要群集內部的通訊(比如心跳信息和聚合通訊)以及管理和內容復制的數據傳輸。這部分通訊占用了網絡的可用帶寬。為了克服單網卡的局限性,可以使用雙網卡,一個用于負載客戶端的通訊,另一個用于傳輸內部通訊,管理和內容的數據。
              群集操作模式的選擇是設計的重要一步。單播模式是指各節點的網絡適配器被重新指定了一個虛擬MAC(由02-bf和群集IP地址組成確保此MAC的唯一性)。由于所有綁定群集的網絡適配器的MAC都相同,所以在單網卡的情況下,各節點之間是不能通訊的,這也是推薦雙網卡配置的原因之一。為了避免交換機的數據洪水,應該結合VLAN使用。
              多播模式下,網絡適配器在保留原有的MAC地址不變的同時,還分配了一個各節點共享的多播MAC地址。所以,即使單網卡的節點之間也可以正常通訊。但單網卡的帶寬占用、競爭網絡適配器等缺點仍然存在。
              此外,部分路由器(特別是Cisco產品)還不支持單播IP地址和多播MAC的ARP映射的自動創建,需要手工配置。IGMP多播(只有在選中多播時,才可以選擇此項),在繼承多播的優點之外,NLB每隔60秒發送一次IGMP信息,使多播數據包只能發送到這個正確的交換機端口,避免了交換機數據洪水的產生。
              端口規則是windows2003的新特性。NLB提供3種篩選模式,可以針對端口規則采取禁止、多主機負載平衡和單主機的特殊處理。其中,多主機篩選模式提供了真正意義上的負載平衡,并且可以根據節點的實際處理能力進行負載量的分配。
              單個群集的最大節點數為32,如果還不能滿足需要,可以使用Round-Robin Domain Name Service把請求映射到多個群集上(但也因此引入了單點故障DNS,除非DNS冗余)。
          負載平衡的安裝與配置
              Windows2003引入了網絡負載平衡管理器(控制面板->管理工具),使負載平衡的安裝和配置更加簡單。管理器可以容易的實現群集的建立、刪除,節點的添加、 刪除、修改以及故障的檢測。
              運行網絡負載平衡管理器,選擇 群集 -> 新建 ,彈出"群集參數"對話框,按需要配置。如下:


          下一步,系統會提示添加附加群集IP,如果不需要可直接按下一步進行端口配置。以web群集配置為例,其典型端口配置如下圖所示:如果會話狀態不保存在該群集上,則相似性選擇無,否則選擇單一或者類C

          之后,指定一臺主機連接,并選擇一個可用的網絡接口,進行主機參數的設置:

          點擊完成,管理器會自動連接到主機上進行相關配置來創建一個新的群集。可以雙擊日志項目,了解NLB管理器都進行了什么配置。

              雖然,使用NLB管理器是一個微軟推薦的方法,但使用NLB.EXE命令行仍然有它獨特的優點:反應快,便于批處理。因此,掌握NLB命令也是快速部署的需要。

          負載平衡的安全考慮

              群集的遠程管理特性允許管理員在遠程計算機上使用NLB.EXE管理群集。但啟用此功能后,會帶來安全風險,比如密碼泄露和DOS (拒絕服務攻擊)。如果啟用,請確保密碼足夠復雜,并且根據需要在防火墻上進行訪問策略的配置(比如封鎖UDP端口17172504)。

              總結

              負載平衡負載平衡是一項綜合的技術,在實施過程中往往伴隨著其他技術的應用。比如網絡負載平衡群集和服務器群集的結合,甚至與存儲區域網絡或網絡附加存儲相關聯都是一個不錯的主意。

          posted @ 2006-02-17 11:39 pablo cesar aimar 閱讀(413) | 評論 (0)編輯 收藏

          import java.io.*;

          public class Test {
              public static void main(String[] args) {
                  try {
                      Process process = Runtime.getRuntime().exec("ipconfig /all");
                      InputStreamReader ir = new InputStreamReader(process
                              .getInputStream());
                      LineNumberReader input = new LineNumberReader(ir);
                      String line;
                      while ((line = input.readLine()) != null)
                          if (line.indexOf("Physical Address") > 0) {
                              String MACAddr = line.substring(line.indexOf("-") - 2);
                              System.out.println("MAC address = [" + MACAddr + "]");
                          }
                  } catch (java.io.IOException e) {
                      System.err.println("IOException " + e.getMessage());
                  }
              }
          }
          posted @ 2006-01-21 10:20 pablo cesar aimar 閱讀(732) | 評論 (0)編輯 收藏

           
           
           
                 近來在網上經常見有人問起Mac地址的問題,那么究竟Mac地址是什么?在現行的網絡中,扮演什么角色呢?下面我們就一同來探討一下關于Mac地址的知識。
                 什么是Mac地址?

            Mac地址就是在媒體接入層上使用的地址,通俗點說就是網卡的物理地址,現在的Mac地址一般都采用6字節48bit(在早期還有2字節16bit的Mac地址)

            前24位由是生產廠家向IEEE申請的廠商地址(這可是要花錢的哦!據說1000美元才能買一個地址塊)。后24位就由生產廠家自行定以了。(早期的2字節的卻不用申請)

            IP地址和Mac地址有什么聯系和區別

            大家都知道,現在有很多計算機都是通過先組建局域網,然后通過交換機和Internet連接的(大學里的校園網就是這樣)。然后給每個用戶分配固定的IP地址,由管理中心統一管理,這樣為了管理方便就需要使用Mac地址來標志用戶,防止發生混亂,明確責任(比如網絡犯罪)。另外IP地址和Mac地址是有區別的,雖然他們在局域網中是一一對應的關系。IP地址是跟據現在的IPv4標準指定的,不受硬件限制比較容易記憶的地址,而Mac地址卻是用網卡的物理地址,多少與硬件有關系,比較難于記憶。

            如何知道自己的Mac地址

            方法比較多,也比較得簡單,在這里介紹兩種常用的方法,在Win9x 可用:WinIPcfg獲得,在2000、XP可用IPconfig -all獲得。如果你已經給自己的網卡分配了IP還可以用 nbtstat -A 自己的IP 如下圖,后者只能在2000/XP下使用。

          如何獲得別人的Mac

            其實上面已經涉及到了,如果是2000/XP用戶可以用 nbtstat -A IP地址(還可以獲得別的東東啊,可別學壞啊)。另外同一局域網內的,你可以用ping IP 或者ping 主機名,然后用arp -a 來獲得。

            如何修改自己的Mac地址

            Mac地址是保存在網卡的EPROM里面,通過網卡生產廠家提供的修改程序可以更改存儲器里的地址,即使網卡沒有這樣的設置我們也可以通過間接的方法修改,一般網卡發出的包的源Mac地址并不是網卡本身寫上去的,而是應用程序提供的,只是在通常的實現中,應用程序先從網卡上得到Mac地址,每次發送的時候都用這個Mac做為源Mac而已,Windows中,網卡的Mac保存在注冊表中,實際使用也是從注冊表中提取的,所以只要修改注冊表就可以簡單的改變Mac

            Win9x中修改:

            打開注冊表編輯器,在HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Service\Class\Net\下的0000,0001,0002 Win2000/XP中的修改:同樣打開注冊表編輯器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串變量,命名為"NetworkAddress",值為要設置的Mac地址,例如:000102030405
          完成上述操作后重啟就好了。

            Linux下的修改:

            1.必須關閉網卡設備,否則會報告系統忙,無法更改。

            命令是:"ifconfig eth0 down"

            2.修改Mac地址,這一步較Windows中的修改要簡單。

            命令是:"ifconfig eth0 hw ether 00AABBCCDDEE"

            3.重新啟用網卡

            "ifconfig eth0 up"網卡的Mac地址更改就完成了。

            現在還有很多軟件提供了修改Mac地址的功能,如:Mac2001

            那么既然IP和Mac地址都可以改,那么怎么防御呢?通過簡單的交換機端口綁定(端口的Mac表使用靜態表項),可以在每個交換機端口只連接一臺主機的情況下防止修改Mac地址的盜用,如果是三層設備還可以提供:交換機端口-IP-Mac 三者的綁定,防止修改Mac的IP盜用,這種方法更有效!還有些方法如配置交換機的VLAN,使用用戶認證等,都略顯復雜,再次不多浪費筆墨。
          posted @ 2006-01-16 14:17 pablo cesar aimar 閱讀(507) | 評論 (0)編輯 收藏

           Ping
            
             Ping是個使用頻率極高的實用程序,用于確定本地主機是否能與另一臺主機交換(發送與接收)數據報。根據返回的信息,你就可以推斷TCP/IP參數是否設置得正確以及運行是否正常。需要注意的是:成功地與另一臺主機進行一次或兩次數據報交換并不表示TCP/IP配置就是正確的,你必須執行大量的本地主機與遠程主機的數據報交換,才能確信TCP/IP的正確性。
            
             簡單的說,Ping就是一個測試程序,如果Ping運行正確,你大體上就可以排除網絡訪問層、網卡、MODEM的輸入輸出線路、電纜和路由器等存在的故障,從而減小了問題的范圍。但由于可以自定義所發數據報的大小及無休止的高速發送,Ping也被某些別有用心的人作為DDOS(拒絕服務攻擊)的工具,前段時間Yahoo就是被黑客利用數百臺可以高速接入互聯網的電腦連續發送大量Ping數據報而癱瘓的。
            
             按照缺省設置,Windows上運行的Ping命令發送4個ICMP(網間控制報文協議)回送請求,每個32字節數據,如果一切正常,你應能得到4個回送應答。
            
             Ping能夠以毫秒為單位顯示發送回送請求到返回回送應答之間的時間量。如果應答時間短,表示數據報不必通過太多的路由器或網絡連接速度比較快。Ping還能顯示TTL(Time To Live存在時間)值,你可以通過TTL值推算一下數據包已經通過了多少個路由器:源地點TTL起始值(就是比返回TTL略大的一個2的乘方數)-返回時TTL值。例如,返回TTL值為119,那么可以推算數據報離開源地址的TTL起始值為128,而源地點到目標地點要通過9個路由器網段(128-119);如果返回TTL值為246,TTL起始值就是256,源地點到目標地點要通過9個路由器網段。
            
             通過Ping檢測網絡故障的典型次序
            
             正常情況下,當你使用Ping命令來查找問題所在或檢驗網絡運行情況時,你需要使用許多Ping命令,如果所有都運行正確,你就可以相信基本的連通性和配置參數沒有問題;如果某些Ping命令出現運行故障,它也可以指明到何處去查找問題。下面就給出一個典型的檢測次序及對應的可能故障:
            
             ping 127.0.0.1--這個Ping命令被送到本地計算機的IP軟件,該命令永不退出該計算機。如果沒有做到這一點,就表示TCP/IP的安裝或運行存在某些最基本的問題。
            
             ping 本機IP--這個命令被送到你計算機所配置的IP地址,你的計算機始終都應該對該Ping命令作出應答,如果沒有,則表示本地配置或安裝存在問題。出現此問題時,局域網用戶請斷開網絡電纜,然后重新發送該命令。如果網線斷開后本命令正確,則表示另一臺計算機可能配置了相同的IP地址。
            
             ping 局域網內其他IP--這個命令應該離開你的計算機,經過網卡及網絡電纜到達其他計算機,再返回。收到回送應答表明本地網絡中的網卡和載體運行正確。但如果收到0個回送應答,那么表示子網掩碼(進行子網分割時,將IP地址的網絡部分與主機部分分開的代碼)不正確或網卡配置錯誤或電纜系統有問題。
            
             ping 網關IP--這個命令如果應答正確,表示局域網中的網關路由器正在運行并能夠作出應答。
            
             ping 遠程IP--如果收到4個應答,表示成功的使用了缺省網關。對于撥號上網用戶則表示能夠成功的訪問Internet(但不排除ISP的DNS會有問題)。
            
             ping localhost--localhost是個作系統的網絡保留名,它是127.0.0.1的別名,每太計算機都應該能夠將該名字轉換成該地址。如果沒有做到這一帶內,則表示主機文件(/Windows/host)中存在問題。
            
             ping www.yahoo.com--對這個域名執行Ping命令,你的計算機必須先將域名轉換成IP地址,通常是通過DNS服務器 如果這里出現故障,則表示DNS服務器的IP地址配置不正確或DNS服務器有故障(對于撥號上網用戶,某些ISP已經不需要設置DNS服務器了)。順便說一句:你也可以利用該命令實現域名對IP地址的轉換功能。
            
             如果上面所列出的所有Ping命令都能正常運行,那么你對你的計算機進行本地和遠程通信的功能基本上就可以放心了。但是,這些命令的成功并不表示你所有的網絡配置都沒有問題,例如,某些子網掩碼錯誤就可能無法用這些方法檢測到。
            
             Ping命令的常用參數選項
            
             ping IP -t--連續對IP地址執行Ping命令,直到被用戶以Ctrl+C中斷。
            
             ping IP -l 2000--指定Ping命令中的數據長度為2000字節,而不是缺省的32字節。
            
             ping IP -n--執行特定次數的Ping命令。
            
             Netstat
            
             Netstat用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況。
            
             如果你的計算機有時候接受到的數據報會導致出錯數據刪除或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發數據報。但如果累計的出錯情況數目占到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那么你就應該使用Netstat查一查為什么會出現這些情況了。
            
             Netstat的一些常用選項:
            
             netstat -s--本選項能夠按照各個協議分別顯示其統計數據。如果你的應用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的數據,那么你就可以用本選項來查看一下所顯示的信息。你需要仔細查看統計數據的各行,找到出錯的關鍵字,進而確定問題所在。
            
             netstat -e--本選項用于顯示關于以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項可以用來統計一些基本的網絡流量)。
            
             netstat -r--本選項可以顯示關于路由表的信息,類似于后面所講使用route print命令時看到的 信息。除了顯示有效路由外,還顯示當前有效的連接。
            
             netstat -a--本選項顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接。
            
             netstat -n--顯示所有已建立的有效連接。
            
             Netstat的妙用
            
             經常上網的人一般都使用ICQ的,不知道你有沒有被一些討厭的人騷擾得不敢上線,想投訴卻又不知從和下手?其實,你只要知道對方的IP,就可以向他所屬的ISP投訴了。但怎樣才能通過ICQ知道對方的IP呢?如果對方在設置ICQ時選擇了不顯示IP地址,那你是無法在信息欄中看到的。其實,你只需要通過Netstat就可以很方便的做到這一點:當他通過ICQ或其他的工具與你相連時(例如你給他發一條ICQ信息或他給你發一條信息),你立刻在DOS Prompt下輸入netstat -n或netstat -a就可以看到對方上網時所用的IP或ISP域名了。甚至連所用Port都完全暴露了,如果你想給他一些教訓,這些信息已經足夠……
            
             IPConfig
            
             IPConfig實用程序和它的等價圖形用戶界面--Windows 95/98中的WinIPCfg可用于顯示當前的TCP/IP配置的設置值。這些信息一般用來檢驗人工配置的TCP/IP設置是否正確。但是,如果你的計算機和所在的局域網使用了動態主機配置協議(Dynamic Host Configuration Protocol,DHCP--Windows NT下的一種把較少的IP地址分配給較多主機使用的協議,類似于撥號上網的動態IP分配),這個程序所顯示的信息也許更加實用。這時,IPConfig可以讓你了解你的計算機是否成功的租用到一個IP地址,如果租用到則可以了解它目前分配到的是什么地址。了解計算機當前的IP地址、子網掩碼和缺省網關實際上是進行測試和故障分析的必要項目。
            
             最常用的選項:
            
             ipconfig--當使用IPConfig時不帶任何參數選項,那么它為每個已經配置了的接口顯示IP地址、子網掩碼和缺省網關值
            
             ipconfig /all--當使用all選項時,IPConfig能為DNS和WINS服務器顯示它已配置且所要使用的附加信息(如IP地址等),并且顯示內置于本地網卡中的物理地址(MAC)。如果IP地址是從DHCP服務器租用的,IPConfig將顯示DHCP服務器的IP地址和租用地址預計失效的日期(有關DHCP服務器的相關內容請詳見其他有關NT服務器的書籍或詢問你的網管),其輸出信息見圖6的下半部分。
            
             ipconfig /release和ipconfig /renew--這是兩個附加選項,只能在向DHCP服務器租用其IP地址的計算機上起作用。如果你輸入ipconfig /release,那么所有接口的租用IP地址便重新交付給DHCP服務器(歸還IP地址)。如果你輸入ipconfig /renew,那么本地計算機便設法與DHCP服務器取得聯系,并租用一個IP地址。請注意,大多數情況下網卡將被重新賦予和以前所賦予的相同的IP地址。
            
             如果你使用的是Windows 95/98,那么你應該更習慣使用winipcfg而不是ipconfig,因為它是一個圖形用戶界面,而且所顯示的信息與ipconfig相同,并且也提供發布和更新動態IP地址的選項 如果你購買了Windows NT Resource Kit(NT資源包),那么Windows NT也包含了一個圖形替代界面,該實用程序的名字是wntipcfg,和Windows 95/98的winipcfg類似。
            
             ARP(地址轉換協議)
            
             ARP是一個重要的TCP/IP協議,并且用于確定對應IP地址的網卡物理地址。實用arp命令,你能夠查看本地計算機或另一臺計算機的ARP高速緩存中的當前內容。此外,使用arp命令,也可以用人工方式輸入靜態的網卡物理/IP地址對,你可能會使用這種方式為缺省網關和本地服務器等常用主機進行這項作,有助于減少網絡上的信息量。
            
             按照缺省設置,ARP高速緩存中的項目是動態的,每當發送一個指定地點的數據報且高速緩存中不存在當前項目時,ARP便會自動添加該項目。一旦高速緩存的項目被輸入,它們就已經開始走向失效狀態。例如,在Windows NT網絡中,如果輸入項目后不進一步使用,物理/IP地址對就會在2至10分鐘內失效。因此,如果ARP高速緩存中項目很少或根本沒有時,請不要奇怪,通過另一臺計算機或路由器的ping命令即可添加。所以,需要通過arp命令查看高速緩存中的內容時,請最好先ping 此臺計算機(不能是本機發送ping命令)。
            
             常用命令選項:
            
             arp -a或arp -g--用于查看高速緩存中的所有項目。-a和-g參數的結果是一樣的,多年來-g一直是UNIX平臺上用來顯示ARP高速緩存中所有項目的選項,而Windows用的是arp -a(-a可被視為all,即全部的意思),但它也可以接受比較傳統的-g選項。
            
             arp -a IP--如果你有多個網卡,那么使用arp -a加上接口的IP地址,就可以只顯示與該接口相關的ARP緩存項目。
            
             arp -s IP 物理地址--你可以向ARP高速緩存中人工輸入一個靜態項目。該項目在計算機引導過程中將保持有效狀態,或者在出現錯誤時,人工配置的物理地址將自動更新該項目。
            
             arp -d IP--使用本命令能夠人工刪除一個靜態項目。
            
             
            
            
             看到這里,你也許已經有些累了……其實對于一般用戶來說也已經足夠--你可以用ipconfig和ping命令來查看自己的網絡配置并判斷是否正確、可以用netstat查看別人與你所建立的連接并找出ICQ使用者所隱藏的IP信息、可以用arp查看網卡的MAC地址--這些已足已讓你丟掉菜鳥的頭銜。如果你并不滿足,那就"硬著頭皮"(下面的內容可能有些枯燥)繼續Follow me……
            
             Tracert
            
             當數據報從你的計算機經過多個網關傳送到目的地時,Tracert命令可以用來跟蹤數據報使用的路由(路徑)。該實用程序跟蹤的路徑是源計算機到目的地的一條路徑,不能保證或認為數據報總遵循這個路徑。如果你的配置使用DNS,那么你常常會從所產生的應答中得到城市、地址和常見通信公司的名字。Tracert是一個運行得比較慢的命令(如果你指定的目標地址比較遠),每個路由器你大約需要給它15秒鐘
             Tracert的使用很簡單,只需要在tracert后面跟一個IP地址或URL,Tracert會進行相應的域名轉換的。Tracert一般用來檢測故障的位置,你可以用tracert IP在哪個環節上出了問題,雖然還是沒有確定是什么問題,但它已經告訴了我們問題所在的地方,你也就可以很有把握的告訴別人--某某出了問題。
            
             Route
            
             大多數主機一般都是駐留在只連接一臺路由器的網段上。由于只有一臺路由器,因此不存在使用哪一臺路由器將數據報發表到遠程計算機上去的問題,該路由器的IP地址可作為該網段上所有計算機的缺省網關來輸入。
            
             但是,當網絡上擁有兩個或多個路由器時,你就不一定想只依賴缺省網關了。實際上你可能想讓你的某些遠程IP地址通過某個特定的路由器來傳遞,而其他的遠程IP則通過另一個路由器來傳遞。
            
             在這種情況下,你需要相應的路由信息,這些信息儲存在路由表中,每個主機和每個路由器都配有自己獨一無二的路由表。大多數路由器使用專門的路由協議來交換和動態更新路由器之間的路由表。但在有些情況下,必須人工將項目添加到路由器和主機上的路由表中。Route就是用來顯示、人工添加和修改路由表項目的。
            
             一般使用選項:
            
             route print--本命令用于顯示路由表中的當前項目,在單路由器網段上的輸出結果如圖12,由于用IP地址配置了網卡,因此所有的這些項目都是自動添加的。
            
             route add--使用本命令,可以將信路由項目添加給路由表。例如,如果要設定一個到目的網絡209.98.32.33的路由,其間要經過5個路由器網段,首先要經過本地網絡上的一個路由器,器IP為202.96.123.5,子網掩碼為255.255.255.224,那么你應該輸入以下命令:
            
             route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5
            
             route change--你可以使用本命令來修改數據的傳輸路由,不過,你不能使用本命令來改變數據的目的地。下面這個例子可以將數據的路由改到另一個路由器,它采用一條包含3個網段的更直的路徑:
            
             route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3
            
             route delete--使用本命令可以從路由表中刪除路由。例如:route delete 209.98.32.33
            
            
             NBTStat
            
             NBTStat(TCP/IP上的NetBIOS統計數據)實用程序用于提供關于關于NetBIOS的統計數據。運用NetBIOS,你可以查看本地計算機或遠程計算機上的NetBIOS名字表格。
            
             常用選項:
            
             nbtstat -n--顯示寄存在本地的名字和服務程序
            
             nbtstat -c--本命令用于顯示NetBIOS名字高速緩存的內容。NetBIOS名字高速緩存用于寸放與本計算機最近進行通信的其他計算機的NetBIOS名字和IP地址對。
            
             nbtstat -r--本命令用于清除和重新加載NetBIOS名字高速緩存。
            
             nbtstat -a IP--通過IP顯示另一臺計算機的物理地址和名字列表,你所顯示的內容就像對方計算機自己運行nbtstat -n一樣
            
             nbtstat -s IP--顯示實用其IP地址的另一臺計算機的NetBIOS連接表。
            
             Net
            
             Net命令有很多函數用于實用和核查計算機之間的NetBIOS連接。這里我只介紹最常用的兩個:net view和net use。
            
             net view UNC--運用此命令,你可以查看目標服務器上的共享點名字。任何局域網里的人都可以發出此命令,而且不需要提供用戶ID或口令。UNC名字總是以\\開頭,后面跟隨目標計算機的名字。例如,net view \\lx就是查看主機名為lx的計算機的共享點(見圖15)。
            
             net use 本地盤符 目標計算機共享點--本命令用于建立或取消到達特定共享點的映像驅動器的連接(如果需要,你必須提供用戶ID或口令)。例如,你輸入net use f: \\lx\mp3就是將映像驅動器F:連接到\\lx\mp3共享點上,今后你直接訪問F:就可以訪問\\lx\mp3共享點,這和你右擊"我的電腦"選擇映射網絡驅動器類似。
          posted @ 2006-01-10 12:02 pablo cesar aimar 閱讀(407) | 評論 (0)編輯 收藏

          第一課 前言

              你是不是經常到處找破解資料,轉了一大圈,也找不全,多么希望找一完整破解教程,從簡到深,系統學習破解知識。本人就有這一體會,為了使大家更快掌握這門技術,特將本人長期收集資料和破解經驗總結一篇教程,相信對大家有所幫助。這份資料主要是和大家探討一些加密解密的問題,在文中引用了不少平時收集的資料,但均保持文章原樣。

              很多人都想學學做cracker,好象破了一個程序很風光的,人人都很佩服。 可是做一個cracker其實很累,需花費大量的時間,而且經常會碰壁,三五天毫無進展是極為平常的事情。而且crack是違法的,這點要牢記。

              做cracker的五個必要條件是: 1. 知識 2. 經驗 3. 感覺 4. 耐心 5. 運氣 。

              如果你剛開始學crack,也許你遇到不少麻煩,并且有點想退卻,其實你不要著急,只要你認真學習,成功就在眼前。沒有人是生來就什么都會的,如果你有問題,就大膽的去問你周圍的人,多來我主頁論壇請教。計算機水平不高怎么辦?沒關系,我也不是學計算機的,我自己的專業與電腦不沾邊。只要努力學習就能成功。

              所謂知識只要你肯學就可以了,剛入門時如你沒匯編知識是不行的,你要掌握一下這門編程語言,能看懂就能上手,但是你想很順手的話,除了把匯編掌握好,還有編程的基本功夫。

              經驗是跟你破解軟件時間,掌握程度有關,接觸多了,拿到一軟件應該知道用哪種法比較省事,比較有把握。

              感覺這點不可言傳,就象我們做語文題目時,一句話有語法錯誤一看就知道,這時我們有可能從語法上也說不上什么道道,就知它是錯的,這就是語感。我們crack多了,也會有這方面的體會,拿一軟件跟蹤,到關鍵點時憑感覺就找到。

              耐心就不多說,成功與失敗的關鍵也在這一步。

              運氣也很關鍵啦!以前我受朋友之托對付開天辟地2,那軟件運行第二次時就叫你輸入說明書的第幾頁第幾行的第幾個字,要輸兩三遍,D版哪有說明書呀,拿到這軟件我用了一會兒,第一次能運行,第二次不行,我仔細分析一下,判斷有可能在注冊表或WINDOWS下寫下什么文件,故先將系統備份一下,當然是整個windows系統了,是不是嚇壞了:-O,哈!干我們這行什么損招都得想到。 好,開刀了,先試亂按幾下(當然全是選擇題,不過一屏幕有十幾個字,只有一個是對的,要通過兩三屏才成功),我試了兩遍就OK了,運氣太好了,我那朋友試了半天也不行,然后分析系統文件的變化,發現HUMAN.INI變化了,哈就這樣破了,將HUMAN.INI拷給朋友機了就行了。

              另外我還要談的一事是,當cracker目的不是破解軟件,而是通過跟蹤軟件,了解程序思路,這樣提高自己,使自己能寫出更好的程序。 并且破解不在多,而在于你要掌握它,盡量了解注冊碼計算原理,最好能寫出注冊機,不能寫也沒關系,要弄懂它的算法。

          (第二課) 


          軟件的幾種保護方式介紹

            加密一詞來源已久,自從人們希望對自己私人的信息得到保護開始,就有了加密這個概念。軟件行業的加密是軟件廠商為了保護軟件開發的利潤而采取的一種軟件保護方式,加密 的好壞直接影響到軟件的銷售,從 Apple II 的年代開始,加密與解密的斗爭就一直沒有停 止過。時至今日,軟件加密的方案已經多種多樣,在這里我將介紹一下各種加密方案的特點 和優劣,當然這只是一家之見,持不同觀點者可一笑置之。 

            當前軟件加密方法多種多樣,已經不可能找出一種分類方法來把各種加密方案很好的區分開來。 基本上來說可以分為依賴特定硬件的加密方案和不依賴硬件的加密方案。 

          一、我們首先說說依賴硬件的加密方案: 
          1、軟盤加密 
            這是在計算機上最為古老的一種加密方案,它的原理是在軟盤的特殊位置寫入一些信息,軟件在運行時要檢驗這些信息。這種軟盤就好像一把鑰匙。軟件開發商只需一次投資購買一套加密工具就可以自己制作多張鑰匙盤。此方法加密簡單,成本低,在軟件發展的不同時期 都能看到其閃光點。像中文之星 2.97還在延用這種方式。但用戶在執行軟件時必須要插入此軟盤。因為軟驅是慢速設備,多次檢查軟盤上的加密點會大大拖慢程序的運行速度,所以 一般加密軟件只在軟件運行開始的時候檢查一次,這樣不能避免用戶用一張加密盤啟動多份軟件。而且由于軟盤是一種易損載體,加密軟件對軟盤加密點的反復讀寫很容易造成軟盤的損壞。而這張加密盤又不能備份,軟件公司要不斷應付用戶更換加密盤的請求。另外由于這種加密技術出現的較早,硬解密的技術相對比較成熟,像雙星公司的 King-Copy 軟件能拷貝大多數的加密軟盤,連加密點一起復制,復制后的軟盤還是加密的。 

          2、卡加密 
            在 90 年代初,各種各樣的漢卡涌現出來,而隨之而來的卡加密技術也開始風行。卡加密的好處是由于加密卡上面不僅僅可以存放數據,而且可以用硬件實現簡單的算法,而且在軟件的執行過程中可以隨時訪問加密卡,不會對軟件運行的速度帶來太多的影響,而且由于加密卡是與計算機的總線交換數據,數據通訊協議完全由卡的廠家制定,沒有統一的標準接 口,讓軟件解密者有無從下手的感覺。像北大方正早期的印刷軟件都是采用這種方法來加密 的。但這種加密方案需要打開計算機的機箱,占用擴展槽,一般還需要專門的人員來安裝。 另外,由于加密卡設計上的某些問題,還很容易同現有的硬件發生沖突。考慮到成本,加密 卡必須要批量生產,廠商一般不會對低價值的軟件一下投入這么大的資金。由于種種問題, 這種加密技術現在已經難得一見了。 

          3、軟件鎖加密 
            軟件鎖加密是在國外首先出現的,它是一個插在計算機打印口上火柴盒大小的設備, 國內俗稱為加密狗。在加密鎖內部存有一定的數據和算法,計算機可以與之通訊來獲得其中的數據,或通過加密鎖進行某種計算。軟件無法離開加密鎖而運行。由于它不像卡加密那樣 需要打開計算機的機箱來安裝,但又像加密卡那樣可以隨時訪問,而且訪問速度很快,所以一推出就受到軟件開發者們的青睞,很快成為當今世界上主流的加密方案。目前,所有的加 密鎖都提供了可編程的接口。用戶可以控制加密鎖中的內容,在程序中通過加密鎖的接口任 意訪問加密鎖。國外加密鎖一般僅提供若干種算法,但好的加密鎖不但可以向客戶提供加密算 法,也容許客戶根據自己的意愿自定義加密算法,容許客戶自定義用戶ID號……比如:北京 飛天誠信科技公司推出的ROCKEY-IV鎖就是一種加密強度很高產品。但加密鎖也是有一定缺欠的,由于加密鎖利用的是計算機的打印口,而打印口原來是為打印機而設計的,軟件鎖一方面要保證用戶加密操作的正確,同時也要保證打印機工作的正常。但由于打印機驅動程序 設計上千差萬別,沒有任何一家的加密鎖能夠完全做到這一點。 但這一問題隨著技術的進步有希望得到徹底的解決,那就是 USB 接口的加密鎖。USB 是 Microsoft、Intel、Compaq、NEC 聯合開發的一種全新的硬件接口標準,能夠同時支持 128 個 不同的外部設備,而且互相之間沒有沖突,在新的 PII 計算機主版上大多都可以看見兩個小小的長方形接口,那就是 USB 接口。USB 接口的加密鎖不但擁有并口加密鎖的所有優點,而 且沒有打印上的問題,其前景十分看好。但美中不足的是只有 Windows 98 和 Windows 2000 目前能夠支持 USB 設備。在國內市場上,有幾種國外USB加密鎖,但售價很高。北京飛天誠 信科技公司推出的一款ROCKEY-USB加密鎖是國內目前唯一的民族品牌。其安全性優于國外產品的同時,售價還不足100元,僅是國外產品的一半。 

          4、光盤加密 
            隨著光盤的普及,光盤幾乎成了軟盤的替代產品。即然有軟盤加密成功在先,為什么不能有光盤加密呢?有很多人在思考這個問題。但實際操作上確實是有一些問題的,因為光盤有 ISO9660 標準協議規定,其可控制性比軟盤還要嚴格,想找出一種只能運行而不能復制的方式確實很困難。但現在確實已經有幾家這樣的產品出來了,而且加密方法也不盡相同。 其主要原理是利用特殊的光盤母盤上的某些特征信息是不可再現的,而且這些特征信息大多 是光盤上非數據性的內容,光盤復制的時候復制不到的地方。因為投入是一次性的,對于大規模的生產這種加密方案可以將成本降得很低。而且軟件數據和加密在同一載體上,對用戶無疑是很方便的。但這是一種較新的加密方案,很多方面還需進一步驗證。而且由于加密方式所限,不可能在用戶自己刻錄的光盤上實現這種加密,必須是生產線上生產的光盤才能夠實現。這對于一些小規模的軟件生產廠商還是有一定困難的,而且由于光盤的只讀性,一旦 加密有錯是無法修復的。 

          二、我們再談談不依賴硬件的加密方案: 
            所有的帶有附加硬件設備的加密方案都有一定的加密成本在里面,對于那些價格高昂的軟件當然無所謂,但對于那些共享軟件或價格本身就很低的軟件來說,硬件加密成本可能比 軟件本身的售價還高,當然不會被考慮了。但不加密,往往就變成了免費軟件,所以近年來 產生了很多軟加密方案。 

          1、密碼表加密 
            在軟件運行的開始要求用戶跟據屏幕的提示信息輸入特定的答案,答案往往在用戶手冊上的一份防復印的密碼表中。用戶只有輸入密碼正確后才能夠繼續運行。這種加密方案實現 簡單,不需要太多的成本。但用戶每次運行軟件都要查找密碼,不免使用戶感到十分的不便。 像臺灣的游戲大多采用此加密方式。而且往往有一些有耐心者把整個密碼表輸入到計算機中 存成一個文件,同軟件的盜版一同公布出來,讓加密者無可奈何。基本上是一種防君子不防小人的加密方式。 

          2、序列號加密 
            這種加密方式從某種角度來講不是一套完整的加密方案,現今很多Shareware( 共享軟 件 )大多采用這種加密方式,用戶在軟件的試用期是不需要交費的,一旦試用期滿還希望繼續試用這個軟件,就必須到軟件公司進行注冊,然后軟件公司會根據你提交的信息(一般是用 戶的名字)來生成一個序列號,當你收到這個序列號以后,并在軟件運行的時候輸入進去,軟 件會驗證你的名字與序列號之間的關系是否正確,如果正確說明你已經購買了這個軟件,也 就沒有日期的限制了。這種加密方案實現簡單,而且購買過程也完全在 Internet 上實現, 無論是開發者和購買者都覺得很方便。不過有心的人可能已經注意到軟件的名字與序列號之 間的驗證是在你的計算機上完成的,很多黑客利用這個漏洞找出了名字和序列號之間的換算 關系,編寫出一種叫 KeyMaker 的程序,你只要輸入你的名字,這個程序會幫助你計算出序列號,你再用你的名字和這個序列號輸入進軟件中就變成正版軟件了。而且也沒有什么更好 的方法來阻止用戶擴散他注冊后得到的序列號。

          3、許可證加密 
            這種方式在某種角度上說可以是序列號加密的一個變種,你從網上下載的或購買過來的 軟件并不能直接使用,軟件在安裝時或運行時會對你的計算機進行一番檢測,并根據檢測結 果生成一個你的計算機的特定指紋,這個指紋可以是一個小文件,也可以是一串誰也看不懂 的數,你需要把這個指紋數據通過 Internet、Email、電話、傳真等方式發送到開發商那里, 開發商再根據這個指紋給你一個注冊碼或注冊文件,你得到這個注冊碼或注冊文件并按軟件 要求的步驟在你的計算機上完成注冊后方能使用。這個方法的買賣也是完全通過網絡來進行 的,而且用戶購買的軟件被限制了只能在他自己的計算機上面運行,換到其它的計算機上, 這個注冊碼或注冊文件可能不再有效。但用戶更換某些硬件設備也可能造成注冊碼的失效, 而且用戶得到軟件后在完成注冊工作前會有一段時間無法使用。對于軟件開發商來說服務與 管理的工作量無疑也是非常巨大的。網絡上有個 ZIP Download 公司專門替軟件開發商來完 成這種加密與服務工作。將來 PIII 處理器內部有了特定的序列號,將會對減少這種加密方案的硬件依賴性,但估計普及起來還有很長的一段時間。 

          (第三課) 


          軟件分析技術

          8088 匯編速查手冊 


          一、數據傳輸指令 
          ─────────────────────────────────────── 
          它們在存貯器和寄存器、寄存器和輸入輸出端口之間傳送數據. 
          1. 通用數據傳送指令. 
          MOV 傳送字或字節. 
          MOVSX 先符號擴展,再傳送. 
          MOVZX 先零擴展,再傳送. 
          PUSH 把字壓入堆棧. 
          POP 把字彈出堆棧. 
          PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧. 
          POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧. 
          PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧. 
          POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧. 
          BSWAP 交換32位寄存器里字節的順序 
          XCHG 交換字或字節.( 至少有一個操作數為寄存器,段寄存器不可作為操作數) 
          CMPXCHG 比較并交換操作數.( 第二個操作數必須為累加器AL/AX/EAX ) 
          XADD 先交換再累加.( 結果在第一個操作數里 ) 
          XLAT 字節查表轉換. 
          ── BX 指向一張 256 字節的表的起點, AL 為表的索引值 (0-255,即 
          0-FFH); 返回 AL 為查表結果. ( [BX+AL]->AL ) 
          2. 輸入輸出端口傳送指令. 
          IN I/O端口輸入. ( 語法: IN 累加器, {端口號│DX} ) 
          OUT I/O端口輸出. ( 語法: OUT {端口號│DX},累加器 ) 
          輸入輸出端口由立即方式指定時, 其范圍是 0-255; 由寄存器 DX 指定時, 
          其范圍是 0-65535. 
          3. 目的地址傳送指令. 
          LEA 裝入有效地址. 
          例: LEA DX,string 把偏移地址存到DX. 
          LDS 傳送目標指針,把指針內容裝入DS. 
          例: LDS SI,string 把段地址:偏移地址存到DS:SI. 
          LES 傳送目標指針,把指針內容裝入ES. 
          例: LES DI,string 把段地址:偏移地址存到ESI. 
          LFS 傳送目標指針,把指針內容裝入FS. 
          例: LFS DI,string 把段地址:偏移地址存到FSI. 
          LGS 傳送目標指針,把指針內容裝入GS. 
          例: LGS DI,string 把段地址:偏移地址存到GSI. 
          LSS 傳送目標指針,把指針內容裝入SS. 
          例: LSS DI,string 把段地址:偏移地址存到SSI.
          4. 標志傳送指令. 
          LAHF 標志寄存器傳送,把標志裝入AH. 
          SAHF 標志寄存器傳送,把AH內容裝入標志寄存器. 
          PUSHF 標志入棧. 
          POPF 標志出棧. 
          PUSHD 32位標志入棧. 
          POPD 32位標志出棧. 

          二、算術運算指令 
          ─────────────────────────────────────── 
          ADD 加法. 
          ADC 帶進位加法. 
          INC 加 1. 
          AAA 加法的ASCII碼調整. 
          DAA 加法的十進制調整. 
          SUB 減法. 
          SBB 帶借位減法. 
          DEC 減 1. 
          NEC 求反(以 0 減之). 
          CMP 比較.(兩操作數作減法,僅修改標志位,不回送結果). 
          AAS 減法的ASCII碼調整. 
          DAS 減法的十進制調整. 
          MUL 無符號乘法. 
          IMUL 整數乘法. 
          以上兩條,結果回送AH和AL(字節運算),或DX和AX(字運算), 
          AAM 乘法的ASCII碼調整. 
          DIV 無符號除法. 
          IDIV 整數除法. 
          以上兩條,結果回送: 
          商回送AL,余數回送AH, (字節運算); 
          或 商回送AX,余數回送DX, (字運算). 
          AAD 除法的ASCII碼調整. 
          CBW 字節轉換為字. (把AL中字節的符號擴展到AH中去) 
          CWD 字轉換為雙字. (把AX中的字的符號擴展到DX中去) 
          CWDE 字轉換為雙字. (把AX中的字符號擴展到EAX中去) 
          CDQ 雙字擴展. (把EAX中的字的符號擴展到EDX中去) 

          三、邏輯運算指令 
          ─────────────────────────────────────── 
          AND 與運算. 
          OR 或運算. 
          XOR 異或運算. 
          NOT 取反. 
          TEST 測試.(兩操作數作與運算,僅修改標志位,不回送結果). 
          SHL 邏輯左移. 
          SAL 算術左移.(=SHL) 
          SHR 邏輯右移. 
          SAR 算術右移.(=SHR) 
          ROL 循環左移. 
          ROR 循環右移. 
          RCL 通過進位的循環左移. 
          RCR 通過進位的循環右移. 
          以上八種移位指令,其移位次數可達255次. 
          移位一次時, 可直接用操作碼. 如 SHL AX,1. 
          移位>1次時, 則由寄存器CL給出移位次數. 
          如 MOV CL,04 
          SHL AX,CL 

          四、串指令 
          ─────────────────────────────────────── 
          DS:SI 源串段寄存器 :源串變址. 
          ESI 目標串段寄存器:目標串變址. 
          CX 重復次數計數器. 
          AL/AX 掃描值. 
          D標志 0表示重復操作中SI和DI應自動增量; 1表示應自動減量. 
          Z標志 用來控制掃描或比較操作的結束. 
          MOVS 串傳送. 
          ( MOVSB 傳送字符. MOVSW 傳送字. MOVSD 傳送雙字. ) 
          CMPS 串比較. 
          ( CMPSB 比較字符. CMPSW 比較字. ) 
          SCAS 串掃描. 
          把AL或AX的內容與目標串作比較,比較結果反映在標志位. 
          LODS 裝入串. 
          把源串中的元素(字或字節)逐一裝入AL或AX中. 
          ( LODSB 傳送字符. LODSW 傳送字. LODSD 傳送雙字. ) 
          STOS 保存串. 
          是LODS的逆過程. 
          REP 當CX/ECX<>0時重復. 
          REPE/REPZ 當ZF=1或比較結果相等,且CX/ECX<>0時重復. 
          REPNE/REPNZ 當ZF=0或比較結果不相等,且CX/ECX<>0時重復. 
          REPC 當CF=1且CX/ECX<>0時重復. 
          REPNC 當CF=0且CX/ECX<>0時重復. 

          五、程序轉移指令 
          ─────────────────────────────────────── 
          1>無條件轉移指令 (長轉移) 
          JMP 無條件轉移指令 
          CALL 過程調用 
          RET/RETF過程返回. 
          2>條件轉移指令 (短轉移,-128到+127的距離內) 
          ( 當且僅當(SF XOR OF)=1時,OP1<OP2 ) 
          JA/JNBE 不小于或不等于時轉移. 
          JAE/JNB 大于或等于轉移. 
          JB/JNAE 小于轉移. 
          JBE/JNA 小于或等于轉移. 
          以上四條,測試無符號整數運算的結果(標志C和Z). 
          JG/JNLE 大于轉移. 
          JGE/JNL 大于或等于轉移. 
          JL/JNGE 小于轉移. 
          JLE/JNG 小于或等于轉移. 
          以上四條,測試帶符號整數運算的結果(標志S,O和Z). 
          JE/JZ 等于轉移. 
          JNE/JNZ 不等于時轉移. 
          JC 有進位時轉移. 
          JNC 無進位時轉移. 
          JNO 不溢出時轉移. 
          JNP/JPO 奇偶性為奇數時轉移. 
          JNS 符號位為 "0" 時轉移. 
          JO 溢出轉移. 
          JP/JPE 奇偶性為偶數時轉移. 
          JS 符號位為 "1" 時轉移. 
          3>循環控制指令(短轉移) 
          LOOP CX不為零時循環. 
          LOOPE/LOOPZ CX不為零且標志Z=1時循環. 
          LOOPNE/LOOPNZ CX不為零且標志Z=0時循環. 
          JCXZ CX為零時轉移. 
          JECXZ ECX為零時轉移. 
          4>中斷指令 
          INT 中斷指令 
          INTO 溢出中斷 
          IRET 中斷返回 
          5>處理器控制指令 
          HLT 處理器暫停, 直到出現中斷或復位信號才繼續. 
          WAIT 當芯片引線TEST為高電平時使CPU進入等待狀態. 
          ESC 轉換到外處理器. 
          LOCK 封鎖總線. 
          NOP 空操作. 
          STC 置進位標志位. 
          CLC 清進位標志位. 
          CMC 進位標志取反. 
          STD 置方向標志位. 
          CLD 清方向標志位. 
          STI 置中斷允許位. 
          CLI 清中斷允許位. 

          六、偽指令 
          ─────────────────────────────────────── 
          DB 定義字節. 
          DW 定義字(2字節). 
          PROC 定義過程. 
          ENDP 過程結束. 
          SEGMENT 定義段. 
          ASSUME 建立段寄存器尋址. 
          ENDS 段結束. 
          END 程序結束.
          (第四課) 

          常用工具介紹

          破解離不開工具,合適的工具使你事半功倍,本課主要是介紹幾種破解工具,當然詳細的用法,參考后面幾課及范例。
              1.調試工具softice
              2.調試工具Trw2000
              3.反匯編工具Wdasm8.93 
              4.Hiew
              5.Visual Basic程序調試工具Smartcheck
              6.十六進制編輯器(如:Ultraedit、WinHex、Hex Workshop 等)
              7.注冊表監視工具RegShot、regmon或RegSnap
              8.偵測文件類型工具TYP、gtw或FileInfo等
              9. 脫殼工具PROCDUMP 
              10.調試工具IceDump 
              11.注冊機制作crackcode2000 
              12.備份windows配制文件工具ERU
              13.文件監視工具 filemon 
              14.資源修改器 EXESCOPE 
              15.Frogsice 
              16.IDA 反匯編工具 

              一看這么多是不是嚇壞了,其實你只需掌握一兩種就能破解軟件,當然要得心應手,最好還是全面掌握,因為現在軟件什么手段都有可能采用。

          Soft-ICE 是目前公認最好的跟蹤調試工具。使用Soft-ICE可以很容易的跟蹤一個軟件、或是監視軟件產生的錯誤進行除錯。你甚至可以用他來替代C語言的調試器--如果你不喜歡使用C語言自己的調試器的話。主意其有幾種平臺的版本,DOS,WINDOW3.1,WIN95/98/2000/,NT,所以別搞錯了。


          Trw2000  中國人自己編寫的調試軟件,完全兼容SOFTICE各種指令,但現在許多軟件能檢測SOFTICE存在,而TRW2000在這方面就好多了。TRW2000有它自己的獨特方面,是針對破解軟件優化的,Windows下的跟蹤調試程序,跟蹤功能更強;可以設置各種斷點,只是斷點種類更多;它可以象一些脫殼工具一樣完成對加密外殼的去除,自動生成EXE文件,只是留給用戶更多的選擇;在DOS下的版本為TR。


          Wdasm8.93  反匯編的極品工具。可方便反匯編程序,它能靜態分析程序流程,也可動態分析程序,操作簡單、破解必備!


          Hiew 不用多說,是一個十六進制工具,它除了普通十六進制的功能外,它還有個特色,能反匯編文件,并可以匯編指令修改程序,是不是夠酷的!


          Smartcheck VB程序執行時從本質上講是解釋執行,它們只是調用 VBRUNxxx.DLL 中的函數 ,VB 的 exe 是偽代碼,程序都在 vbXXX.dll 里面執行,你只能在 vbdll 里面用SOFTICE 打轉轉,什么都改不成,而且代碼質量不高,結構還頗復雜。 當然只要了解其特點用SOFTICE也可破解 ,但SmartCheck的出現,大大方便了我們,它可將VB程序執行的操作完全記錄下來,使我們輕而易舉的破解大部分VB程序。


          十六進制編輯器 HIEW就是一種是十六進制工具,但其是DOS界面,因此有必要再準備一款windows下的工具,這樣的工具很多,如:Ultraedit、WinHex、Hex Workshop 等,其中Hex Workshop比較有特色,操作方便,但遺憾的是沒有漢化版。


          注冊表監視工具 注冊表是Windows 95及Windows 98的核心數據庫,表中存放著各種參數,直接控制著Windows的啟動、硬件驅動程序的裝載以及一些Windows應用程序運行的正常與否。而應用軟件安裝時,有可能在注冊表中注冊,將一些必要的信息放進去,如安裝時間,使用次數等。RegShot、regmon或RegSnap就是一種監視注冊表變化的工具,以了解應用程序在注冊表何處修改了,以協助破解。


          偵測文件類型工具 這樣的工具有TYP、gtw或FileInfo等。這是一個能偵測你的軟件是被哪一種「殼」給加密了 (就好像偵測你的文件檔是被zip、rar、arj哪一個給壓縮 了一樣,如果連被哪種軟體加了殼都不曉得,那要剝殼就難很多)。一般配合PROCUDUMP使用。


          PROCDUMP 脫殼工具,可剝許多殼,你使用的許多軟件都是壓縮過的,用該工具很方便把它們還原,然后再修改,并可自己編寫腳本文件,以便能脫殼新版的殼。它是也一款優秀的PE格式修改工具,脫殼必備!


          IceDump 是配合SOFTICE而使用的,可抓取內存的數據,以重建EXE文件,脫殼必備。并可在SOFTICE下邊調試邊聽mp3喲!具體參考其readme.


          crackcode2000 一種全新的注冊機工具,它可以從另一進程的內存中取出你想要的注冊碼,它可以令水平不高的你一夜之間成為破解高手,有了它,很多軟件可以用二十秒時間寫出注冊機來,而你不需要會任何的語言,因為它只是一個工具,一個操作很簡單的工具,它的參數只有四行, 實在簡單到不能再簡單了,它的體積也很少,只有11K,如果再用其它壓縮軟件壓一下一定 會小于10K,所以用它是可以做出很優秀的注冊機。


          ERU   這是windows安裝盤自帶的小工具,備份注冊表等一些windows重要的配制文件,強烈推薦,在你破解一軟件前,最好備份一下系統,因為你在破解某些軟件的過程中,尋找關鍵點時,在這時改動一下以驗證自己的判斷,結果正確注冊成功,此時你再想回到那里看一究竟,重裝該軟件都沒用,哈哈!永遠是注冊版版,除非你重裝系統。此時你只要還原注冊表和配制文件,再重裝該軟件,又可注冊了,這次你就可好好研究它一下了......,當然這種情況不多見,但破解某些軟件前備份一下注冊表,還是有必要的。


          filemon 文件監視工具 ,可監視系統文件運行狀況,如哪個文件打開,哪個文件關閉,在哪個文件讀取了數據等,破解時非常有用,以便了解程序在啟動、關閉或驗證注冊碼是做了哪些手腳。


          EXESCOPE 資源修改器 eXeScope 可以說是 EXE 及 DLL 等執行文件的解析終結工具, 它有執行文件(EXE, DLL等)的解析與顯示功能;提取資源到外部文件 ;資源的重新寫入;記錄文件的記錄及其再編輯(成批編輯)等功能。是漢化軟件的常用工具,當然破解軟件時也很有用。

          Frogsice 最好的 SOFT-ICE 加強軟件!它并不是簡單的將 SICE 隱藏,而是讓你可以配合 SICE 避過現在流行的各種加密、保護軟件里面的各種防止 SICE 的陷阱。有了它,你再也不用怕在裝入一個程序準備調試的時候,程序告訴你發現 SICE 的存在而終止運行,或者干脆把你的機器從新啟動,又甚至觸發更殘酷的報復手段。 
          IDA 強大的反匯編工具,COOL!! 
          posted @ 2006-01-09 11:28 pablo cesar aimar 閱讀(937) | 評論 (1)編輯 收藏

          1、IIS
          2、DNS中指向外網IP的記錄
          3、HOSTS文件中指向外網IP的記錄(C:\WINDOWS\system32\drivers\etc\hosts文件)
          posted @ 2006-01-09 10:50 pablo cesar aimar 閱讀(250) | 評論 (0)編輯 收藏

               摘要: 破解DR.COM的新方法之國外新秀 http://www.cqbullet.com/2005/10-26/105622-3.htmls 寫前話:     最近, 很多朋友來信咨詢為什么使用SOCKS 代理無法使用DR.COM 了!,后經核實, 是DR.COM 升級了他的認證客戶端,并對代理軟件和端口進行了進一步限制的結果。    ...  閱讀全文
          posted @ 2006-01-09 10:20 pablo cesar aimar 閱讀(7346) | 評論 (0)編輯 收藏

               摘要: 兩臺SQL Server數據同步解決方案 復制的概念  復制是將一組數據從一個數據源拷貝到多個數據源的技術,是將一份數據發布到多個存儲站點上的有效方式。使用復制技術,用戶可以將一份數據發布到多臺服務器上,從而使不同的服務器用戶都可以在權限的許可的范圍內共享這份數據。復制技術可以確保分布在不同地點的數據自動同步更新,從而保證數據的一致性。  SQL復制的基本元素包括:出版服務器、訂閱服務器、分發服...  閱讀全文
          posted @ 2006-01-08 14:28 pablo cesar aimar 閱讀(847) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 时尚| 安塞县| 湘潭县| 吕梁市| 迭部县| 涡阳县| 烟台市| 玉门市| 娄烦县| 井研县| 剑河县| 寻甸| 柯坪县| 顺义区| 白城市| 集安市| 和林格尔县| 日土县| 资中县| 浮梁县| 潞城市| 都兰县| 策勒县| 昭平县| 武汉市| 阿克| 嘉峪关市| 麻城市| 互助| 聊城市| 尉犁县| 七台河市| 家居| 克东县| 芦山县| 岫岩| 都昌县| 濮阳市| 荥经县| 永兴县| 永安市|