自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明风的博客

share your ideas

  • 博客(216)
  • 资源 (29)
  • 收藏
  • 关注

原创 android 反调试 实践(1)

(一)xposed 检测1. 每一个被hook的进程,都会将xposed 的相关库文件和jar 文件加载到相应的进程空间中,如图:这里看到进程空间中加载了1)app_process32_xposed2)libxposed_art.so3)XResourcesSuperClass.dex既然能看到,一般的应用都会使用读取maps 文件的方法检测到,如何规避呢:1)刷机...

2019-05-31 09:42:42 1117

转载 setsockopt和getsockopt函数详解

备注:本文非楼主原创,是楼主在网上发现的。。写的不错,存起来,以备后用功能描述:获取或者设置与某个套接字关联的选项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应...

2019-01-26 18:43:44 2596

原创 android native 调试 打印调用栈

在调试 android 某些应用时,需要打印调用栈, 但是高版本的5.0 以上已经去掉了libcorkscrew.so 和 libcutils.so 两个库,改用其他的google 库文件,但是可以使用andorid 4.4 , 4.3 系统使用。使用时可以直接调用 getCallStack()该方法即可。android 6.0 可用 typedef int (*Unw_Bac...

2019-01-21 15:56:20 3439

原创 数据库 wal 模式 分析

对于以下错误的解决思路 看我的另外一篇文章https://blog.csdn.net/tianxuhong/article/details/78752357 android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (code 14) ▼ 目录1.概述2...

2019-01-04 11:17:39 5529 1

原创 android 复制文件夹, 复制文件

package uusafe;import android.util.Log;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStrea...

2018-08-23 10:18:41 4190

原创 linux c 网络,获取本地可用的端口号,判断网络是否连通

//// Created by darren on 18-8-22.//#include <netdb.h>#include <errno.h>#include <string.h>#include <arpa/inet.h>#include <fcntl.h>#include <unistd.h>i...

2018-08-23 09:57:50 3605

原创 linux c 网络编程, 常用网络函数,范例

hstrerror返回网络错误原因的描述字符串相关函数:herror表头文件:#include <netdb.h>函数定义:const char *hstrerror(int err)函数说明:hstrerror()用来依参数err的错误代码来查询socket错误原因的描述字符串, 然后将该字符串指针返回返回值 :返回描述错误原因的字符串指针范例:/*显示错误代码0到...

2018-03-14 10:00:59 837

转载 解密微信数据库文件解析

图解说明:微信大量数据存储在本地比如:联系人(包含好友地区、电话、通过那种方式添加)、聊天内容(图片、文字、语音、视频、位置、名片、其他app分享链接)、聊天室、收藏信息、朋友圈内容(包含好友详情、点赞、评论);摇一摇、附近人、最近联系人、好友请求、图片存放路径;微信内置的表情包;如联系人:聊天信息其他表工具:ES文件浏览器(在各大app市场上都可以下载,在这个app 菜单中打开“root工具箱”...

2018-03-05 09:37:34 69345 34

原创 linux 判断是否是合法ip,根据域名获取ip

//// Created by darren on 18-1-31.//#include #include #include #include #include #include bool isValidIP(const char *ipstr);int get_ip_by_domain(const char *domain, char *ip);void test_

2018-01-31 14:41:59 2030

原创 System.err: android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file (c

12-08 15:10:17.278 30336 30351 E SQLiteLog: (14) cannot open file at line 31289 of [5a3022e081]12-08 15:10:17.278 30336 30351 E SQLiteLog: (14) os_unix.c:31289: (2) open(/data/user/0/com.xxx.xxxx/

2017-12-08 16:05:54 2487

转载 android 反编译apk ,修改apk ,smail,插桩

近期遇到了需要修改apk源码的问题,于是上网查了下相关资料,编写了HelloWorld进行修改看看可行性,经过实验证明此方案可行,并且后来也成功用这个方法对目标apk进行了修改,只不过需要修改的部分比HelloWorld复杂些,但是只要了解下smali也能进行相关的修改,下面讲下具体的步骤,文中所用到的资源会在文章的结尾给出,感兴趣的可以下载试试。    首先介绍下要用到的工具:j

2017-11-15 10:05:41 1763

原创 andorid 自定义log存入文件

//// Created by darren on 17-10-9.//#include #include #include #include #include #include #include #include "5.log.h"#define PROCESSNAME "log.tmp"#define MAXBUFSIZE 1024int get_curren

2017-10-11 09:31:48 479

转载 android 调试方法

8大你不得不知的Android调试工具我们今天将讨论的是8大你不得不知的Android调试工具,这些工具部分属于系统自带,也是一种方式方法,希望对大家有所帮助。作者:佚名来源:博客园|2010-08-27 10:40 移动端 收藏  分享1. 查看当前堆栈1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系2) 方法:

2017-09-08 15:22:46 769

原创 父进程异常退出时, 杀死所以子进程

#include #include #include #include #include #include void my_system(const char*cmd){ pid_t pid; pid = fork(); if (pid == 0) { prctl(PR_SET_PDEATHSIG, SIGHUP);

2017-09-06 15:35:04 3450

原创 android 调试技巧

一. 获取Trace调用栈信息(Trace)是分析异常经常使用的,这里简单划分两类情况:    当前线程Trace: 当前执行流所在线程的调用栈信息;    目标进程Trace:可获取目标进程的调用栈,用于动态调试;1.1 当前线程Trace1) Java层Thread.currentThread().dumpStack();   //方法1Log.

2017-08-28 10:34:12 573

转载 Android插件化原理解析——ContentProvider的插件化

Android插件化原理解析——ContentProvider的插件化 发表于 2016-07-12   |    |   8700次阅读 目前为止我们已经完成了Android四大组件中Activity,Service以及BroadcastReceiver的插件化,这几个组件各不相同,我们根据它们的特点定制了不同的插件化方案;那么对于ContentProvider,它又有什

2017-08-08 16:56:54 405

原创 android 反射 记录

private static String audioParse(byte[] msgData) { try { // Object o = BUtils.getObj(msgData); Class cls = Class.forName("localpb.richMsg.RichMsg$PicRec"); Object haha = cls

2017-07-20 15:20:32 416

转载 DNS协议详解及报文格式分析

DNS协议详解及报文格式分析Posted on 2017-06-18by Jocent— No Comments ↓目录一. DNS协议理论知识1.1. 域名结构1.2. 域名服务器1.3. 域名解析过程二. DNS协议报文格式2.1 头部2.2 正文三. Wireshark分析DNS协议3.1 请求报文3.2 响应报文

2017-07-10 14:38:12 110777 11

原创 反射获取其他apk中类的变量和方法

反射获取其他apk中类的变量和方法

2017-06-12 18:35:43 2752

转载 RxJava 使用场景小结

RxJava 使用场景小结RxJava 2015-12-16 08:24:50 发布您的评价:     0.0很差    0收藏原文  http://android.jobbole.com/82241/  取数据先检查缓存的场景 取数据,首先检查内存是否有缓存 然后检

2016-12-06 19:34:49 463

原创 jni开发需要注意的问题:

jni开发需要注意的问题:背景: 最近一个月一直在做移植库的工作,将c代码到share library移植到Android平台。这就涉及到Android NDK(native develop kit)内容。这里只想记录下JNI(Java native interface)经常遇到到问题。   问题1.  忘记delete local reference。带New到方法(如:NewByt

2016-11-25 17:54:39 1540

原创 java 中的空指针,不为空,的理解

一、null是代表不确定的对象 Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 比如:int a = null;是错误的。Ojbect o = null是正确的。 Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这

2015-11-13 10:05:59 5423 2

原创 关于android 深度睡眠的认识

刚在做手机自动化测试的过程中,发现手机深度睡眠后会出现以下问题先来了解一下Windows下的睡眠功能:电脑在 睡眠状态时,将切断除内存外其他硬件配件的电源,工作状态的数据将保存在内存中,这样在重新唤醒电脑时,就可以快速恢复睡眠前的工作状态。 Linux系统下的睡眠功能:Linux操作系统的睡眠有两种方式:mem和standby ,这两种方式都是suspend to RAM,

2015-10-27 11:27:33 7147

原创 动态申请内存,释放出现错误

*** glibc detected *** ./a.out: free(): invalid next size (fast): 0x0000000000ae0010 ***======= Backtrace: =========/lib/x86_64-linux-gnu/libc.so.6(+0x7e846)[0x7fed53fd1846]./a.out[0x4006db]/l

2015-09-18 10:02:07 1913

原创 记录一个指针问题(内存空间的初始化)

首先正确理解一下例子。    void test(){        char *str[]={"welcome","to","fortemedia","Nanjing"};          char * * p=str+1;     //p指向 "to"字符串地址          printf("%s\n",str[0]);          printf("%s

2015-09-17 15:15:32 1008

转载 Android开发之动态库调用

1.编写并生成Android下可用的动态库(1)编写动态库源程序文件    这里以my_add.c为例。首先进入/home/android/development/,该目录下创建文件夹lib_test,更爱该目录的权限后进入该目录。依次执行    # cd /home/android/development    # mkdir lib_test    # chmod 77

2015-08-21 10:05:37 1273

原创 一个经典的消费者和生产者的实现(linux )

#include  #include  #define BUFFER_SIZE 16 // 缓冲区数量      struct prodcons      {          // 缓冲区相关数据结构          int buffer[BUFFER_SIZE]; /* 实际数据存放的数组*/          pthread_mutex_t lock; /*

2015-08-17 16:58:09 1115

原创 主线程和子线程的同步控制

一个线程的结束有两种途径,一种是象我们下面的例子一样,函数结束了,调用它的线程也就结束了;另一种方式是通过函数pthread_exit来实现。另外需要说明的是,一个线程不能被多个线程等待,也就是说对一个线程只能调用一次pthread_join,否则只有一个能正确返回,其他的将返回ESRCH 错误。在Linux中,默认情况下是在一个线程被创建后,必须使用此函数对创建的线程进行资源回收,但是可以设

2015-08-17 13:45:35 4972 1

原创 java 调用 库文件错误查找方法

第一步首先找到 backtrace:关键字,然后找到都应的库文件 出错的地方 pc 0000088b  /system/lib/libNDK_04.so (SayHello+98),08-13 17:08:28.041 I/DEBUG   (  163): backtrace:08-13 17:08:28.041 I/DEBUG   (  163):     #00  pc 000

2015-08-13 17:55:48 1127

原创 java.lang.UnsatisfiedLinkError: Couldn't loadXX from loader dalvik.system.

java.lang.UnsatisfiedLinkError: Couldn't load NDK_04 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.duicky-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.duicky-1,

2015-08-13 16:44:06 5803

转载 android源码编译apk集成第三方so库

一般编译android应用,生成apk,有以下几个方法:    1.传统的在eclipse平台下编译生成apk,这种情况下,需要指定android sdk,通过eclipse编译生成apk,编译的apk拥有较低级别的用户级别权限,可能有些底层操作没有权限实现,比如部分system调用,访问系统文件目录等。如果存在jni调用,则需要创建jni目录,并在jni目录里面创建android.mk,通过

2015-08-13 16:39:06 11477

转载 NDK 开发

为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于移植,用C/C++写得库可以方便在其他的嵌入式平台上再次使用。下面就介绍下Android NDK的入门学习过程:入门

2015-08-13 16:05:18 620

原创 android jni 调用

android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C /C++库文件以及调用C/C++方法。android Java部分代码:/* * Copyright (C) 2008 The Android Open Source Project * *

2015-08-13 16:01:56 1205

原创 jni 调用 例子

JNI允许程序员编写的本地方法处理的情况下,当一个应用程序不能完全在Java编程语言编写的,例如当标准Java类库不支持平台特定的功能或程序库。它也用来修改在另一种编程语言编写的应用程序中的一个现有的应用程序,以访问爪哇应用程序。许多标准库的类依赖于JNI的开发者和用户提供的功能,例如文件I / O和声音功能。包括性能和平台敏感的标准库中的实现,允许所有的应用程序访问此功能的安全和平台无关的方式。

2015-08-13 15:00:22 811

转载 socket 编程实例

服务器部分:#include     // for sockaddr_in#include     // for socket#include     // for socket#include         // for printf#include         // for exit#include         // for bzero/*#inc

2015-08-12 14:02:43 584

转载 android httpClient 支持HTTPS的2种处理方式

android httpClient 支持HTTPS的2种处理方式问题: 项目中Android https或http请求地址重定向为HTTPS的地址,相信很多人都遇到了这个异常(无终端认证): javax.net.ssl.SSLPeerUnverifiedException: No peer certificate解决过程: 1.没遇到过的问题,搜索

2015-08-11 14:10:46 2221

转载 Linux网络编程入门

(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端        在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一        个地方获取文件的时候,是我们的

2015-07-10 15:18:38 635

转载 推荐一款加密解密的算法,用于简单数据的传输。

package TestCodeAndEnCode;  public class SecBase64 {      private static final byte[] encodingTable = { (byte) 'A', (byte) 'B',              (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (by

2015-07-06 11:02:37 744

转载 android studio快捷键集合

itemCtrl+P  查看变量参数信息,也就是看变量是哪种类型  \item Ctrl+B  查找该变量的定义位置。  \item Ctrl+Q  查找快速文档,即在另外一个窗口中打开其声明  \item Alt+Shift+C  查看工程最近更改的地方  \item Ctrl+space  自动完成代码  \item Ctrl+shift+Enter  自动填充表达式如

2015-07-01 10:28:56 683

转载 使用Android Studio查看Android Lollipop源码

Android Studio作为Google的亲儿子,Nexus手机系列所收到的待遇大家有目共睹.Android5.0出来之后,Nexus5第一时间就升级到了最新的系统.那么作为Google亲儿子的Android Studio同样备受Google的重视,我也是第一时间从Eclipse转投到了Android Studio的怀抱中,从最初的测试版本一路升级到现在的1.0正式版本(今天发布了1.0.

2015-06-25 15:05:20 2379 4

open ssl demo example (证书自带)

open ssl demo 完整的例子, 适合入门, 简单易懂,有解释说明 open ssl demo example (证书自带)

2019-01-28

com.alibaba.fastjson.JSON , net.sf.json.JSONObject

开源最新的json 库文件。json-lib-2.4-jdk15, fastjson-1.2.2

2018-08-22

OkHttp 例子

使用了okhttp-2.4.0和okio-1.4.0.jar两个jar实现了图片的下载。

2016-02-03

json.jar jdk_1.6

json.jar jdk_1.6 对应的开发

2016-01-12

Android Sockets和java sockets通信

Android Sockets和java sockets通信 的小例子。

2016-01-12

android ftp 使用

SwiFTP、FTP4J以及Demo下载,包涵了文档说明及服务器端代码和客户端的代码

2016-01-11

AmaterasUML的配置及使用 .tar

eclipse 配置AmaterasUML时需要的3个jar 包,以及配置文档 http://blog.csdn.net/asce1885/article/details/40744163

2015-12-24

android数据库快速开发

android数据库快速开发框架,使用简单

2015-12-14

Xutils测试源码和Deomon

xutils框架 源码实现,以及测试使用的例子。

2015-12-14

异步加载图库中的图片

异步加载图库中的图片,首先图库中需要图,当中需要判断一下。

2015-12-14

环形进度条实现

环形进度条实现, andoid 系统可以参考,完整工程。

2015-12-09

andriod微信抢红包实现

AccessibilityService是一个辅助类,可以监听我们手机的焦点,窗口变化,按钮点击等等。实现它的服务需要在手机设置里面->辅助功能在这里面找到你自己实现的辅助类,然后打开它就可以进行我们一系列的监听了 相关: http://krelve.com/?post=26 http://www.it165.net/pro/html/201507/48358.html http://blog.csdn.net/wyzxk888/article/details/9006881

2015-12-02

AutotestDemo

实现自动后台测试模拟android 按键。

2015-10-21

例子,说明文档文档,搭建环境,api 文档,jar 包

例子,说明文档文档,搭建环境,api 文档,jar 包

2015-10-21

python 学习实例

自己学习python 时做过的一些实例。

2015-10-12

点亮一个led 灯的实验

上层写一个app应用,调用jni ,jni 调用hal 层的接口,hal 调用driver 去开关lte 灯。

2015-10-08

android jni

android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C /C++库文件以及调用C/C++方法

2015-08-13

ubuntu_13.04忘记密码的解决方案

ubuntu_13.04忘记密码的解决方案,方法1可以完美解决

2015-08-07

ubuntu 13.04忘记密码的解决方法一

ubuntu 13.04忘记密码的解决方法一,亲自验证操作过的哦

2015-08-04

BluetoothChat

BluetoothChat,使用蓝牙通信,实现简单的聊天功能。

2015-07-14

BlockingQueue

BlockingQueue java 的工具类,初次要用于消费者,生产者的同步问题。

2015-06-15

专网联系人contactsprovider设计文档

专网联系人的privatecontactsProvider 设计,

2015-06-10

java 设计模式 例子

java 设计模式 例子 , 整理了网上的源码,实践了23 种设计模式。

2015-04-07

Simple JNI 例子

ndk andriod jni 例子 简单 实用 亲自验证

2015-03-09

android jni 例子

一个简单的例子教你学会jni 参考的说明 http://blog.csdn.net/fengqiaoyebo2008/article/details/6210499

2015-02-10

字符串相关函数介绍

字符串相关函数介绍,strchr ,strstr,strtok

2013-08-26

vi 手册(中文版)

vi 作为在linux下的一款编辑软件,备受好评,然而有个深入的认识依靠其手册的完整

2013-04-06

linux 命令手册

linux技术开发 包括各种的命令详解 命令查询 快捷方便

2013-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除