手脫UPX3.91殼(練習)
0x01 準備
OD
UPX加殼程式
可以加殼的軟體
0x02 給軟體加殼
我找了半天發現winhex不錯,而且是沒殼的可以直接加殼
1.複製一份可執行檔案
將賦值好的檔案用UPX3.91加殼
0x02 脫殼
查一下殼
OD載入,檢視入口點
單步除錯,到如圖的這一步,不能向下跟,因為下面call的函式是ExitProcess(一般程式到快結束的時候會呼叫這個API)說明程式要跑飛了
之後研究一下這個跳轉這個是個類似迴圈,在A1和BE之間跳轉,在跳轉裡面還有兩個跳轉,一個是在A6,一個是在B7,je會跳轉到84,而B7會跳轉到C0,可能程式正在解壓。C0是剛才說了程式會跑飛,這個跳轉先別管,看一下A6這個跳轉
這個跳轉跳到84,84下面有個為實現的跳轉,會跳到C6,跳過ExitProcess這個函式,好的,我們直接在C6下斷點,之後單步執行
這個看到了popad,說明程式解壓完了,之後看到一個大跳轉,說明馬上到OEP了
之後到達程式OEP
之後使用od自帶的外掛脫殼
最後查殼執行
0x04 總結
加密殼脫法比較簡單一般是push開始,popad結束,可以使用查詢popad,esp定律法等等來脫殼。
相關推薦
手脫UPX3.91殼(練習)
0x01 準備 OD UPX加殼程式 可以加殼的軟體 0x02 給軟體加殼 我找了半天發現winhex不錯,而且是沒殼的可以直接加殼 1.複製一份可執行檔案 將賦值好的檔案用UPX3.91加殼 0x02 脫殼 查一下殼 OD載入,檢視入口點 單步除錯,到如圖的
簡單脫殼教程筆記(2)---手脫UPX殼(1)
本筆記是針對ximo早期發的脫殼基礎視訊教程,整理的筆記。 ximo早期發的脫殼基礎視訊教程 下載地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7%A0%B4%E8%A7%
android某加固脫殼(一)
先來一張圖對比下:加固前和脫殼後dex檔案比對: 對比結果發現:將原有的dex檔案頭抹除,保留其它區段。將一個新的將“殼”的dex檔案放到抹除檔案頭部分,在修復dex檔案校檢相關引數。(沒仔細研究
C++__循環隊列(練習)
size data cti reat oid des code tmp del 循環隊列 queue.h #ifndef QUEUE_H_ #define QUEUE_H_ #define SIZE 10 typedef int data_type; enum
C++__雙向循環鏈表(練習)
link offset const private 鏈表 cnblogs return tail str 雙向循環鏈表 link.h #ifndef LINK_H_ #define LINK_H_ #define HEADER 0 #define TAIL -1
C++__鏈式棧(練習)
num nbsp private emp ace public int set namespace 鏈式棧 stack.h #ifndef STACK_H_ #define STACK_H_ typedef int data_type; enum STACK_OP
C++__二叉樹(練習)
efi fine main enqueue and class con sem pre 二叉樹 文件結構:二叉樹→TREE→TREE.h、TREE.cpp →QUEUE→QUEUE.h、QUEUE.cpp →main.cpp queue
使用 Mono.Cecil 輔助 Unity3D 手遊進行性能測試(續)
uil tar ron 重命名 def ace 重復 library com 本文嚴禁轉載。 之前的方法及其局限 問題背景和最初的嘗試見這裏。最開始的想法比較簡單,只想著利用 PostprocessBuild 這個事件,來對已經準備好的本地工程文件(iOS 或 A
Java基礎語法(練習)
blog 情況 小寫字母 最終 循環語句 art -1 temp spa Java基礎語法 今日內容介紹 u 循環練習 u 數組方法練習 第1章 循環練習 1.1 編寫程序求 1+3+5+7+……+99 的和值。 題目分析: 通過觀察發現,本題目要實現的奇數(範圍1-100
11.輪播圖(練習)
current cor ext 技術 one 練習 func children script 效果圖: 源代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset
運算子、表示式和語句(練習)
C Primer Plus第五章練習如下: 1.編寫一個程式,把用分鐘表示的時間轉換成用小時和分鐘標識的時間。使用#define或const建立一個表示60的符號常量或const變數。通過while迴圈讓使用者重複輸入值,知道使用者輸入小於或等於0的值才停止迴圈。 程式碼: #defin
python爬取淘寶搜尋頁(練習)
1、本博文中程式碼是轉載內容,原文章地址如下: https://segmentfault.com/a/1190000014688216 2、原作者講解的很詳細,我只是在原文程式碼的基礎上稍作修改,添加了一些註釋及無關緊要的程式碼 3、本篇博文涉及知識點如下: ①通過對比頁面構
新手上手Tensorflow之手寫數字識別應用(3)
本系列為應用TensorFlow實現手寫數字識別應用的全過程的程式碼實現及細節討論。按照實現流程,分為如下幾部分: 1. 模型訓練並儲存模型 2. 通過滑鼠輸入數字並儲存 2. 影象預處理 4. 讀入模型對輸入的圖片進行識別 本文重點討論影象預處理的問題。 所謂的影象預處理,
新手上手Tensorflow之手寫數字識別應用(2)
本系列為應用TensorFlow實現手寫數字識別應用的全過程的程式碼實現及細節討論。按照實現流程,分為如下幾部分: 1. 模型訓練並儲存模型 2. 通過滑鼠輸入數字並儲存 2. 影象預處理 4. 讀入模型對輸入的圖片進行識別 本文重點討論模型的儲存以及讀入問題。 關於Tens
新手上手Tensorflow之手寫數字識別應用(1)
學深度學習有一段時間了,各種演算法研究一通,什麼CNN啦,RNN啦,LSTM啦,RCNN啦,各種論文看了一堆。看沒看懂且不說(心虛。。),回來我想把訓練的模型看看實際效果的時候,才發現TensorFlow的好多基本功能還不會。好吧,還是拿著Mnist資料集搞一波手寫數字識別的全流程吧!涉
華為機試題(練習)
目錄 1、選秀節目打分 2、奇偶排序 3、作業系統任務排程問題。 4. 列印陣列中最大的2個數 5.迴文數字判斷。 6.中級題:亮著電燈的盞數 7.高階題:地鐵換乘 8.判斷if語句括號是否合法 9. 列印 楊輝三角形
手繪vs碼繪(動態)
手繪vs碼繪(動態) 主題 碼繪展示 手繪展示 程式碼 製作過程 總結 主題 用手繪和碼繪兩種方式創作“運動”主題的作品,對比二者在表現“動態”方面的異同。 碼繪展示 碼繪一 碼繪
磁碟配額(練習)
**磁碟配額: Linux作為一個多使用者的作業系統,實際生活中會發生多人共同使用一個磁碟的情況,,為了保證一個磁碟的有效利用,必須對磁碟進行使用率的限制,因此磁碟配額(quota)會是一個非常有用的工具** 一、 建立5個檔案(用指令碼檔案) 二、執行並檢視(/etc/passw
Unity 手遊專案優化建議(雜文)
1.載入預製體時,何時使用非同步載入。 當預製體複雜度很高,高達幾百ms,這個時候同步載入可能會造成中低端機型的卡頓。通過拆分預製體進行非同步載入可以避免卡頓,但可能所需的時間會更長。非同步所需的總時間比同步要長几倍,但是非同步分別發散到幾幀內後每幀的時間會很短因此卡頓就沒那麼嚴重了。(順
吳裕雄 python神經網絡 手寫數字圖片識別(5)
end false new ppm sqrt 格式 ica utils lin import kerasimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers i