原创 Android逆向學習——Smali代碼

Smali代碼的數據類型 B---byte C---char D---double F---float J---long I---int S---short V---void Z---boolean [XXX---array LX

原创 安卓逆向學習——dex文件

DEX文件實際上就是Dalvik虛擬機的可執行程序,所以這個文件對於逆向分析工程師是十分重要的,因爲我們需要對可執行文件進行調試分析結果。 JAVA文件的編譯過程是由.java文件生成.class文件,然後在進行編譯,編譯成.de

原创 安卓逆向學習——多開原理和實驗

我們都知道Windows下的進程Pid是獨一無二的,如果兩個進程都有相同的的Pid,那麼這兩個個進程只有一個可以運行,另一個則不能打開。在Android體系下,包名也類似於這個Pid,所以我們想要在Android模擬器上實現相同程

原创 安卓逆向學習——adb常用命令(Linux)

第用adb連接到虛擬機後,調用的Linux操作系統的shell。因爲這些Android的運行環境,最底層是Linux內核。而內核就是提供系統操作的接口函數的代碼塊,這自然就是Linux的Shell接口命令了。 具體命令 ls 顯示

原创 安卓逆向學習——Dalvik虛擬機與Smali代碼

首先我們要清楚JAVA虛擬機和Dalvik虛擬機的關係,我們想要我們的android程序運行在Dalvik虛擬機上首先需要選擇一種語言執行的環境,Android開發目前最多用的就是JAVA語言,凱特琳語言也在飛速發展,也許以後可能

原创 安卓逆向學習——常用到的工具簡介

ApkScan 用於Apk掃描查殼,如下圖,將Apk拖入該工具中就可以掃描是否apk有加固。 安卓逆向助手 逆向助手中有個lib文件夾,該文件夾下包含很多功能 它可以用來反編譯apk,將apk拖入程序,選擇反編譯,點擊操作會出

原创 安卓逆向學習——JAVA環境裝配

選擇版本號爲jdk-8u121 x86和x64有一定區別。選擇這個版本是爲了配合使用JEB,JEB如果使用的jdk版本過高就會造成閃退現象,帶來不必要的麻煩。我再下面的鏈接共享了逆向所用的jdk,大家可以隨意下載使用。 鏈接:網盤

原创 安卓逆向學習——SDK工具的安裝與配置

逆向的起源於正向開發,沒有正向的條件很難直接從逆向下手。在配置完JAVA開發環境後,想要進行Android開發還是不夠的。因爲JAVA開發環境工具包只提供了java代碼運行環境和開發工具,我們要進行Android逆向,還需要快速開

原创 常見程序入口點特徵

Delphi入口程序 Delphi開頭的入口程序是正常的壓棧,然後調用一個E8字節類型的call 0044CA98 > $ 55 push ebp 0044CA99 . 8BEC mov ebp,esp 0044CA9B . 8

原创 bochs調試方法

bochs一般用法 bochs是一個開源x86虛擬機軟件。在他的實現中定義了各種數據結構來模擬硬件,用軟件模擬硬件速度慢。 bochs的硬件調試體現在: 1)可以查看頁表、gdt、idt等數據結構 2)可以查看棧中數據 3)可以反

原创 NsPack 3.7

查殼,是NsPack壓縮殼。直接拖入OD。 老樣子,開頭有pushad和pushfd指令,首先使用ESP定律嘗試脫殼。 發現跨節跳轉,執行到OEP位置進行手脫。 跳轉過後發現字節碼是0x55開頭,很明顯是push ebp指令

原创 !EP(EXE Pack)1.4.exe

首先查殼,顯示是!EP(EXE Pack)1.4.exe 根據查閱國外文獻資料,試運行,發現該殼重新運行創建了自己,有一定的反調試。就像下面的情況,F9執行程序,調試器直接中斷,程序還能正常運行。 於是在CreateProce

原创 Wireshark學習

0x1 Wireshark安裝和下載 老樣子給出Wireshark下載地址Wireshark官網,下載完成後除了選擇安裝路徑外都可以直接下一步默認安裝配置。如果嫌下載慢我這還有剛下好的最新版本x64 v3.2.1,給大家帶來便利網

原创 ASPack 2.12

查殼,是ASPack2.12 首先看到pushad第一反應是esp定律。 在esp處設置硬件執行斷點,然後F9執行到下圖位置 繼續向下走,發現有個間隔很大的返回地址多半就是OEP 執行到OEP進行脫殼 設置OEP的RVA

原创 逆向資源代碼示例分享

《逆向工程核心原理隨書代碼及示例》 鏈接:https://pan.baidu.com/s/19PSXILaaz9up7NTehGbDKw 提取碼:fuz1 複製這段內容後打開百度網盤手機App,操作更方便哦 點贊