原创 Java JNI的使用

JNI(JAVA Native Interface使用)(主要是怎麼使用) 一、先貼上測試代碼: 1.java部分測試代碼:<span style="font-size:14px;">package com.nipc; public

原创 通過wifi連接adb調試

有時,在有線連接Android調試不是很方便,而且WiFi聯繫更加cool;WiFi連接adb步驟: 一、手機沒有root條件下: 1.adb tcpip 端口號;(5555爲默認)------這一步需要在usb調試下進行; 2.adb

原创 Android Binder機制實現進程間數據交換(不使用aidl實現)

一、Binder機制(從framework層分析,Java層面分析) 在Android中,Binder用於完成進程間通信(IPC),即把多個進程關聯在一起。 比如,普通應用程序可以調用音樂播放服務提供的播放、暫停、停止等功能。 Bind

原创 Linux(Ubuntu)下軟件安裝問題

       作爲一個大學4年基本沒有編過程序的人,研究生要做的竟是網絡安全的工作,知名黑客的技術功底都是極好的,爲此,我也感到異常惱火,可是路漫漫,總的一步一步走下去,現在也許我的博客質量很差技術很差,相信只要不斷學習,不放棄,至少要成

原创 Android NDK環境搭建和示例Demo(Windows環境下)

一、NDK環境搭建 本文假定JDK、SDK,Eclipse等基本工具環境已經搭建完成,下面僅僅是NDK和Cygwin的搭建過程: 1、下載NDK: 下載地址:http://developer.android.com/tools/sdk/n

原创 關於Activity啓動模式的理解

        看了好幾次Activity的啓動模式,一直沒有自己總結,總是看着就忘記了。於是這次打算自己寫下來,加深對這部分知識的理解。至於爲啥總是看着Activity啓動模式,當然我又看的必要性,以後再說對我工作的需要的吧!    

原创 緩衝區溢出攻擊實驗(三)

        在緩衝區溢出攻擊實驗(一)(二)分別介紹了先關知識和shellcode機器碼的獲得,這一篇就闡述怎麼利用別人程序中的緩衝區溢出漏洞實施攻擊; 三、緩衝區溢出漏洞攻擊 1.一個存在緩衝區溢出漏洞的demo         下

原创 交叉編譯環境學習(編譯Android上的可執行程序)

        前幾天幫忙師兄發現的Android上的一個驅動程序漏洞,奈何技術不夠耐心不足,沒有找到漏洞的根源。由於程序要由c程序來觸發,而c程序是在pc上的開發的,要在Android設備上運行,這就涉及到交叉編譯問題。一開始找了好久,

原创 PackageInstaller源碼分析(二)

  上篇PackageInstaller源碼分析(一)對PackageInstaller源碼分析了一半,本篇接着分析,分別分析對於App更新和新App安裝的處理。 一、 新App的安裝   新App的安裝從installNewPa

原创 緩衝區溢出攻擊實驗(二)

          上面緩衝區溢出攻擊實驗(一)中,主要闡述了怎麼獲得函數的返回地址,以及怎麼修改返回地址。接下來闡述,獲得了返回地址要做啥,也就是我們的獲得shell的惡意程序; 二、獲取shell惡意程序         由於我們最終

原创 PackageInstaller源碼分析(一)

  本篇博客分析PackageInstaller源碼目的是分析Android權限機制,Android App的權限在應用被安裝時,用戶選擇授予或者拒絕。所以,分析Android權限機制源碼的第一步分析應用程序安裝時的行爲。   

原创 Android App簽名(證書)校驗過程源碼分析

  Android App安裝是需要證書支持的,我們在Eclipse或者Android Studio中開發App時,並沒有注意關於證書的事,也能正確安裝App。這是因爲使用了默認的debug證書。在Android App升級的時候

原创 Drozer輸出重定向到文件

          Drozer是個非常好用的Android注入框架。使用Drozer框架時,輸出的文字比較長,在console環境下看會不舒服。可以通過重定向功能,把drozer console中的輸出定向的文件中,以便於我們在任意時候

原创 緩衝區溢出攻擊實驗(一)

          無聊之餘,想弄一下緩衝區溢出實驗,之前一直聽說這個,也沒有親自動手做一下,發現真正弄起來的時候還是沒那麼簡單的,其實學到的東西還是不少的。特此記下學習的過程。 一、基礎知識        這一部分主要是關於程序內存佈局

原创 Java 反序列化漏洞原理

一、漏洞怎麼生產的 如果一個應用接受反序列化數據,並且沒有對反序列化的對象做限制,就可能導致代碼執行。(使用了有安全缺陷的Apache Commons Collections jar包) public static void ma