跟著小生學逆向之檔案檢測

2021-10-10 17:19:36 字數 1329 閱讀 7820

今天小生分享一下剛get到的新技能,檔案檢測,讓我們可以一起在逆向這條路越走越遠!工資越來越高!

1)、檔案檢測和crc的關係

差錯校驗碼:(特徵)資訊字段和校驗欄位的長度可以任意選定。

2)、迴圈冗餘校驗(crc)的基本原理

根據(n.k)碼,生成多項式g(x),進而生成k位資訊的校驗碼。

在k位資訊碼後在拼接r位的校驗碼,整個編碼長度為n位,因此這種編碼又叫(n,k)碼,對於乙個給定的(n,k)碼,可以證明存在乙個最高次冪為n-r=k的多項式g(x)根據(g)x可以生成k位資訊的校驗碼。

校驗碼的具體生成過程為:假設傳送資訊用資訊多項式c(x)表示,將c(x)左移r位,則可表示成c(x)*2的r次方。這樣c(x)的右邊就會空出r位,這就是校驗碼的原理。

通過c(x)*2的r次方除以生成多項式g(x)得到的餘數就是校驗碼。

3)、crc碼的生成步驟

首先,將x的最高次冪為r的生成多項式g(x)轉換成對應的r+1位二進位制數,將資訊碼左移r位,相當於對應的資訊多項式c(x)*2的r次方,用生成多項式即二進位制數對資訊碼做除,得到r位的餘數,將餘數拼到資訊碼左移後空出的位置,得到完整的crc碼。

對含有crc迴圈冗餘檢測的**進行分析。

crc校驗中有兩個關鍵點,一是要預先確定乙個傳送端和接收端都用來作為除數的二進位制位元串或多項式,二是把原始幀與上面選定的除進行二進位制除法運算,計算出fcs即幀校驗序列。

crc校驗在apk保護中的作用

我們對含有crc迴圈冗餘校驗的**進行分析。

首先我們去看一下oncreate,這裡會直接呼叫checkcrc方法,判斷返回值是否為真,不然程式直接finish

接著我們去這個crc定義的地方,首先使用zipfile類定義乙個物件,獲取zip檔案路徑,然後使用getentry,指定兩個檔案得到,zipfile,物件ze和ze2。使用getcrc方法,返回未壓縮條目資料的crc-32校驗和,將crc校驗返回的值和自定義的值進行乙個比較,相等則返回true,否則false。

好了咱們今天給大家講解了,crc的原理實現和crc校驗在apk保護中的具體邏輯**實現。不知道朋友們是不是聽明白了呢?

跟著小生學逆向之SHA系列演算法

sha演算法簡單概要 sha全稱 security hash algorithm 是美國的nist和nsa設計的一種標準的hash演算法,sha用於數字簽名和標準演算法的dss中,也是安全性很高的一種hash演算法。1 sha 1 sha 1演算法的輸入訊息長度小於264bit,最終輸出的結果值是1...

跟著笨鳥學Linux 查詢檔案

locate命令 find命令為精確查詢,查詢時會遍歷整個檔案系統 find 選項 查詢路徑 查詢條件 處理動作 選項 有很多,不怎麼常用,可以man一下 查詢路徑 根據指定的路徑開始查詢,不指定的情況下預設是從當前路徑開始查詢 查詢條件 可根據檔名 大小 屬主屬組資訊 型別 選項等等標準進行查詢,...

跟著詞窮學python之函式的引數型別

1 函式的引數個數可以大於等於0 2 為什麼要新增引數?還是要提高 的復用性,引數是通過函式引數列表傳遞進來 def count number m,n count 0 for i in range m,n count i print count format count 如果函式沒有寫return ...