国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項目 服務(wù)報價 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
Frida使用和Hook代碼整理

作者: 藿香正氣  日期:2017-05-27 18:28:41   來源: 本站整理

 

0x0001 一些廢話
小弟最近學(xué)習(xí)Hook技術(shù),一直使用的是substrate和xposed,這兩種框架給我的感覺功能是非常強(qiáng)大的,但是有一些不穩(wěn)定,有的時候安裝模塊軟重啟后機(jī)器就起不來了(也可能是我的代碼寫的不叫渣,總之遇到一些坑),只能進(jìn)入recovery模式刪除模塊。最近找到了一個輕量級的hook框架這幾天使用了一下感覺非常不錯,她就是Firda,她的優(yōu)點(diǎn)就是比較輕量級,使用python和javascrip進(jìn)行hook模塊的開發(fā),缺點(diǎn)的話我感覺就是js我不太會,下面就上代碼吧


0x0002 安裝
安裝很簡單,需要python環(huán)境在linux、win的環(huán)境都可以,下面就是我在windwos下安裝,
1.Python環(huán)境就不用多說了 安裝后配置環(huán)境變量,我使用的是2.7.X的版本
2.安裝pip  https://pypi.python.org/pypi/pip, 到這里下載pip-9.0.1.tar.gz (md5, pgp)的安裝包,解壓后,在命令行下進(jìn)入這個目錄,運(yùn)行 python setup install 等一會安裝就完成了
再講
pip所在的 python\Scripts 添加到命令行,pip就可以用了
3.安裝frIDA 運(yùn)行命令pip install frida 就好了
4.下載 服務(wù)端 https://github.com/frida/frida/releases 到這里找到frida-server-10.0.8-android-arm.xz  這里根據(jù)自己手機(jī)的平臺選擇就可以了 大多數(shù)是android-arm


0x0003 使用
鏈接手機(jī)usb 打開調(diào)試模式
1.adb push frida-server-10.0.8-android-arm /data/local/tmp
然后使用root 啟動就行了

2.打開另一個命令行
adb forward tcp:27042 tcp:27042
adb forward tcp 27043 tcp 27043
然后輸入 frida-ps -R
就會看到手機(jī)里所有的進(jìn)程

0x0004 開始測試


先是目標(biāo)應(yīng)用,分為兩部分 java + ndk
[Java] 純文本查看 復(fù)制代碼
1
2
3
4
5
6
7
8
9
package com.example.hooktest.jiami;
 
public class Jiami {
 
         
        public int jiami(int i ,int j) {
                return i*10 + j*11;
        }
}


[Java] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.example.hooktest;
 
 
import com.example.hooktest.jiami.Jiami;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends Activity implements OnClickListener{
 
        static {
                System.loadLibrary("test");
        }
         
        private TextView tv;
        private Button btn;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                tv = (TextView) findViewById(R.id.tv);
                btn = (Button) findViewById(R.id.btn);
                btn.setOnClickListener(this);
        }
         
        native public String getString();
 
        @Override
        public void onClick(View v) {
                // TODO Auto-generated method stub
                Jiami mi = new Jiami();
                tv.setText(getString() + mi.jiami(10, 20));
        }
         
}


下面是ndk的
[C] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <jni.h>
#include <string.h>
#include <android/log.h>
#include <unistd.h>
#include <stdarg.h>
#include <stdio.h>
 
 
#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO, "hooktest", __VA_ARGS__)
 
int getInt(int i)
{
        return i+99;
}
 
JNIEXPORT jstring JNICALL
Java_com_example_hooktest_MainActivity_getString(JNIEnv* env,jobject thiz)
{
#if defined(__arm__)
#if defined(__ARM_ARCH_7A__)
#if defined(__ARM_NEON__)
#define ABI "armeabi-v7a/NEON"
#else
#define ABI "armeabi-v7a"
#endif
#else
#define ABI "armeabi"
#endif
#elif defined(__i386__)
#define ABI "x86"
#elif defined(__mips__)
#define ABI "mips"
#else
#define ABI "unknown"
#endif
        LOGI("[+] %d\n", getInt(1));
        return (*env)->NewStringUTF(env, ABI);
}


測試是要對jiami這個函數(shù)進(jìn)行hook,也可以對這個函數(shù)進(jìn)行調(diào)用生成加密后的數(shù)據(jù),第二個是對jni這個接口函數(shù)進(jìn)行調(diào)用,也可以調(diào)用getInt這個 c函數(shù) 下面是代碼
Hook_java_method.py
[Asm] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#coding=utf-8
import frida
import sys
session = frida.get_remote_device().attach("com.example.hooktest")
#print session.enumerate_modules()
 
jscode = """
Java.perform(function(){
    send("Running Script");
  
    var getString = undefined;
    exports = Module.enumerateExportsSync("libtest.so");
    for(i=0; i<exports.length; i++){
        if(exports.name == "Java_com_example_hooktest_MainActivity_getString"){
            getString = exports.address;
            send("getInt is at " + getString);
            break;
        }
    }
 
        var getInt = undefined;
    exports = Module.enumerateExportsSync("libtest.so");
    for(i=0; i<exports.length; i++){
        if(exports.name == "getInt"){
            getInt = exports.address;
            send("getInt is at " + getInt);
            break;
        }
    }
    var fungetInt = new NativeFunction(getInt, 'int', ['int']);
     
    Interceptor.attach(getString,{
        onEnter: function (args) {
                send("onEnter");
                var res = fungetInt(99999);
                send(res);
            },
            onLeave: function (retval) {
                       send("onLeave");
            }
 
         
    });
});
"""
 
def on_message(message, data):
        print message
script = session.create_script(jscode)
script.on('message', on_message)
script.load()
sys.stdin.read()



這個是調(diào)用jiami函數(shù)
call_java_method
[Java] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
#coding=utf-8
import frida
import sys
session = frida.get_remote_device().attach("com.example.hooktest")
#print session.enumerate_modules()
 
jscode = """
Java.perform(function () {
    var jiami = Java.use("com.example.hooktest.jiami.Jiami");
    var instance = jiami.$new();
    var res = instance.jiami(100,200);
    send(res);
});
"""
 
def on_message(message, data):
        print message
 
script = session.create_script(jscode)
script.on('message', on_message)
script.load()
sys.stdin.read()



這個是調(diào)用getInt函數(shù)
[Python] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#coding=utf-8
import frida
import sys
session = frida.get_remote_device().attach("com.example.hooktest")
#print session.enumerate_modules()
 
jscode = """
Java.perform(function(){
    send("Running Script");
  
    var getString = undefined;
    exports = Module.enumerateExportsSync("libtest.so");
    for(i=0; i<exports.length; i++){
        if(exports.name == "Java_com_example_hooktest_MainActivity_getString"){
            getString = exports.address;
            send("getInt is at " + getString);
            break;
        }
    }
 
        var getInt = undefined;
    exports = Module.enumerateExportsSync("libtest.so");
    for(i=0; i<exports.length; i++){
        if(exports.name == "getInt"){
            getInt = exports.address;
            send("getInt is at " + getInt);
            break;
        }
    }
    var fungetInt = new NativeFunction(getInt, 'int', ['int']);
     
    Interceptor.attach(getString,{
        onEnter: function (args) {
                send("onEnter");
                var res = fungetInt(99999);
                send(res);
            },
            onLeave: function (retval) {
                       send("onLeave");
            }
 
         
    });
});
"""
 
def on_message(message, data):
        print message
script = session.create_script(jscode)
script.on('message', on_message)
script.load()
sys.stdin.read()


先看一下正常結(jié)果

小弟最后一個問題就是 沒法hook住 getInt這個函數(shù),只能對他進(jìn)行調(diào)用,不是哪位老大可以對這個很熟進(jìn)行hook。
有不對的地方也請各位老大斧正







Screenshot_20170527-150214.png (43.72 KB, 下載次數(shù): 0)

Screenshot_20170527-150214.png

Screenshot_20170527-150540.png (43.3 KB, 下載次數(shù): 0)

Screenshot_20170527-150540.png

新建位圖圖像.bmp (239.85 KB, 下載次數(shù): 0)

新建位圖圖像.bmp


熱門文章
  • 機(jī)械革命S1 PRO-02 開機(jī)不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點(diǎn)不...
  • 三星一體激光打印機(jī)SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機(jī)始終停留在開機(jī)界面...
  • 常見打印機(jī)清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機(jī)需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機(jī)的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    国产精品一区二区x88av| 日韩精品91亚洲二区在线观看| 精品在线观看一区| 最新欧美精品一区二区三区| 亚洲精品粉嫩美女一区| 香蕉视频黄色片| 亚洲精品高清无码视频| 中文字幕成人精品久久不卡| 神马午夜在线视频| 亚洲毛片在线播放| 欧美在线观看视频网站| 精品一区2区三区| 日韩欧美国产综合一区| 六月婷婷色综合| free性护士videos欧美| 一区二区不卡免费视频| 亚洲自拍偷拍色图| 5月丁香婷婷综合| 亚洲天堂激情| 在线午夜影院| 新久草在线视频| 中国美女乱淫免费看视频| 亚洲最大av在线| 欧美精品xxx| 日韩欧美中文在线| 日韩成人免费电影| 91麻豆国产自产在线观看亚洲| 无遮挡的视频在线观看| 四虎永久网址| 97超碰在线资源| 亚洲欧美国产精品桃花| 久久亚洲精品网站| 玉米视频成人免费看| 激情av一区| 日韩在线观看一区| 新版的欧美在线视频| 狠狠色噜噜狠狠狠狠888奇米| 日韩精品一区二区在线播放| 国产亚洲精品网站| 国产欧美日韩中文| 欧美日韩大陆在线| 大白屁股一区二区视频| 欧美三级电影在线| 蜜桃视频网站在线观看| 蜜桃福利入口| 中文字幕 亚洲视频| 性xxxxxxxxx| 在线观看亚洲视频啊啊啊啊| 国产91精品视频在线观看| 色综合中文字幕| 亚洲高清不卡在线| 激情综合网最新| av一区二区在线播放| 欧美人体视频xxxxx| 999www成人| 亚洲精品无码久久久| 99久久久无码国产精品免费| 国产一二三av| 成人一区二区三| 亚洲精品高清无码视频| 在线观看国产一级片| 一本一本久久a久久精品综合妖精| 91精品国产色综合久久不卡98| 欧美日韩中文字幕一区| 久久久精品一品道一区| 伊人蜜桃色噜噜激情综合| 凹凸成人在线| 国产在线xxx| 1024亚洲| 影音先锋男人看片资源站| 国产精品99re| 丝袜熟女一区二区三区 | а√最新版在线天堂| av网站免费观看| 美女扒开内裤让男人桶| 日韩综合另类| 一级做a爰片久久毛片16| 潮喷失禁大喷水aⅴ无码| 日韩在线不卡av| 成人做爰69片免费| 9.1成人看片免费版| 久久这里只有精品免费| 欧美18—19性高清hd4k| 日日噜噜噜噜久久久精品毛片| 无码免费一区二区三区免费播放| 青青在线视频一区二区三区| 亚洲欧美日韩中文在线制服| 欧美日韩激情美女| 2024国产精品| 老汉av免费一区二区三区| 成人免费av在线| 亚洲一级二级三级| 国产精品人成在线观看免费| 成人午夜视频在线| 国产精品美女久久久久久久 | 欧美**室bdsm视频| 亚洲h视频在线观看| 思99热精品久久只有精品| 国产h色视频在线观看| 日本在线视频网| 蜜桃在线一区| 在线免费成人| 91福利精品在线观看| 女人成午夜大片7777在线| 日韩av影音先锋| 裸体网站视频| 永久免费不卡在线观看黄网站| 天天色天天上天天操| 91最新在线| 91美女视频在线| 国产经典一区| 精品成人国产| 亚洲四区在线观看| 亚洲少妇30p| 亚洲国产精品高清久久久| 亚洲大胆人体av| 欧美有码在线视频| 制服诱惑一区| av网页在线观看| 色婷婷av777| 国产精品视频第一页| 中文字幕av网站| 91av.cn| 五十路在线观看| 女人被爽到呻吟gif动态图下载| h片在线观看视频免费| 亚洲成人一区| 久久精品官网| 国产麻豆91精品| 91久久人澡人人添人人爽欧美| 欧美性猛交一区二区三区精品| 欧美精品第1页| 亚洲国内高清视频| 精品视频偷偷看在线观看| 亚洲色图在线观看| 久久久电影免费观看完整版| 久久久久久久久电影| 亚洲制服欧美久久| 中文字幕第4页| 热re99久久国产精品| 亚洲卡一卡二| 99视频这里有精品| 日韩精品国产精品| 欧美色图在线观看| 国产欧美精品va在线观看| 九九九九九伊人| 精品人妻中文无码av在线| 天天干视频在线观看| 偷拍国模大尺度视频在线播放| 16—17女人毛片毛片| 超碰国产精品一区二页| 国产一区不卡精品| 亚洲精品综合在线| 777亚洲妇女| 91嫩草视频在线观看| 综合色婷婷一区二区亚洲欧美国产| 亚洲精品理论片| 国产成人综合亚洲欧美在| 热国产热中文视频二区| 成午夜精品一区二区三区软件| 26uuu国产在线精品一区二区| 黑料不打烊so导航| 国产婷婷视频在线| 欧洲美女精品免费观看视频| 欧亚精品一区| 国产三级一区二区| 欧美一区二区三区在线观看视频| 久久精品人人爽| 91视频 - 88av| 国产精品扒开腿做爽爽爽a片唱戏| 粉嫩av性色av蜜臀av网站| 国产毛片在线视频| 高h视频在线| 久久久精品一区二区毛片免费看| 久草成人资源| 丝袜亚洲另类欧美| 亚洲精品免费在线| 2018日韩中文字幕| 中文字幕在线国产| 中文字幕人妻丝袜乱一区三区 | 午夜精品视频网站| 日韩国产高清一区| 日日噜噜噜噜久久久精品毛片| 成人av免费播放| 视频免费在线看| 97精品视频| 欧美视频完全免费看| 色噜噜狠狠色综合网| 亚洲免费视频二区| 成人18免费| 精品高清在线| 26uuu国产电影一区二区| 九九热在线精品视频| 亚洲午夜精品久久久久久浪潮| 国产精品18p| 久草中文在线| 99免费精品在线观看| 日韩精品丝袜在线| 大波视频国产精品久久| 国产三级国产精品国产专区50|