- 博客(42)
- 资源 (119)
- 收藏
- 关注
转载 脱壳
一、前言今天是端午节,然而小编不能吃粽子了,只能继续破解之路,今天我们来看一下在了解了破解三部曲之后,如何开始脱掉各个市场中的apk壳,关于破解三部曲在之前已经介绍了:第一篇:Android中使用Eclipse动态调试smali源码第二篇:Android中使用IDA动态调试so源码第三篇:Android中破解加固的apk在看完这三篇文章之后,我们开始操作如何
2016-06-30 22:45:48 1463
原创 winpcap编程抓包实例和windump使用
http://www.winpcap.org/archive/官方文档http://www.ferrisxu.com/WinPcap/html/index.htmlhttp://www.winpcap.org/http://www.winpcap.org/windump/install/default.htmhttp://www.360doc.com/content/11/03
2016-06-30 16:07:10 6853
转载 关于cmd命令的重定向输出 2>&1
关于cmd命令的重定向输出 2>&1mycommand >mylog.txt 2>&1 应该是最经典的用法了。命令的结果可以通过“%>”的形式来定向输出,%表示文件描述符:1为标准输出stdout、2为标准错误stderr。系统默认%值是1,也就是“1>”,而1>可以简写为>,也就是默认为>。stdout的默认目标是终端,stderr的默认目标为也是终端。我们在批处理中执行:
2016-06-30 15:01:12 13441
原创 使用NASM和CL(或LINK)写HelloWorld示例
hello_linux.asm;编译 链接 装载与库;下载编译工具nasm http://www.nasm.us/pub/nasm/releasebuilds/2.12.01/;http://www.yiibai.com/html/assembly/2013/0812118.html;linux;nasm -f elf hello_linux.asm;ld -m elf_i38
2016-06-30 11:25:45 2896
原创 c语言之date_format日期格式化和strptime函数windows平台上实现
#include #include #include #include #include #define TM_YEAR_BASE 1900/* * We do not implement alternate representations. However, we always * check whether a given modifier is allowed for a
2016-06-29 23:41:20 7869
原创 c语言之strreplace字符串替换
#include #include #include //https://github.com/ssllab/temper1/blob/722991add4a6a239271e1f029ebe4daaad719496/strreplace.cchar * strreplace(char const * const original, char const * const pat
2016-06-29 22:51:04 17114
原创 c语言之跨平台的文件拷贝filecopy
#include #include int filecopy(char* input_name,char* output_name){ FILE *input, *output; unsigned char current_byte; input = fopen(input_name, "rb"); output = fopen(output_name,
2016-06-28 23:45:44 2051
原创 c语言之split实现
#include <stdlib.h>#include <string.h>int strsplit (const char *str, char *parts[], const char *delimiter) { char *pch; int i = 0; char *copy = NULL, *tmp = NULL; copy = strdup(str); if (! c
2016-06-28 21:34:20 4257
原创 c语言之IO使用文件分割
#include <stdio.h>#include <math.h> // ceil()#include <stdlib.h> // exit()//cl filesplit.cint main(int argc, char *argv[]) { char part_filename[200]; FILE *ptr_source, *ptr_part; size
2016-06-28 21:18:07 1018
原创 c语言之LogToFile
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/stat.h>#include <assert.h>#include <malloc.h>#include <stdarg.h>void LogToFile(const char *Format, ...){ #define savepath
2016-06-28 19:09:58 1535
转载 【 IDA】使用IDA load file功能,导入JNI.h解析【JNI 函数】
转自:http://blog.csdn.net/u010382106/article/details/44960243一、需求:使用IDA 导入C/C++头文件,添加头文件中的结构体,使用此结构体中的函数替换反汇编中的偏移,是文件可读性更好!!!!二、步骤:步骤一:点击IDAPro 菜单项“File->Load file->Parse c header file ” 选
2016-06-27 19:17:41 3110 2
原创 lua脚本demo实例
-- account.lua-- from PiL 1, Chapter 16Account = {balance = 0}function Account:new (o, name) o = o or {name=name} setmetatable(o, self) self.__index = self return oendfunction Account:
2016-06-27 11:41:50 12890
原创 我的第一个lua脚本
print ("ok")print ("中文")--http://www.yiibai.com/lua/lua_strings.html--我的lua注释--lua参考手册 http://www.codingnow.com/2000/download/lua_manual.html--[[ 这是块注释 这是块注释 --]]a=1b=2if a>b then print ("a大
2016-06-26 19:32:44 831
原创 Python Demo
解析ifconfig命令的标准输出,返回网卡名称和对应的ip# -*- coding: utf-8 -*- #!/usr/bin/python#奇虎运营实习第二题,使用python实现#解析ifconfig命令的标准输出,返回一个hash。key是网卡名称 value是对应的ipimport osimport socket import fcntl import struct d
2016-06-26 14:44:25 1774
原创 在VS2013下如何使用头文件unistd.h和去除vs2013编译警告
简介在编译CUDA random forest有关的项目的时候出现了如上错误,从网上下载了这个头文件然后加入到项目里面还是不行。查了下资料,头文件unistd.h是Linux/Unix的系统调用,包含了许多UNIX系统服务函数原型,如open、read、write、_exit、getpid等函数。在linux下能够编译通过的包含此头文件的程序,在VC下编译时出现了如下问题 fatal err
2016-06-25 09:57:49 15756 2
转载 ELF文件格式解析
转自:http://zke1ev3n.me/2015/12/15/ELF%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%A7%A3%E6%9E%90/—本文基本的内容都是来源于《程序员的自我修养》,之所以摘录下来是为了方便查阅,还有一部分表格是来源于滕启明写的《ELF文件格式分析》。顺便安利一下这本书,是本程序员必读的好书,看了好几遍,每次看都有新收获。
2016-06-23 19:46:04 6307 1
转载 dll的def文件与__declspec(dllexport)导出函数方式比较
转自:http://blog.csdn.net/aastoneaa/article/details/10426009dll的def文件与__declspec(dllexport)导出函数方式比较【__declspec(dllexport) 方式】首先对C和C++编译(extern "C")与调用约定(__cdecl、__stdcall、__fastcall)进行组合测试:
2016-06-23 18:31:31 517
转载 upx加壳原理
转自:http://blog.csdn.net/zacklin/article/details/7419001upx的功能有两种描述。一种叫做给程序加壳,另一种叫压缩程序。其实这两种表述都是正确的,只是从不同的角度 对upx的描述。 upx的工作原理其实是这样的:首先将程序压缩。所谓的压缩包括两方面,一方面在程序的开头或者其他合适的地方 插入一段代码,另一方面是将程序的其他地方做压缩
2016-06-22 17:24:43 5684
转载 android so壳入口浅析
转自:http://www.cnblogs.com/goodhacker/p/3985260.html前言 开年来开始接触一些加固样本,基本都对了so进行了处理,拖入ida一看,要么没有 JNI_OnLoad ,要么 JNI_OnLoad 汇编代码羞涩难懂,让人无法下手。 JNI_OnLoad 是真正入口么?先看看几个文档1 摘自属性服务一节(《深
2016-06-21 19:16:07 2504
原创 bat demo和bat调用java获取传入参数
@echo offecho 当前盘符:%~d0echo 当前盘符和路径:%~dp0echo 当前批处理全路径:%~f0echo 当前盘符和路径的短文件名格式:%~sdp0echo 当前CMD默认目录:%cd%set current_path=%cd%echo %current_path%
2016-06-21 17:23:42 5019
转载 调试器工作原理(3):调试信息
转自:http://blog.jobbole.com/24916/本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能
2016-06-21 10:12:44 769
转载 调试器工作原理(2):实现断点
转自:http://blog.jobbole.com/23632/本文由 伯乐在线 - bigship 翻译。未经许可,禁止转载!英文出处:Eli Bendersky。欢迎加入翻译组。本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容这里我将说明调试器中的断点机制是如何实现的。断点机制是
2016-06-17 16:48:32 3802 1
原创 linux asm汇编例子
hello.asmsection .text ; The _start symbol must be declared for the linker (ld) global _start_start: ; Prepare arguments for the sys_write system call: ; - eax: system call n
2016-06-17 16:30:57 3513
转载 调试器工作原理(1):基础篇
转自:http://blog.jobbole.com/23463/相关源码下载:https://github.com/theicfire/debuggers_eli关于本文我打算在这篇文章中介绍关于Linux下的调试器实现的主要组成部分——ptrace系统调用。本文中出现的代码都在32位的Ubuntu系统上开发。请注意,这里出现的代码是同平台紧密相关的,但移植到别的
2016-06-17 15:49:32 500
转载 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
其他:java.lang.UnsatisfiedLinkError:dlopen failed: “**/*/arm/*.so” has unexpected e_machine: 3原因分析apk安装时,系统把armeabi下的libBugly.so放入应用的私有目录中了!但这个libBugly.so不是arm的,而是x86编译的libBugly.so运行时,系统检察ELF文件中的e_m
2016-06-17 13:37:28 27156 2
原创 java基本类型的最大最小值以及溢出测试
//应用场景一:在攻防对战中,数据基本类型的溢出会导致反编译工具的出错public class Main { //java基本类型的最大最小值以及溢出测试 public static void main(String[] args) { byte bmax, bmin; short shmax, shmin; char cmax, cmin; int imax, imi
2016-06-13 10:21:33 892
转载 打开android debug设备系统调试
http://blog.csdn.net/hu3167343/article/details/45223767我们在动态调试app的时候,需要在APP的AndroidManifest.xml文件中添加Android:debuggable="true",然后重打包apk安装之后进行调试。如何不进行重打包就能调试app呢?下面主要介绍两种方法:1. 修改boot.img
2016-06-12 12:06:50 2402
原创 arm指令备注
arm指令备注因为arm指令和thumb指令是2字节或者4字节对齐的,一般是16位的thumb指令和32位的arm指令。如何区别arm指令和thumb指令?/* 使用Arm指令集的情况 */ if (addr % 4 == 0) { ...... } /* 使用Thumb指令集的情况 */ else { ......
2016-06-08 01:42:21 493
原创 AllHookInOne 中的hook基本流程
一、导入表(GOT表 HOOK)熟悉 ELF 结构的读者都知道,SO引用外部函数的时候,在编译时会将外部函数的地址以Stub 的形式存放在.GOT表中,加载时 linker再进行重定位,即将真实的外部函数写到此 stub中。HOOK 的思路就是:替换GOT表中的外部函数地址。可以理解为hook导入函数。具体流程:1.注入进程2.可能有读者想到马上就是读取并解
2016-06-08 01:36:58 2845
原创 android native hook方法
android native hook方法主要分为:GOT HOOK 即import table hook(导入表hook)inline hook(内联hook)export table hook (导出表hook) 一、导入表(GOT HOOK)熟悉ELF结构的读者都知道,SO引用外部函数的时候,在编译时会将外部函数的地址以Stub的形式存放在.GOT表中,加载
2016-06-08 01:25:47 8029
原创 andfix中的java hook流程
andfix中的java hook流程:原理是获取java函数在dvm中对应的method结构体指针,替换其成员数据的指针来实现java hook基本方法:setup replaceMethod(src, dest);setFieldFlagdalvik 模式下的java hook1、在libdvm.so动态获取dvmDecodeIndirectRef函
2016-06-08 00:58:12 1613 2
原创 android 进程注入流程
//获取目标进程模块基址void* get_module_base(pid_t pid, const char* module_name);//获取远程模块基址void* get_remote_addr(pid_t target_pid, const char* module_name, void* local_addr);//根据进程名查找进程id 读取/proc/%d/cmd
2016-06-07 23:52:25 3787 3
转载 AmBinaryEditor(AndroidManifest二进制修改工具介绍)
http://ele7enxxh.com/AndroidManifest-Binary-Editor.htmlAmBinaryEditor(AndroidManifest二进制修改工具介绍)Jan 30, 2015本文为AmBinaryEditor项目的使用说明。由于一次奇怪的需求,开始研究AndroidManifest的二进制格式,继而产生了直接修改Android
2016-06-07 20:14:33 5266 2
转载 Android inject 进程注入
Android进程注入概述我们平时所说的代码注入,主要静态和动态两种方式:静态注入,针对是可执行文件,比如修改ELF,DEX文件等,相关的辅助工具也很多,比如IDA、ApkTool等;动态注入,也可以叫进程注入,针对是进程,比如修改进程的寄存器、内存值等;动态跟静态最大的区别是,动态不需要改动源文件,但需要高权限(通常是root权限),而且所需的技术含量更高。基本思路关键点在于让目标进加载自定
2016-06-07 20:00:11 4830
原创 ndk错误解决方法 ndk-build NDK_PROJECT_PATH
ndk错误解决方法:make.exe: Nothing to be done for `example'.make.exe: Nothing to be done for `all'.Android NDK: Could not find application project directory !Android NDK: Please define the NDK_PROJ
2016-06-07 18:58:44 10441
转载 Android Arm Inline Hook
http://ele7enxxh.com/Android-Arm-Inline-Hook.html本文将结合本项目的源代码,详细阐述Android Arm Inline Hook的原理与实现过程。什么是Inline HookInline Hook即内部跳转Hook,通过替换函数开始处的指令为跳转指令,使得原函数跳转到自己的函数,通常还会保留原函数的调用接口。与GOT表H
2016-06-07 18:01:10 3030
原创 ARM中的常用指令
http://blog.chinaunix.net/uid-22915173-id-225005.htmlARM中的常用指令含义ADD 加指令SUB 减指令STR 把寄存器内容存到栈上去LDR 把栈上内容载入一寄存器中.W 是一个可选的指令宽度说明符。它不会影响为此指令的行为,它只是确保生成 32 位指令。Infocenter.arm.c
2016-06-06 22:06:41 3349
转载 Android SO逆向1-ARM介绍
http://drops.wooyun.org/mobile/100090x01 ARM寄存器1.1.通用寄存器1.未分组寄存器:R0~R72.分组寄存器:R8~812R13:SP,常用作堆栈指针,始终指向堆栈的顶部,当一个数据(32位)推入堆栈时,SP(R13的值减4)向下浮动指向下一个地址,即新的栈顶,当数据从堆栈中弹出时,SP(R13的值加4)向上浮动指向新的栈顶
2016-06-06 19:55:30 1145
原创 ndk内联汇编的使用之arm指令学习和调试
#include int my_thumb_wjh(int dummy){ __asm__( "mov r0,#1 \t\n" "mov r1,#2 \t\n" "add r0,r0,r1 \t\n" "bx lr" ); return dummy; }int my_thumb(int dummy){ __asm__( "mov r0,#13 \t\n
2016-06-06 19:36:02 2993
转载 Cydia substrate Hook 和模拟器安装
http://blog.csdn.net/xbalien29/article/details/22661479https://github.com/zencodex/cydia-android-hookhttp://www.cydiasubstrate.com/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1/总的来说,要学习还是建议Xpo
2016-06-03 21:08:56 4365
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关注的人