摘要: 我的机器是Nexus 5一. 安装驱动如何进入fastboot模式1. 拔掉数据线,将手机关机2. 关机后同时按住【音量减小键】和【开关机键】即可进入Fastboot模式开启usb调试 --> 勾选usb调试adb devices可以看到设备名即可二. 下载刷机包这是Android 4.4的刷机包,大家可以根据需求自己寻找指定的版本的刷机包https://dl.google.com/dl/and... 阅读全文
posted @ 2016-08-27 10:49 Bingghost 阅读(816) 评论(1) 推荐(0) 编辑
摘要: DroidBox是一个动态分析Android代码的的分析工具。其目前的安装环境为:Linux/Unix/MacOSX 下面是安装步骤一. 安装Android SDK 并添加环境变量export PATH=$PATH:/path/to/android-sdk/tools/ export PATH=$PATH:/path/to/android-sdk/platform-tools/二. 下载droid... 阅读全文
posted @ 2016-08-24 23:06 Bingghost 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 一些实例1. 遍历当前光标处函数所有的ElementJava代码:import java.io.*;import java.util.List;import jeb.api.IScript; import jeb.api.JebInstance;import jeb.api.ui.*;import jeb.api.ast.*;public class Hello implements IScri... 阅读全文
posted @ 2016-08-21 16:30 Bingghost 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 2.0之后好像新增加了很多API,有所区别本文采用Java+Eclipse作为开发环境插件支持的语言 文档:jeb-1.5/doc/index.html一.Hello World工程1. Eclipse插件开发环境配置新建Java工程->工程目录下新建lib目录->右键->add to build path配置JavaDoc 这样写代码的时候 有实时的文档可以看2. 编写代码import jeb.... 阅读全文
posted @ 2016-08-21 16:29 Bingghost 阅读(944) 评论(0) 推荐(0) 编辑
摘要: 一.重打开包APK1.apktool解包文件apktool d -d XXX.apk这里注意使用-d参数,生成的smali文件才是以java结尾的,才能被eclipse识别2.找到AndroidManifest文件,设置允许调试找到AndroidManifest.xml文件,在application节点中设置属性android:debuggable="true"或者在回编译时加入-d参数,会自动设... 阅读全文
posted @ 2016-08-21 16:27 Bingghost 阅读(715) 评论(0) 推荐(0) 编辑
摘要: 一. 编写广告页写一个广告页面,并调用其他页面的demo(1) 设计界面如下(2) 编写代码如下public class SplashActivity extends Activity { private static final int MSG_START_MENU = 1; @SuppressLint("HandlerLeak") Handler mHandler = new... 阅读全文
posted @ 2016-08-14 00:24 Bingghost 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 如何解释dalvik字节码文档:在Android系统源码目录dalvik\docs有相关指令文档dalvik-bytecode.html实战:来直接实战模拟来理解枯燥的理论用IDA打开一个dex文件, 设置显示指令随便找一段代码注意:206E 28DE 0050是IDA的显示问题 在文件中的存储顺序是6E 20 DE 28 50 00 在WinHex搜索一下就知道了上面截图的指令在文件中的排列顺序... 阅读全文
posted @ 2016-08-14 00:23 Bingghost 阅读(745) 评论(0) 推荐(0) 编辑
摘要: 主要流程如下图所示: 所需要的工具列表 名称 功能介绍 在操作系统中的路径 aapt Android资源打包工具 ${ANDROID_SDK_HOME}/platform-tools/appt aidl Android接口描述语言转化为.java文件的工具 ${ANDROID_SDK_HOME}/p 阅读全文
posted @ 2016-08-13 23:56 Bingghost 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 1.启动加载完内核2.执行init进程 ----> 设备初始化工作 a1. 读取inic.rc a2. 启动Zygote进程 ----> 该进程是所有进程的孵化器 b1. 初始化dalvik虚拟机 b2. 启动system_server进程 c1. 通过socket方式发送命令给Zygote进... 阅读全文
posted @ 2016-08-13 23:50 Bingghost 阅读(250) 评论(0) 推荐(0) 编辑
摘要: Java源码public class Hello { public int foo(int a,int b) { return (a + b) * (a - b); } public static void main(String[] argc) { Hello hello = new Hello(); System.out.println(hello.f... 阅读全文
posted @ 2016-08-13 23:49 Bingghost 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 一.原理当在系统中调用System.loadLibrary函数时,该函数会找到对应的动态库,然后首先试图找到"JNI_OnLoad"函数,如果该函数存在,则调用它JNI_OnLoad可以和JNIEnv的registerNatives函数结合起来,实现动态的函数替换二. 实战用ndk学习17的例子继续, 下面演示动态替换TestJni中的sayHellojstring JNICALL Java_or... 阅读全文
posted @ 2016-08-10 10:17 Bingghost 阅读(3954) 评论(0) 推荐(0) 编辑
摘要: 1. 设置调试选项在AndroidManifest文件加入允许调试android:debuggable="true" 此时编译项目会多出:2. 配置调试代码把需要调试的代码,放如按钮事件中,如果放在OnCreate会导致连接调试器时,代码已经跑完了Button btnTest = (Button)findViewById(R.id.button1);btnTest.setOnClickLis... 阅读全文
posted @ 2016-08-09 21:33 Bingghost 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 一.Hello World1. 定义函数原型native关键字定义的函数即为jni函数2.生成头文件切换到src目录执行: (这个过程可以写脚本自动完成,比如自动拷贝到jni目录)javah -jni 包名.类名在根目录下生成:org_bing_testjni_MainActivity.h3. 工程中添加jni代码工程右键->添加native code->输入名字->finish多了如下文新建一个... 阅读全文
posted @ 2016-08-09 21:32 Bingghost 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 一.Java反射机制先了解Java反射机制原理例子网上很多,反射很灵活二. 在JNI层调Java用途: Java层逆向比较容易,增加逆向门槛,把调用都写到JNI层, 让Java层无调用关系注意: C和C++有所不同,这里使用C++作为例子1. 首先在代码中提供一个ShowLog函数private void ShowMsg() { Log.d("_BING_", "ShowMsg");} ... 阅读全文
posted @ 2016-08-09 21:32 Bingghost 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Linux IPC机制来自为知笔记(Wiz) 阅读全文
posted @ 2016-08-09 21:31 Bingghost 阅读(309) 评论(0) 推荐(0) 编辑