180207 逆向 Frida入門(1)

2021-08-15 13:26:53 字數 1086 閱讀 3310

1625-5 王子昂 總結《2023年2月7日》 【連續第495天總結】

a. frida入門

b. 在windows下的hook框架似乎沒什麼出名的,僅有的一些例如easyhook、微軟提供的api和detour庫都是api級別的

而對於當前目的以做題為主的我來說,ins指令級別的hook才是更需要的—畢竟拿到的程式很大可能關鍵部分都是自寫的函式、甚至只是乙個結構塊

於是想起了已經在android平台使用的frida,這是乙個全平台,包括windows、linux、android、ios等等都可使用的框架

它的原理是在需要hook的平台上開啟乙個伺服器,然後伺服器通過ptrace除錯目標程序,另一方面客戶端指令碼將核心**傳給伺服器,伺服器進行hook

指令碼方面似乎使用c、python、switch都可以,而核心**必須使用js

正好藉此契機去好好學下js啦~

首先安裝,py2和3下面都有,各自用pip安裝即可

值得一提的是以前用的是py2,版本是2.7.13c,正常使用

這次剛開始py3跑的是3.5.2,安裝後import frida會報

failed to load the frida native extension: dll load failed: 找不到指定的模組

查了一下發現是frida開發者更新太勤了外加死腦筋,模組中硬編碼要求匯入python36.dll,而在3.5版本下僅有python35.dll,於是報錯

解決方法為:

後者有可能會導致一些不可預料的錯誤,畢竟跟編譯版本不同。所以乖乖更新了python233

匯入以後在python直接可以使用一些簡單的api:

import frida

session = frida.attach("notepad.exe")

print([x.name for x in session.enumerate_modules()])

而且效率很高,畢竟因為是注入原理的。

明天對應文件嘗試在指定位址處hook, 計數和讀取引數

c. 明日計畫

frida入門

Android逆向 Frida 環境配置

豆瓣源 有外網的可以去掉後面的源位址 建立虛擬環境 建立虛擬環境 mkvirtualenv frida 虛擬環境的預設儲存空間 這裡的 zhoumi 是你當前 admin 使用者名稱 c users zhoumi envs 列印虛擬環境列表 workon 退出虛擬環境 deactivate 進入虛擬...

iOS逆向 frida一鍵脫殼

前沿ios砸殼方式很多 dumpdecrypted,clutch,frida,本篇介紹frida。1 準備工作 1.1 ios端 1.2 mac 端1.2.1 安裝homebrew usr bin ruby e curl fssl 1.2.2 安裝python brew install python...

逆向工程入門

本問只是為初入逆向工程大坑的新人們指出方向學習,沒有實質性的技術。總的來說,基礎才是最重要的。逆向工程入門應該算是所有學習方向中最難的。但是選擇了這一方向的請不要放棄,一旦學成,必定會是大神級別的存在。那麼,逆向工程的入門需要學習什麼?學習c語言是逆向工程的基礎。如果是學習滲透方向的,也許可以選擇p...