對于BASE64編碼的逆向分析
在反編譯文件中找到主函數,點擊后按F5
得到反編譯出的主函數部分
其中1至7行是程序編譯過程中系統預置的,可以不用理解。
假設第一次剪刀這個程序,對主函數逐段從第九行開始就是程序的主函數部分逐段進行分析。
10行: 輸出一段文字
雙擊這段文字,就是如上的匯編,可以不用理解,大意就是說輸入了一行字符串
11行: 讀入了一個數字,這個數字在之后的第13和30行用到了。大致的用處就是分開判斷兩部分,分別進行兩個程序當輸入的v6為1時進行第15到28行的程序,當v6為2時進行30到46行的程序
15到28行: 讀到了字符串,這一串就是要編碼的字符串,首先v8表示字符串的長度,每三個字符處理一次,具體的處理函數時get_number函數在進行,之后判斷函數的長度是否時3的倍數,這里就是對需要編碼的字符串進行特判=的存在,分別在之后的兩個函數中進行處理,之后輸出答案
30到46行: 和之前的很類似,就是將BASE64編碼的步驟反著進行了下,就是解碼的步驟
舉例看一下get_number函數
其中很多部分是不需要理解的大致的意思就是說在取得二進制,然后按照BASE64編碼的形式進行操作
一些即將進行的工作:
BASE64算法中可以控制的地方為編碼時對照表,所以大多數的題目中BASE64的魔改都可以通過修改對照表進行
通常魔改BASE64有兩周情況
直接定義新的編碼對照表
動態生成新的編碼對照表,這里就是下一步即將學習的地方
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
一、base64加密格式:base64從標準輸入中讀取數據,按Ctrl+D結束輸入。將輸入的內容編碼為base64字符串輸出。
發表于 07-15 08:02
Base64是什么?Base64編碼轉換有哪些具體步驟呢?Base64加密與解密該怎樣去實現呢?
發表于 01-20 06:37
Base64是一種很常用的編碼方式,利用它可以將任何二進制的字符編碼到可打印的64個字符之中, 這樣,不管是圖片,中文文本等都可以編碼成只有
發表于 10-18 11:11
?10次下載
Base64編碼是從二進制到字符的過程,可用于在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的唯一標識符(一般
發表于 11-14 09:43
?1.5w次閱讀
由于某些系統中只能使用ASCII字符。Base64就是用來將非ASCII字符的數據轉換成ASCII字符的一種方法。base64特別適合在http,mime協議下快速傳輸數據。
發表于 11-14 10:35
?2.8w次閱讀
這篇文章主要介紹了Java實現圖片與base64編碼之間的轉換實例代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下。
發表于 11-14 10:59
?1870次閱讀
Base64編碼的原理是將輸入數據分割成固定長度的塊(通常是3個字節),然后將每個塊轉換為4個Base64字符。這四個字符由64個特定的ASCII字符組成,包括大寫字母A-Z、小寫字母
發表于 05-03 17:36
?720次閱讀
Base64編碼是一種廣泛使用的編碼方案,用于將二進制數據轉換為純文本格式。這種編碼方式特別適用于在不支持二進制數據的系統之間傳輸數據,例如電子郵件、網頁等。 1.
發表于 11-10 10:48
?855次閱讀
Base64是一種編碼方法,可以將二進制數據轉換為ASCII字符集的文本格式。這種編碼方式常用于在不支持二進制數據的系統之間傳輸圖像數據,例如在電子郵件、網頁或配置文件中。 1. 理解Base
發表于 11-10 10:51
?582次閱讀
Base64是一種編碼方法,用于將二進制數據轉換為ASCII字符串。這種編碼通常用于在不支持二進制數據的系統中傳輸數據,例如電子郵件或網頁。將Base64字符串轉換為二進制文件的過程相
發表于 11-10 10:55
?993次閱讀
編碼原理 Base64編碼將每3個字節的二進制數據轉換為4個ASCII字符。這種編碼方式可以確保數據在不同系統和平臺之間傳輸時的兼容性。Base64
發表于 11-10 10:59
?516次閱讀
在數字時代,數據的傳輸和存儲變得尤為重要。為了確保數據在不同系統和平臺之間能夠正確、安全地傳輸,我們需要對數據進行編碼。Base64和URL編碼是兩種廣泛使用的編碼技術,它們各自有不同
發表于 11-10 11:11
?480次閱讀
Base64編碼是一種廣泛使用的編碼方法,用于將二進制數據轉換為ASCII字符串。它在許多場景中非常有用,例如在電子郵件、網頁和存儲系統中傳輸二進制數據。然而,Base64
發表于 11-10 14:17
?763次閱讀
Base64是一種編碼方法,用于將二進制數據轉換為ASCII字符串。這種編碼方式在前端開發中有著廣泛的應用,尤其是在數據傳輸和存儲方面。 1. Base64
發表于 11-10 14:24
?517次閱讀
優勢 兼容性和跨平臺性 : Base64編碼的字符串是純文本格式,這意味著它們可以在任何支持ASCII文本的環境中使用,包括不同的操作系統和編程語言。這種跨平臺性使得Base64編碼的
發表于 11-10 14:25
?719次閱讀
評論