国产精品久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ù)支持:微軟等
    天天综合网入口| 国产又黄又嫩又滑又白| 欧美色手机在线观看| 性欧美videos高清hd4k| 日韩成人精品视频在线观看| 六月丁香婷婷色狠狠久久| 亚洲精品久久久蜜桃动漫| 粉嫩在线一区二区三区视频| 九色国产在线观看| 91精品视频专区| a一区二区三区亚洲| 永久免费av无码网站性色av| 国产日韩欧美黄色| 国产激情视频一区二区在线观看| 欧美性色黄在线视频| 欧美精品欧美精品| 久久久99久久精品欧美| 三级影片在线看| 久久精品亚洲国产| 国产精品91一区二区三区| 夜色资源站国产www在线视频| 69国产精品视频免费观看| 在线码字幕一区| 欧美与黑人午夜性猛交久久久| 成人在线视频首页| 久久久久久久性潮| 久久久999久久久| 国产精品美女免费看| 久久99国产成人小视频| 在线播放成人av| 国产精品永久在线| 99re这里只有精品首页| 欧美三级超在线视频| 久久综合一区二区三区| 91老司机福利 在线| 高清一区二区三区av| 在线观看黄网站免费继续| 色姑娘综合网| 在线观看欧美精品| 欧美日日夜夜| 欧美性猛交xx| 欧美变态tickling挠脚心| 亚洲欧洲一区二区天堂久久| 国内精品卡一卡二卡三新区 | 国产91aaa| 亚洲天堂男人天堂| 一本到不卡免费一区二区| 亚洲综合另类| 久久一卡二卡| 日韩一级片免费看| 天天躁日日躁狠狠躁免费麻豆| 日韩一区二区不卡| 红桃视频亚洲| 色播色播色播色播色播在线| 亚洲图片小说视频| 欧美成人四级hd版| 999久久久国产精品| 九一免费看片| 国产福利在线导航| 色综合电影网| 91精品一区二区三区在线观看| 精品资源在线| 色偷偷福利视频| 国产十六处破外女视频| 国产亚洲欧美日韩美女| 激情另类综合| 91黄色在线| 麻豆精品永久免费视频| www.久久久久久久| 亚洲天堂网一区二区| 无码人妻丰满熟妇区毛片18| 四虎影院一区二区三区| 欧美一级淫片播放口| 91麻豆精品国产91| 久久青草久久| 男人最爱成人网| 真实的国产乱xxxx在线91| 欧美体内she精高潮| 成人看片人aa| 日韩精品黄色网| 久久综合成人精品亚洲另类欧美| 福利视频在线| 午夜久久久久久噜噜噜噜| 国内自拍第二页| 国产h视频在线播放| 欧美18hd| 久久久久久亚洲精品不卡| 精品久久久久久久中文字幕| 天天躁日日躁狠狠躁欧美| 好操啊在线观看免费视频| 污视频在线免费观看| 中文字幕视频三区| 亚洲欧美日本精品| 亚洲精品中文在线影院| 99视频+国产日韩欧美| 三级在线看中文字幕完整版| 免费观看黄色一级视频| 热99这里只有精品| 在线播放日韩精品| 亚洲精品国产品国语在线app| 精品无码三级在线观看视频| 日韩一区二区在线免费| 欧洲免费av| 国产一区二区视频免费观看 | 男人操女人免费软件| 欧美美女操人视频| 欧美精品三级在线观看| 亚洲制服丝袜av| 欧美小视频在线观看| 欧美亚洲国产一区二区三区va| 亚洲国产色一区| 在线观看国产日韩| 欧美日韩国产限制| 国产精品色在线| 精品一区二区久久| 一区二区三区毛片免费| 国产最新在线| 日韩欧美国产精品一区二区三区| 精品国产美女福利到在线不卡| 青青操视频在线播放| 黄色三级视频片| 欧美日韩第一页| 欧美日韩视频在线| 99成人精品| 亚洲精品va| 狠狠综合久久| 91精品久久久久久久久久不卡| 98在线视频| 碰草在线视频| 五月天婷婷在线观看| 国产一级特黄a高潮片| 99热最新在线| 国模吧一区二区| 在线看日韩av| 欧美电影免费提供在线观看| 亚洲美女视频网站| 国产精品丝袜白浆摸在线 | 欧美日韩一区二区三区视频| 欧美在线制服丝袜| 欧美日韩一级二级| 欧美日韩国产精品一区二区三区四区 | 欧美精品一区二区三区蜜桃视频| 欧美日韩国产一级| 欧美影院一区二区三区| 国产美女视频91| 欧洲杯半决赛直播| 国产日韩在线观看视频| 欧美成人免费全部网站| 大色综合视频网站在线播放| 欧美99在线视频观看| 国产精品白丝久久av网站| 高清精品在线| 高清在线观看av| 午夜视频福利在线观看| 亚洲男人天堂2017| 一二三区在线播放| 麻豆精品国产传媒av| 伊人av在线播放| 天天干天天操天天做| 色婷婷成人在线| 在线观看免费av网址| 337p粉嫩色噜噜噜大肥臀| 999久久久免费精品国产牛牛| 福利在线国产| 蜜臀av免费一区二区三区| 国产精一区二区三区| 欧美日韩人人澡狠狠躁视频| 7777精品伊人久久久大香线蕉超级流畅| 一区二区三区**美女毛片| 在线精品视频一区二区三四| 亚洲第一成年网| 亚洲色图视频网| 亚洲6080在线| 在线观看网站黄不卡| 亚洲丝袜在线视频| 久久久之久亚州精品露出| 欧美激情极品视频| 亚洲三级av在线| 亚洲免费视频一区二区| 亚洲第一中文字幕| 91精品国产色综合久久不卡蜜臀| 欧美精品乱码久久久久久| 精品视频一区 二区 三区| 欧美日韩aaaaa| 亚洲色图在线观看| 91九色视频在线观看| 亚洲国产精品女人| 国产一级大片免费看| 51调教丨国产调教视频| 四虎成人在线观看| 俄罗斯性欧美| 国模冰冰炮一区二区| 久久久夜精品| 色婷婷综合在线| 国产日本欧美在线观看| 国产黑丝在线观看| 亚洲欧美激情另类| 影院免费视频| 久久精品九色| 亚洲精品免费观看|