逆向工程核心原理 第十四章

2022-08-23 23:45:12 字數 675 閱讀 8119

無失真壓縮:使用壓縮過的檔案之前需要解壓,解壓之後可以百分之百恢復檔案內容。

有失真壓縮:只用時不需要解壓,故壓縮時會對源程式有一定的損壞。

這種壓縮時針對可執行檔案來說的,可執行檔案內部含有解壓**,在執行瞬間於記憶體中解壓後執行。

把普通pe檔案建立成執行時壓縮檔案的實用程式稱為「壓縮器」,經煩你想技術特別處理的壓縮器成為保護器(殼)

保護器的使用目的:保護pe檔案遭到逆向破解。

接下來我們選擇乙個pe檔案然後加上殼看一下。

首先我們寫乙個簡單的程式:

#includeint add(int a, int b)

int main()

然後我們將加了殼和沒有加殼的exe檔案進行乙個對比。

這裡我們跟著書上一起使用upx壓縮器。

這裡我們看到壓縮了之後,大小有著明顯的縮小。

用lordpe開啟之後,也可以看到,pe檔案被改變了很多。

總結一下,所謂的保護器(殼),就是一種反編譯的壓縮工具,它會改變檔案的pe檔案。

第十四章約束

約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...

第十四章 約束

第十四章 約束 練習1 1.學校有乙個選課系統,其中包括如下關係模式 系 系編號 主鍵,系名稱 唯一鍵,系主任 非空約束,系所在校去 取值範圍只能在南湖校區和渾南校區 create table xi xi no varchar2 10 primary key,xi name varchar2 10 ...

第十四章 集合

1.集合 把個數不定的物件一起帶著走 集合是乙個存放任意數量的引用的物件的容器 多個物件放在另乙個物件中,此物件可成為乙個集合物件 注意 如果集合物件建立時不指定泛型,則在當前集合中可以存放任意型別的物件 包括 collection list set map list 介面的實現類有arraylis...