- 博客(48)
- 资源 (119)
- 收藏
- 关注
原创 Linux之使用inotify监控文件
在日常应用中,常常会遇到以下场景,监控文件夹A,若文件夹中的B文件发生变化,则执行C命令。Linux下可以通过inotify完成该功能。自从Linux kernel 2.6.13起,inotify以作为内核的一部份,同时需要glibc 2.4以上版本。1. 相关函数inotify_init() - 创建一个inotify实例inotify_add_watch(int fd, c
2016-05-31 11:02:52 1321
原创 linux之通过ptrace获取指定pthread线程的寄存器信息
#include #include //for sleep#include //for exit#include //for pthread#include //for errno#include //for gettid#define gettid() syscall(__NR_gettid)void *func(void *para){ printf("Hello
2016-05-31 10:40:41 1517
原创 linux之使用ptrace 跟踪多线程程序
1.ptrace 原型说明 #include long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); 在使用PTRACE_TRACEME参数时,跟踪多线程程序需要使用PTRACE_SETOPTIONS来设置ptrace相关属性。 PTRACE_SETOPTIONS 是将
2016-05-31 10:38:54 4928 1
转载 ubuntu 下安装metasploit
工具/原料ubuntu系统、metasploit-latest-linux-installer.run(metasploit官网下载的)方法/步骤用迅雷在官网下载metasploit,其中要注册是少不了的下载完之后。就进入终端,如图,首先获得权限,sudo su。在输入下面代码之前要新建opt的文件夹,把安装包放进去。ubuntu 下安装metasploit接着等等,点击f
2016-05-30 19:10:58 4667
原创 C语言执行shellcode的五种方法
//C语言执行shellcode的五种方法#include #include //data段可读写#pragma comment(linker, "/section:.data,RWE") //不显示窗口#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")#pragma comment
2016-05-30 17:49:36 10995 3
原创 linux c之alarm函数的使用,定时器的实现
#include #include #include int main(int argc, char *argv[]) { unsigned int timeleft; printf("Set the alarm and sleep\n"); //设置定时器,时钟一到就发送一个信号SIGALRM到进程。 alarm(10); sleep(5); timeleft =
2016-05-30 11:24:14 7329
原创 linux c之使用mprotect检测内存访问
在Linux中,mprotect()函数可以用来修改一段指定内存区域的保护属性。函数原型如下:#include #include int mprotect(const void *start, size_t len, int prot); mprotect()函数把自start开始的、长度为len的内存区的保护属性修改为prot指定的值。pr
2016-05-30 10:52:27 10146
原创 mmap的使用之两个进程通过映射普通文件实现共享内存通信
/*-------------map_normalfile1.c-----------*/#include #include #include #include #include #include typedef struct{ char name[4]; int age;} people;//mmap_normal_file1.c 两个进程通过映射普通文件实现共享内
2016-05-30 10:13:01 2604
转载 SQLCipher的使用
http://blog.csdn.net/majiakun1/article/details/46551137SQLCipher 是用来加密数据库一. 1.安装sqlcipher命令,首先需要安装brew, 在终端输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst
2016-05-28 18:25:37 2343
转载 从Android运行时出发,打造我们的脱壳神器
0x00 前言之前对Android的两个运行时的源码做了一些研究,又加上如火如荼的Android加固服务的兴起,便产生了打造一个用于脱壳的运行时,于是便有了DexHunter的诞生(源码:https://github.com/zyq8709/DexHunter/)。今天,我就通过这篇小文聊聊我的一些简单的思路,供大家参考和讨论。0x02 相关机制首先,先来看一看Androi
2016-05-27 13:47:01 4341 1
转载 Android使用源码中隐藏的API
http://blog.sina.com.cn/s/blog_5da93c8f0101e1yj.html前言:一开始需要说明的是,Google之所以要将一些API隐藏(指加上@hide标记的public类、方法或常量)是有原因的。其中很大的原因就是Android系统本身还在不断的进化发展中。从1.0、1.1到现在即将问世的Android 2.3.4。 这些隐藏的API本身可能是
2016-05-27 13:29:44 1542
转载 android MultiDex
http://www.android100.org/html/201601/26/212616.html遭遇MultiDex愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了。于是总悟君带着疑惑查看错误信息。UNEXPECTED TOP-LEVEL EXCEPTION: jav
2016-05-27 10:51:37 699
转载 C语言和C++下字符串处理函数总结
一、字符处理库中的函数#include函数原型:int f(int c)函数说明:C语言定义的处理字符操作,包括是否是数字,字母,打印字符,十六进制数字,大小写转换等,具体如下:isalnum:Check if character is alphanumeric (function)isalpha :Check if character is alphabetic (fun
2016-05-25 17:28:32 717
原创 C语言函数sscanf()的用法
C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与sc
2016-05-25 17:12:42 4181
转载 Android平台下Dalvik层hook框架ddi的研究
http://blog.csdn.net/roland_sun/article/details/38640297通过adbi,可以对native层的所有代码进行hook。但对于Android系统来说,这还远远不够,因为很多应用都还是在Dalvik虚拟机中运行的。那么,有没有什么办法可以对Dalvik虚拟机中跑的代码进行hook呢?adbi的作者再接再厉,写了一个叫做ddi(Dy
2016-05-24 10:47:59 1329
原创 cmake使用笔记和Creating CMake Linux projects with Visual Studio
笔记:cmake -G 查看支持的makefile文件1、进入目录:cmake .2、window下会生成vs工程。首先需要安装有vs环境。打开Visual Studio 命令行提示窗口,它会执行加载一些VS的环境变量。然后才执行下面。cmake . -G"NMake Makefiles" 会生成window make工程。 下面编译。nmake 或者
2016-05-21 10:44:27 1997
原创 java jni jbyteArray传参给c++
unsigned char* myobfuscate(unsigned char *s) { unsigned char key, mod, len; int i; unsigned char* d; key = s[0]; mod = 0x66; len = strlen((const char*)s); d = (unsigned ch
2016-05-19 19:43:30 7020
转载 加密SO文件中自定义的section
http://0nly3nd.sinaapp.com/?p=695前言加密已知so文件中的某一section,在运行时解密。执行里面的代码!0×1libsyc.so里有一个.textsection,里面有一个方法返回一个字符串!生成未加密的libsyc.so的代码:
2016-05-19 18:36:45 1669 3
原创 android dexposed框架hook使用实例
package com.taobao.dexposed;import java.io.File;import java.lang.reflect.Field;import java.lang.reflect.Modifier;import com.taobao.android.dexposed.DexposedBridge;import com.taobao.android.dexp
2016-05-19 18:31:40 4078 1
转载 Android平台免Root无侵入AOP框架Dexposed使用详解
转自:http://www.jianshu.com/p/14edcb444c51Dexposed是基于久负盛名的开源Xposed框架实现的一个Android平台上功能强大的无侵入式运行时AOP框架。Dexposed的AOP实现是完全非侵入式的,没有使用任何注解处理器,编织器或者字节码重写器。集成Dexposed框架很简单,只需要在应用初始化阶段加载一个很小的JNI库就可以,这个加载操作
2016-05-19 18:28:52 1606
转载 Android反调试之 AntiEmulator 检测安卓模拟器
转自:http://0nly3nd.sinaapp.com/?p=368八种方法检测是否存在模拟器检查特定的几个关键点0×1检测“/dev/socket/qemud”,“/dev/qemu_pipe”这两个通道代码demo:Java12345678
2016-05-19 17:26:12 6064
转载 Android NDK隐藏jni动态库的内部符号表
http://bbs.chinavideo.org/viewthread.php?tid=10844写过win32程序的朋友对dll导出函数名都很熟悉,大家都可以通过.def文件或者__declspec(dllexport)来指定导出的函数名。在android下,可执行文件或者动态链接库用的是elf格式,和win32的pe格式有所不同。当编译动态链接库时,缺省的编译选项下默认所有的符号表都会导
2016-05-19 15:07:51 4990
转载 Android中如何获取在非Root设备中获取应用隐私数据
一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的allowBackup属性1、allowBac
2016-05-18 19:14:34 2721 1
原创 opencv的使用例子
显示图片的例子:#include #include using namespace std;int main(){ IplImage * test; test = cvLoadImage("D:\\cvImg\\1024.jpg"); cvNamedWindow("test_demo", 1); cvShowImage("test_demo", test); cvWaitK
2016-05-15 01:50:48 2252
转载 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
http://blog.csdn.net/poem_qianmo/article/details/21974023本系列文章由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/21974023作者:毛星云(浅墨) 邮箱:
2016-05-15 00:52:17 1251
转载 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
http://blog.csdn.net/poem_qianmo/article/details/19809337本系列文章由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/19809337作者:毛星云(浅墨) 微博:http://wei
2016-05-15 00:50:51 832
原创 android NDK方式调用Jar包
package com.example.hellojni;public class SoTool { static { System.loadLibrary("hello-jni"); } /*参数说明:android JNI方式调用Jar包 * path1: jar存储路径 * path2: 经过优化后的dex存存放路径
2016-05-14 17:09:13 1959
转载 axml格式
http://www.cnblogs.com/wanyuanchun/p/4084292.html1简述前段时间在bluebox的一份Android安全pdf中看到一个AndroidManifest Ambiguity方案。该方案基于android系统解析AXML的一个特点:android在解析AXML的属性的时候,是通过该属性的res id号而非属性名定位的。所谓的AXML就
2016-05-14 16:02:41 3306
原创 获取字符串的utf-16编码
import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;public class getUTF16 { public static void main(String[] args) throws UnsupportedEncodingException { System.ou
2016-05-14 12:37:44 1017
原创 java 字符串编码转换(注意:编码转换不一定是完全可逆的,可能存在数据丢失情况)
import java.io.UnsupportedEncodingException;/** * 转换字符串的编码 注意:编码转换不一定是完全可逆的,可能存在数据丢失情况。 * http://www.blogjava.net/rabbit/archive/2008/03/27/189009.html */public class ChangeCharset { /** 7位ASC
2016-05-14 12:16:30 2952
原创 getopt源码支持getopt_long方法和win32下使用
GNU libc提供了getopt和getopt_long用于解析命令行参数,很好用,想在windows下使用,就google了几个win32下的C/C++写得getopt,并作了一些比较。程序里往往会有许多开关的,运行时就要传入许多参数值来打开或关闭这些开关。以前,每写一个程序就要花一些精力来写这段代码,因为是给自己用,就比较偷懒,写得很丑陋,时间长了,自己再回过头来用自己的东西
2016-05-14 11:04:55 4113 1
转载 针对lldb反调试技术
什么是lldblldb是llvm+clang工具链中的调试器,类似于gdb等,提供的可用命令和设计架构跟gdb略有不同。 一些反调试手段下面罗列的一些反调试手段均在OS X系统上编写的控制台程序中测试通过。(ios程序上不保证可用)严格划分的话,反调试实际上分为两种类型:检测和防治检测类型的给你提供检测到调试器后的
2016-05-13 18:50:56 1092
原创 打造自己的安卓crack.smali利器
package com.yunshouhu.smali;import android.app.AlertDialog;import android.content.Context;import android.util.Log;import android.widget.Toast;//打造自己的安卓crack.smali利器,打包为apk后反编译获取smali即可。public
2016-05-13 16:36:08 999
原创 android ndk调用Log.getStackTraceString(new Throwable())输出堆栈信息
//String str = Log.getStackTraceString(new Throwable()); //Log.d("yunshouhu", str); jclass jcl_Log = (*env)->FindClass(env, "android/util/Log"); jmethodID mid_getStackTraceString = (*env)->GetStat
2016-05-13 16:13:48 3793
原创 7Z命令行详解
Usage: 7za [...] [...] [] a : Add files to archive b : Benchmark d : Delete files from archive e : Extract files from archive (without using directory names) h : Calculate hash val
2016-05-12 11:19:50 60867
转载 JNI官方规范中文版——如何把一个JVM嵌入到本地程序中 native程序中加载jvm
http://blog.csdn.net/a345017062/article/details/8068936本章讲述如何把一个JVM嵌入到你的本地程序当中去。一个JVM可以看作就是一个本地库。本地程序可以链接这个库,然后通过“调用接口”(invocation interface)来加载JVM。实际上,JDK中标准的启动器也就是一段简单的链接了JVM的C代码。启动器解析命令、加载J
2016-05-08 01:02:04 1479
原创 在 Eclipse 中使用 NDK
自定义 Eclipse使用 Eclipse IDE 的好处之一是很少需要编译。每次在 Eclipse IDE 中保存文件时,就会自动构建项目。这非常适用于 Android SDK(即 Java)文件和 Android XML 文件,但是对于 NDK 构建的库来说怎么样呢?我们来了解一下。扩展 Eclipse 环境如前所述,构建本地库和运行 ndk-build 命令一样简单。
2016-05-08 00:48:11 1271
原创 NDK使用技巧、多线程调用注意、ndk中的工具使用
//NDK 使用技巧和多线程调用注意//http://www.ibm.com/search/csass/search/?q=ndk&sn=dw&lang=zh&cc=CN&en=utf&hpp=20&dws=cndw&lo=zhvoid demo(JNIEnv* env, jobject thiz) { //这JNI接口指针可以存储,但只在当前线程仍然是有效的。 /* A JNI en
2016-05-08 00:33:59 6190
原创 android ndk log使用demo
#ifndef _COMM_H_#define _COMM_H_#define DEBUG 1#if DEBUG#define TAG "yunshouhu"#include #define LOGI(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__)#define LOGD(...) __android_log
2016-05-07 17:51:11 746
原创 VisualGDB 调试NDK程序
http://blog.csdn.net/dj0379/article/details/38637973. 下载并安装VisualGDB, 安装完成后,在Visual Studio的目录中可以看到Android选项:2. 配置VisualGDB, 在Android -> Setup SDK/NDK location主要配置JDK,SDK,
2016-05-06 21:17:21 1820
sqlite3.36集成加密版_vs2008
2014-04-10
Xtreme ToolkitPro+MFC使用小例子
2014-03-19
ormlite-jdbc demo使用例子。
2015-04-06
基于netbeans+javafx+fxml的基本控件的使用
2014-10-29
java 连接各种数据库大全和实例
2014-07-14
hadoop1.1.2操作例子 包括hbase hive mapreduce相应的jar包
2014-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人