Nexus6P 设置Debug模式
摘要:一劳永逸,设置手机进入Debug模式实现完美Root 使用mkbootimg进行boot.ing编辑 将修改的系统官方Rom包中的boot.ing和mkbooting工具中的mkboot、mkbootfs、mkbootimg拷贝到Linux32位操作系统执行下面的操作 ./mkboot boot.img boot 说明: 进入解压后的boot/ramdisk/default.prop 修改 ro...
阅读全文
posted @
2019-06-09 04:25
黑箱
阅读(488)
推荐(0)
apk分析 1
摘要:配置抓包工具 关闭捕获主机通讯关闭 配置: 在手机端进行配置 进入wifi设置,长按网络高级选项->手动设置代理 测试是否设置成功,手机上随便开应用看抓包器是否有反应 打开抓包目标apk(恋恋,登录) 目标找出加密算法 使用AndroidKiller反编译 使用geb工具查看(使用前必须配置环境),geb打开目标apk 根据上文分析ctrl+f查找字符串 大致浏览反编译后的java代码...
阅读全文
posted @
2019-06-08 22:47
黑箱
阅读(635)
推荐(0)
ptrace函数深入分析
摘要:ptrace函数:进程跟踪。 形式:#include<sys/ptrace.h> Int ptrace(int request,int pid,int addr,int data); 概述: 父进程控制子进程运行,检查和改变它的核心Image。Ptrace主要用来实现断点调试。当进程被中止,通知父进
阅读全文
posted @
2019-06-07 19:47
黑箱
阅读(10225)
推荐(1)
Native层和so接口和Java层
摘要:一、Java层加载so文件 Android在Java层加载so的接口是System.loadLibrary()逐级调用的过程: System.loadLibrary()系统源码: 例程 System.loadLibrary(“xxx”) [xxx:libname名称] Ctrl+左键Loadlibr
阅读全文
posted @
2019-06-07 11:48
黑箱
阅读(5783)
推荐(1)
3 测试使用和LogCat日志
摘要:测试概念: 1.根据是否知道源代码分: 黑盒测试:功能测试 白盒测试:编写代码进行测试 2.测试力度划分: 方法测试: 单元测试: 集成测试: 系统测试: 3.暴力程度划分: 压力测试: 冒烟测试:压力测试的一种 Android测试:monkey [count] Android测试步骤: 1. 定义
阅读全文
posted @
2019-06-06 16:58
黑箱
阅读(306)
推荐(0)
2 五中布局方式:
摘要:五中布局方式: 布局结构中可以嵌套布局结构,完成负责的控件设计 1. abslayout 绝对布局:用于描述控件在屏幕上的坐标(x,y)左上角为(0,0) 2. 相对布局:根据各子元素相对位置关系决定,经常和线性布局搭配使用, 3. 帧布局:默认在左上角,后续控件会覆盖前面控件,不常用 4.线性控件:按照水平或垂直方向依次排列控件 android:orientation=”vertical”...
阅读全文
posted @
2019-06-06 16:51
黑箱
阅读(150)
推荐(0)
1 按钮响应事件有四种方式
摘要:添加按钮响应事件有四种方式: 1. 自定义类 实现接口:implements OnClickListener 在MainActivity的 onCreate()中通过控件对象调用 SetOnclickListener方法 方法在自定义的类中实现 2.MainActivity继承Activity类 在
阅读全文
posted @
2019-06-06 16:46
黑箱
阅读(1386)
推荐(0)
4 CVE-2012-0158 漏洞分析
摘要:操作系统:Windows7 32位 专业版 Office:2003sp3_20120218.exe 工具:OD和IDA 1.漏洞的本质:程序编写时未对内存拷贝函数的长度参数进行足够严谨的验证,造成的堆栈缓冲区溢出。 2漏洞分析: 1.获取poc: 网络下载 2.漏洞复现 安装office2003 s
阅读全文
posted @
2019-06-06 15:19
黑箱
阅读(730)
推荐(0)
3 CVE-2017-11882漏洞分析
摘要:CVE-2017-11882漏洞分析 操作系统:Windows7 32/64位 专业版、Linux 软件:office 2003 sp3 工具:OD、IDA、Python模块、msfconsole 1漏洞分析: https://github.com/embedi/CVE-2017-11882 下载即
阅读全文
posted @
2019-06-06 15:12
黑箱
阅读(944)
推荐(1)
2 勒索病毒分析
摘要:病毒详细信息: 1.头信息: 2.区段信息: 2病毒行为: 病毒在运行后会将自身删除,并在c盘文档下生成tvoxbg.exe 3病毒代码分析 根据病毒的行为,创建内存,写入恶意代码,代码执行。所以对OD下API断点,对VirtualAlloc、VirtualAllocEx、CreateProcess
阅读全文
posted @
2019-06-06 15:09
黑箱
阅读(463)
推荐(0)
1 熊猫烧香病毒分析
摘要:1. 样本概况 熊猫烧香,会自动感染系统中的EXE文件,修改文件图标不能再次打开。典型的FSG2.0加密文件,使用的Borland Delphi 6.0 - 7.0进行编写 1.1 样本信息 病毒名称:哈希值 所属家族:Virus MD5值:512301C535C88255C9A252FDF70B7A03 SHA1值:CA3A1070CFF311C0BA40AB60A8FE3266CFEFE870...
阅读全文
posted @
2019-06-06 15:06
黑箱
阅读(2108)
推荐(0)
在练习中一些问题
摘要:### 1. Python 2.7 中 print "..." 没有问题 但在 3.5 中报错 因为没有 () Python 3.5 中 print ("...") 没有问题 print "..." 报错 ### 2. Python 中 "" 和 ' ' 一样但是 ' ' 常用来创建简短的字符串 print end1 + end2 + end3 ...
阅读全文
posted @
2019-06-06 11:18
黑箱
阅读(133)
推荐(0)
6 Linux用户和用户组管理
摘要:Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户都必须首相像系统管理员申请账号,然后以这个账号身份进入系统 每个用户账号都拥有一个唯一的用户名和各自的口令 用户在登陆时键入正确的用户名和口令后,就能够进入系统和自己的主目录 实现用户账号的管理: 1.用户账号的添加、删除、修改 2.用户口令的管理 3.用户组的管理 Linux系统用户账号的管理...
阅读全文
posted @
2019-06-06 11:13
黑箱
阅读(128)
推荐(0)
5 LInux系统目录结构
摘要:ls /显示根目录下的文件 /bin bin是Binary的缩写,这个目录存放着经常使用的命令 /boot 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 /dev 是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的 /etc 用来存放所有系统管理所需要的配置文件和子目...
阅读全文
posted @
2019-06-06 11:10
黑箱
阅读(127)
推荐(0)
4 Linux文件与目录管理
摘要:Linux的目录文件结构为树状结构,最顶级目录为根目录 / 其他目录通过挂载可以将他们添加到树中,通过解除挂载可以移除他们 绝对路径: 根目录开始 eg: /usr/share/doc 相对路径: 不由根目录开始 eg: 。。/man 处理目录的常用名利 ls:列出目录 -a:全部的文件,连同隐藏档(开头为.的文件)一起列出来 -d:仅列出目录本身,而不是列...
阅读全文
posted @
2019-06-06 11:02
黑箱
阅读(97)
推荐(0)
3 Linux文件基本属性
摘要:Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为保护系统的安全性,Linux系统对不同的用访问的同意文件(包括目录文件)的权限做了不同的规定eg: [root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 De
阅读全文
posted @
2019-06-06 11:01
黑箱
阅读(120)
推荐(0)
2 Linux磁盘管理
摘要:Linux磁盘管理:磁盘管理好坏直接关系到整个系统的性能问题常用三个命令:df、du、fdiskdf:列出文件系统的整体磁盘使用量 df 参数 目录或文件名 -a:理出所有文件系统,包括系统特有的 /proc等文件系统 -k:以KBytes的容量显示文件系统 -m;以MBytes的容量显示各文件系统
阅读全文
posted @
2019-06-06 10:58
黑箱
阅读(107)
推荐(0)
1 Ubuntu 破解帐户密码
摘要:1. 重启Ubuntu 长按shift进入grub界面 2. 选择recovery mode模式,进入Recovery Menu界面选择 root Drop to root shell prompt 3. 查看用户名 cat/etc/shadow 4. 修改密码:passwd 用户名 a) 重复两次
阅读全文
posted @
2019-06-06 10:52
黑箱
阅读(632)
推荐(0)
Java梗概
摘要:Java平台:J2SE(桌面)、J2ME(逐渐被android取代)、J2EE(企业级针对web程序) Java是在JVM虚拟机上运行,跨平台本质是在不同平台上运行JVM虚拟机 JRE = JVM+核心类库 JDK是Java开发使用的,包含java的开发工具 JDK=JRE+JAVA开发工具 通过文
阅读全文
posted @
2019-06-05 21:48
黑箱
阅读(170)
推荐(0)
15 Android系统安全(简要)
摘要:Android的用户和第三方软件,Android组件和数据安全 手机root后的问题:1.系统不稳定,2.病毒入侵,3.数据泄露 Root原理: Root分两类:1。临时root,2。永久root Root后的问题:1。系统不稳定,2。易中毒,3。隐私泄露 Android权限检查机制:没有权限而执行
阅读全文
posted @
2019-06-04 23:21
黑箱
阅读(425)
推荐(0)
Dalvik虚拟机结构——1
摘要:Dalvik核心内容:libdvm.so 主要有C语言实现,依赖于Linux内核的一部分功能:线程机制,内存管理机制,每一个Android应有都对应一个dalvik实例 Dalvik虚拟机功能:主要完成的 对象的生命周期管理,堆栈管理,安全和异常管理,垃圾回收 Dalvik虚拟机对:线程管理,类加载
阅读全文
posted @
2019-06-04 21:02
黑箱
阅读(307)
推荐(0)
5.2 odex文件
摘要:odex是OptimizedDEX的缩写,是优化过的dex文件 odex两种存在方式: 1. 从apk程序中提取,和apk文件放在一起,后缀 odex,此类文件多是AndroidRom系统文件 2. 在cache/dalvik-cache缓存文件,后缀 dex a) Eg:system@app@ca
阅读全文
posted @
2019-06-03 13:50
黑箱
阅读(1776)
推荐(0)
5.1 dex文件解析
摘要:1.DexHeader结构体占用0x70字节,源码位置 dalvik\libdex\DexFile.h文件中269/* 270 * Direct-mapped "header_item" struct. 271 */ 272struct DexHeader { 273 u1 magic[8]; /*
阅读全文
posted @
2019-06-03 10:05
黑箱
阅读(573)
推荐(0)
3 Dalvik基础知识
摘要:Dalvik汇编基础知识: Dalvik指令:由位描述+指令格式标示 位描述: 1. 每16位空格隔开 2. 每个字母表示4位,每个字母按从高字节开始,排列到低字节。每四位之间可用 | 分开表示不同内容 3. 顺序采用A~Z单个大写字母作为一个4位操作码,op表示一个8位操作码 4. Ø表示这字段所
阅读全文
posted @
2019-06-03 10:01
黑箱
阅读(498)
推荐(0)
8 smali文件格式
摘要:Apktool反编译apk后程序中每一个类都会有一个smali文件。 一、当前类信息:smali文件的头三行描述了当前类的一些信息。 Eg: .class <访问权限> [修饰关键字]<类名> .super<父类名> .source<源文件名> 根据DexClassDef结构解析获取三个字段的信息
阅读全文
posted @
2019-06-03 09:06
黑箱
阅读(1088)
推荐(0)
5 dex文件
摘要:Dex文件中数据结构 类型 含义 u1 等同于uint8_t,表示1字节无符号数 u2 等同于uint16_t,表示2字节的无符号数 u4 等同于uint32_t,表示4字节的无符号数 u8 等同于uint64_t,表示8字节的无符号数 sleb128 有符号LEB128,可变长度1~5字节 ule
阅读全文
posted @
2019-06-02 23:34
黑箱
阅读(274)
推荐(0)
13 ARM指令集与Thumb指令集
摘要:指令格式 ARM基本格式 <opcode>{<cond>}{S}{.W|.N}<Rd>,<Rn>{,<operand2>} opecode:指令助记符 cond:执行条件 助记符 标志 含义 EQ Z=1 相等 NE Z=0 不相等 CS/HS C=1 无符号数大于或等于 CC/LO C=0 无符号
阅读全文
posted @
2019-06-02 20:11
黑箱
阅读(815)
推荐(0)
12 ARM汇编
摘要:Android系统采用java作为平台软件基础开发语言,NDK使Android平台可以运行C/C++代码这些代码汇编成ARM的elf可执行文件。 原生程序生成过程 经历4步:1。预处理2。编译3。汇编4。链接 经过第2步编译后C代码变成ARM汇编代码,NDK支持直接使用ARM汇编编写的 .s文件 A
阅读全文
posted @
2019-06-02 20:09
黑箱
阅读(255)
推荐(0)
补充1:IDA的脚本IDC语言
摘要:1。IDA脚本的打开与使用: IDA脚本两种语言:IDC(IDC,本地脚本语言)和Python 2。IDC语言介绍 1。IDC变量:IDC是一种松散的语言,没有明确的类型。使用3中数据类型,整数(IDA文档使用类型名称long)、字符串、浮点值。绝大部分的操作是针对整数和字符串。 因为字符串被视为I
阅读全文
posted @
2019-06-02 20:06
黑箱
阅读(576)
推荐(0)
7 静态分析Android
摘要:静态分析两种方式: 1. 阅读反汇编的Dalvik字节码:使用IDA 分析dex文件或baksmali反编译的smali文件 2. 阅读反汇编的Java源码:使用dex2jar生成jar文件,用jd-gui阅读jar文件 每个apk文件中都含有一个AndroidManifest.xml文件,被加密存
阅读全文
posted @
2019-06-02 20:04
黑箱
阅读(209)
推荐(0)
位运算的原理和应用
摘要:6种位运算操作 &:按位 与 and |:按位 或 or ^:按位 异或 xor ~:按位 取反 not <<:左移 >>:右移 1.按位 与 & 原理:都为1结果为1,否则为0 用途:将字节中的某一位或某几位设置为0。同时不影响其他位的操作 和0xFFFF与操作 不改变原来数据 Eg:16位,和0
阅读全文
posted @
2019-06-02 20:00
黑箱
阅读(560)
推荐(0)
4 Android可执行文件
摘要:APK是Android Package缩写,使用zip解压文件即可打开。每个APK文件中都包含一个class.dex文件(odex过的APK文件除外)。class.dex文件就是Android系统Dalvik虚拟机的可执行文件 Android工程的打包方式两种: 1. Eclipse集成开发环境直接
阅读全文
posted @
2019-06-02 19:59
黑箱
阅读(543)
推荐(0)
2 Android程序的执行
摘要:Android系统采用的是分层架构,分四层: 1. Applicitations:应用层 2. Applicitation Framework:架构层 3. Libraries:类库层 4. Linux Kernel:Linux内核层 执行流程: Zygote三种创建进程的方法: 1. frok()
阅读全文
posted @
2019-06-02 19:57
黑箱
阅读(125)
推荐(0)
1 Dalvik和Java虚拟机
摘要:Dalvik虚拟机特点: 1. 体积小 2. DEX格式可执行文件,相比java运行速度快 3. 常量池采用32位索引值 4. 提供对象生命周期,堆栈,线程,权限,异常等管理 5. Android系统里每个进程对应一个Dalvik虚拟机 Dalvik虚拟机和Java虚拟机区别: 1. Java虚拟机
阅读全文
posted @
2019-06-02 19:55
黑箱
阅读(155)
推荐(0)
Nexus6p手机root和安装xposed
摘要:进行root前需要两个前提条件 进入开发者选项:设置-〉关于-〉一直点版本号会出现,usb调试打开 手机连接pc命令行输入: adb reboot bootloader 进入bootloader模式 fastboot oem unlock(无效尝试:fastboot flashing unlock)
阅读全文
posted @
2019-06-02 19:47
黑箱
阅读(958)
推荐(0)
Eclipse apk项目创建和项目构架
摘要:一、创建项目工程 设定名字 设定包名(每一台机器只有唯一的包名)下一步 根据设置进行选择 创建空项目 Finish即可创建 调节项目的字体 二、Eclipse 项目构架 2. Gen R.java文件中代码 Android(版本号) bin res AndroidMainifest.xml 描述了a
阅读全文
posted @
2019-06-02 19:39
黑箱
阅读(232)
推荐(0)
Android.mk文件和Application.mk文件详解
摘要:Android.mk文件和Application.mk文件详解 相同点:都是轻量级 Makefile(Makefile文件定义一些列指令,指定文件编译顺序,类似shell脚本) Application: 位置:通常在 $PROJECT/jni目录下 作用:配置所有modules的编译变量在 APP_
阅读全文
posted @
2019-06-02 19:36
黑箱
阅读(2393)
推荐(0)
NDK简介
摘要:一、NDK简介: C/C++的动态库。Dalvik通过JNI编程方式调用C/C++代码。 NDK编程提高软件性能,加密保护APK文件 ndk-build NDK编译生成脚本 Java编译时会根据java声明文件生成dex文件,即使没有java代码 NDK共享库:NDK生成的 .so文件(类似dll)
阅读全文
posted @
2019-06-02 19:31
黑箱
阅读(2032)
推荐(0)
SDk编程基础
摘要:一、Android简介: 由Andy Rubin开发, 常用手机版本:谷哥:Nexus、华为:EMUI、魅族:Flyme Adnroid是运行在Java虚拟机(JVM)上大部分免费的开源的、应用通过权限控制很容易获取用户敏感信息。 二、Android系统框架: Android虚拟机dalvik与JV
阅读全文
posted @
2019-06-02 11:27
黑箱
阅读(653)
推荐(0)