- 博客(27)
- 资源 (3)
- 收藏
- 关注
原创 如何把android设备中的固件dump出来
android固件是在mtdblock中, 但是会有很多个block,root@android: # cat /proc/partitionsmajor minor #blocks name 31 0 4096 mtdblock0 31 1 16384 mtdblock1 31 2 16384 mtd...
2020-03-04 16:39:58
1212
原创 Android应用安全检测工具简介
Android应用安全检测工具简介1、测试工具集Appie – 轻量级的软件包, 可以用来进行基于Android的渗透测试, 不想使用VM的时候可以尝试一下.Android Tamer – 可以实时监控的虚拟环境, 可以用来进行一系列的安全测试, 恶意软件检测, 渗透测试和逆向分析等.AppUse – AppSec Labs开发的Android的虚拟环境.Mobisec – 移...
2020-03-04 16:36:07
2613
原创 Android APP漏洞自动化静态扫描检测工具-Qark环境搭建与使用
QARK1、qark简介LinkedIn最近开源了他的静态分析工具QARK,该工具用于分析那些用Java语言开发的Android应用中的潜在安全缺陷。QARK 全称 Quick Android Review Kit。这个工具用来寻找与 Android 应用相关的安全漏洞,包括检查源代码和打包的 APKs。这个工具还可以创建“Proof-of-Concept”可部署的 APKs 或 ADB ...
2020-03-04 16:35:07
4237
原创 URI解析和代码提取
1、URI=“http://www.java2s.com:8080/yourpath/fileName.htm?stove=10&path=32&id=4#harvic”getScheme() :获取Uri中的scheme字符串部分,在这里即,http getSchemeSpecificPart():获取Uri中的scheme-specific-part:部分,这里是://...
2020-03-04 16:31:18
944
原创 Android动态分析工具-Inspeckage
1.Inspeckage简介Inspeckage是一个用来动态分析安卓app的xposed模块。Inspeckage对动态分析很多常用的功能进行了汇总并且内建一个webserver。整个分析操作可以在友好的界面环境中进行。2.下载地址Inspeckage(Package Inspector)是一个简单的应用程序(apk),通过一个内部HTTP服务器提供友好的网页界面,作为Xposed框...
2020-03-04 16:27:22
3367
2
原创 GDB调试常用技术
GDB在调试常用技术1.调试崩溃时的应用或者进程linux可以通过如下命令开启core dump功能:ulimit -c unlimitedsudo sh -c 'echo "/tmp/core.%t" > /proc/sys/kernel/core_pattern'开启core dump之后,进程崩溃时会产生一系列/tmp/core*的文件Android中应用程序崩溃...
2020-03-04 16:19:17
1836
原创 C/C++漏洞白盒检测工具-Valgrind安装和使用
Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:Valgrind包括如下一...
2020-03-04 16:16:28
446
原创 如何在Activity中获取调用者
在Activity中获取调用者身份,有两个作用:一个是用于安全验证,另一个是:记录调用日志,便于在后续分析日志,发现非法调用。Android中有如下API 可以实现获取调用者: Binder.getCallingUid()和Binder.getCallingPid(),然后根据uid,pid查找到包名 Activity的getCallingPackage()和getCa...
2020-03-04 16:14:55
1420
原创 自己实现Binder的onTransact完成跨进程通信
Android可以通过Binder来实现异步通信,实现方式有两种:一种是通过AIDL(系统会实现onTransact),另一种是:通过自己的实现的onTransact方法来完成通信,其中第一种的还原可以参考之前的博文:Android中Binder安全性和还原逆向中被混淆的AIDL接口。本文讲述如何通过自己实现Binder的onTransact完成跨进程通信,可以帮助逆向分析。服务端:...
2020-03-04 16:13:50
1177
原创 Android中Binder安全性和还原逆向中被混淆的AIDL接口
1、逆向发现某APP通过某Service定义AIDL接口,通过Binder对外提供可以操作的API: package com.***.plugin; import android.app.Service; import android.content.Context; import android.content.Intent; import android.o...
2019-09-16 15:22:05
1188
原创 通过BurpSuite抓https网站数据包时firefox提示MOZILLA_PKIX_ERROR_MITM_DETECTED
通过burpsuite代理,进行http抓包时提示“MOZILLA_PKIX_ERROR_MITM_DETECTED”,原本以为是burpsuite证书未被导入firefox系统证书里导致的,结果查看证书系统列表中,已经包含了自定义证书,但是还是报错,经排查需要给导入的证书设置,勾选如下选项:...
2019-08-06 13:05:53
1441
原创 嵌入式设备上如何通过端口号定位到进程
在linux相关设备上经常会需要判断“进程打开了哪些端口,某端口是哪个进程打开的”相关信息,下面来看下如何获取这些信息。注:"进程打开了哪些端口"与“某个端口属于哪个进程/线程”信息收集过程相近,只看“某个端口属于哪个进程/线程”情况。通过我们会直接通过netstat -tunlp这个命令搞定,但是嵌入式设备上却不支持-p选项。1.netstat查看端口嵌入式设备上netstat命令不...
2019-05-09 14:12:58
1629
原创 Linux C/C++实现https post/get请求
Linux C/C++要实现https访问借助于libcurl工具,如果是实现自定义SSL证书通信校验的,可以通过C调用openssl来实现,也可以通过libcurl来。记得linux上提前安装好openssl库。1.编译安装libcurlcurl库的代码下载地址:https://curl.haxx.se/download.html第一步:进入curl工程目录执行./buidconf产...
2019-02-28 21:13:35
11800
5
原创 修改Bash源码进行bash命令执行监控
从bash4.1 版本开始,bash开始支持Rsyslog,所以我们需要下载bash4.1以后版本,这里以bash4.4为例bash源码下载地址: https://ftp.gnu.org/gnu/bash/共计需要修改两处源码:1.先修改bashhist.c该源码文件和linux history记录处理相关#if defined (SYSLOG_HISTORY)#defi...
2019-02-21 16:24:32
1265
原创 在Linux上Hook系统函数execve获取执行参数-Rootkit
在Linux上Hook系统函数execve获取执行参数根据linux系统在32位平台还是64位平台分别进行了hook代码的编写和测试,该功能是常见的rootkit技术针对32位平台的Hook代码如下,已经在ubuntu12.04上测试过:/** This kernel module locates the sys_call_table by scanning* the syste...
2019-01-25 20:37:43
3004
2
原创 AES-GCM算法
AES-GCM算法简介AES-GCM算法是带认证和加密的算法,同时可以对给定的原文,生成加密数据和认证码。参数如下:1)带加密的原文、2)存储加密后密文、3)IV向量、4)生成的消息验证码tag、5)额外的消息认证数据aad,通信双方需要共享;整个AES-GCM算法代码如下:#include <stdio.h>#include <string.h>#i...
2019-01-16 17:18:02
17417
2
原创 移动安全Tips
1.android如何判断手机CPU是32位还是64位的?adb shell getprop ro.product.cpu.abi
2018-10-10 15:37:40
277
原创 LinuxC编程之IO-通过lseek对文件进行读写
1.相关API1)open函数int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);2)read和write函数#include ssize_t read(int fd, void *buf, size_t count);ssize_t w
2017-04-19 15:31:44
2140
原创 Linux C编程之IO-文件拷贝
Linux C编程:IO1.1文件拷贝本次文件拷贝需要使用到如下三个函数原型:打开文件FILE * fopen(const char * path,const char * mode);相关函数:open,fclose,fopen_s,_wfopen返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。 读、写文件#inclu
2017-04-17 23:49:14
2231
原创 Golang写Post请求并获取返回值
直接上代码,其中可以在下面代码中添加 package mainimport ( “fmt” “net/http” “io/ioutil” “net/url” )func main() { //需要post的数据,以key-value形式提交 data := make(url.Values) data[“appId”]
2016-12-29 20:17:51
13025
原创 Android APK实现WIFI协议包抓取(上)-实现思路
一次偶然的机会听到一个需求,甲方希望能在手机上实现一个APK,这个APK能够记录附近WIFI的站点信息,然后由强到弱抓取WIFI协议包,转送到云端进行WIFI破解。大致调研了几天,实现思路如下: 1. 准备工具-nexus 4手机,root后,在手机上安装busybox和tcpdump工具。 busybox的下载地址是:https://busybox.net/downloads/binarie
2015-12-09 00:14:33
9386
原创 exception in thread main brut.androlib.err.undefinedresobject resource spec : 0x01010462
今天使用APKTool反编译APK是报错:exception in thread main brut.androlib.err.undefinedresobject resource spec : 0x01010462,解决办法如下: 删除C:\Users\当前用户\apktool\framework下的1.apk即可。(后面会自动重新生成这个1.apk这个文件)
2015-08-11 20:54:12
2472
原创 Android NDK学习记录(二):C/C++调用Java代码
Android NDK学习记录C/C++调用Java代码undefined reference to `_JNI_CreateJavaVM’ cannot find -ljvm
2015-07-15 16:09:20
554
原创 Android NDK(JNI)学习总结一:Java代码中申明native函数-Java调用C函数,并在C函数中访问java类和方法、属性
本文不涉及android-ndk开发环境搭。步骤一:新建一个APP,名称为HelloJNI,然后定义一个类(将会在native代码中调用和访问该类):/* * mynative.cpp * * Created on: 2015-7-13 * Author: daizy */#include "com_example_hellojni_MainActivity.h"#incl
2015-07-14 17:31:53
1874
转载 dx:trouble processing: bad class file magic (cafebabe) or version (0033.0000)
出现这个错误的原因是jdk版本不对,javac编译时,强制转换成1.6版本的class 使用的到的命令就是javac -source 1.6 -target 1.6 ****.java(****代表了你的java文件名称) 具体步骤演示如下: 1.编写一个java文件 2.使用javac命令:javac -source 1.6 -target 1.6 **
2015-06-11 11:25:35
2029
原创 android平台下运行dx.bat,提示“系统找不到指定路径”
今天学习了一下android加载技术,当用到dx重新打包工具时,提示“系统找不到指定路径”,google半天,没找到遇到这个错误的。下面来说一下我的解决过程:1.首先确保了安装了 android sdk开发工具,并且adb这些常用可以使用。(我的这些功能都是正常的)2.在gogole的时候查到一个解决“启动sdk时,无法找到系统指定路径’,这里面的解决办法是:在sdk\to
2015-01-16 15:46:01
3854
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人