自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(34)
  • 收藏
  • 关注

原创 Mac 一句命令安装brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2020-11-19 10:46:10 234 1

原创 Android 动态调试

Android 2种动态调试方式初始化准备:1.将ida 的dbgsrv 目录下android_server 调试服务push 到手机local/tmp 下adb push android_server /data/local/tmp/wc 重命名为wc 避免名字反调试2.赋权adb shell 然后su 然后chmod 777 wc3.run./wc 默认是23946端口 可以修改为别的端口 -p 端口号即可 可避免端口检测4.转发adb forward ...

2020-09-07 15:09:13 346

原创 Mac 下安装unicorn 失败,最简单的有效方法

这里写自定义目录标题Mac 下安装unicor 失败,最简单的有效方法Mac 下安装unicor 失败,最简单的有效方法今天在mac下想要安装unicornpython 在直接使用pip install unicorn注意:python版本要3.7执行后失败报错ERROR: pthread check failedMake sure to have the pthread libs and headers installed.make: *** [qemu/config-host.h-ti

2020-07-21 20:08:32 1120

转载 android 过签名校验的一些小思路

在android 逆向工程中,好多apk 对自身的签名进行了 校验, 对于重打包的apk签名不相同时候,程序会闪退或提示签名不一致等问题。去除签名校验的方法有很多,简单记录总结下,以后碰见了想起来再继续加在这里。1.常规去除常规的去签名肯定是要获取签名  android 中 反编译后可以搜索signatures  进行查看相关调用。 获得得数据可以很多种方式进行认证,比如本地java

2015-11-12 09:46:59 320

转载 Fiddler (五) Mac下使用Fiddler

Fiddler是用C#开发的。  所以Fiddler不能在Mac系统中运行。  没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS,    Mac 用户怎么办呢?Fiddler可以允许“远程连接”。  我们可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS 阅读目录:使用虚拟机虚拟机的网络使用“Bridged” 模式配置虚拟

2015-10-18 21:24:43 232

转载 Fiddler (四) 实现手机的抓包

Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求。Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。  同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。本文介绍Fiddler截获IPhone发出的HTTP/HTTPS包

2015-10-18 21:21:43 233

转载 Fiddler (三) Composer创建和发送HTTP Request

Fiddler的功能还有很多, 很多功能都没有被挖掘出来。这次我们介绍Fiddler中的一个非常有用的功能Composer,是用来创建和发送HTTP Request的。Composer的使用方法很简单,看下就知道用了。 阅读目录Fiddler Composer介绍Fiddler Composer比其他工具的优势实例:模拟京东商城的登录Parsed和Raw两种编辑模式同类工具

2015-10-18 21:17:50 163

转载 Fiddler (二) Script 用法

我们了解了Fiddler的基本用法,  现在我们来看看Fiddler的高级用法. Fiddler Script。   Fiddler中的script 可以让我们自动修改Http request和Response 的内容。  而不用手动地去下"断点"来修改http Request或Response中的值。 阅读目录Fiddler的作者如何向Fiddler的作者请教关于Fidd

2015-10-18 21:16:01 201

转载 Fiddler 基本介绍

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。阅读目录Fiddler的基本介绍Fiddler的工作原理同类的其它工具Fiddler如何捕获Firefox的会话Firefox 中使用Fiddler插件Fiddler如何捕获H

2015-10-18 21:12:57 223

转载 android源码结构

Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik JAVA虚拟机) |-- development (应用程序开发相关) |-- ext

2015-06-18 16:30:51 130

转载 记录一下八款开源 Android 游戏引擎

记录一下八款开源 Android 游戏引擎这些八款开源的android游戏引擎记录一下,以后可能会用到也说不定。1、AngleAngle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中

2015-06-18 16:22:45 231

原创 GG游戏之天堂岛2游戏去汉化验证与游戏修改

天堂岛2是一类养成类的游戏,主要是建造自己的城市。由于是Google的游戏,那必然存在了验证问题,安装在没有GG框架的手机上面当游戏打开,就进行验证。会提示一个框提示不是该设备购买下载的游戏类似的。我猜测游戏验证一个是GG服务本地验证,另外就是连接GG服务之后根据 设备信息进行验证,设备是否购买下载的合法设备。由于时间过去的比较久,java层的smali分析修改我就不写了。相信只要你肯话时间研

2015-06-18 14:47:33 442 1

转载 APK签名Tricks(过签名的一些方式)

当我们在实战中,有时会碰到某些apk在内部实现了自己的签名检查。这次我们介绍的Smali Instrumentation方法因为需要重打包,所以会改变原有的签名。当然,你可以通过修改apk把签名检查的逻辑删掉,但这又费时又费力。笔者在这里简单介绍两种非常方便的方法来解决签名检查问题。1. MasterkeyMasterkey漏洞一共有三个,可以影响android 4.4以下版本。利

2015-05-15 11:25:11 729

转载 AndroidManifest.xml配置文件详解

AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。[html] view plaincopyxml version="1.0" encoding="utf-8"?

2015-05-07 17:28:31 205

转载 AndroidManifest.xml配置文件详解

AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。[html] view plaincopyxml version="1.0" encoding="utf-8"?

2015-05-07 17:27:43 97

原创 ida修改arm指令显示与参考

调试so中,对于指令的修改最关键。在ida中显示指令的方法:指令修改简单的so修改就可以达到目的了

2015-04-22 17:17:23 1123

原创 Eclipse中 创建NDk工程编写的时候, 报jni找不到,或者一些其他库的 解决办法

NDK在Eclipse中配置有些挺麻烦的,自己也没搞太明白,这篇知识一个随笔记录问题:我之创建jni工程时候,includes那些头都引入进来了。 今天穿件一个新的工程,发现提示提示我jni.h 有问题。我在cdt下,看了下两个工程的差别工程比较,明显少了 includes这个库文件,证明这个工程没引入进来。可能全局没有引入。那么就引入头文件吧。步骤选择了n

2015-04-22 16:13:57 240

转载 Android逆向之动态调试总结

一、在SO中关键函数上下断点刚学逆向调试时。大多都满足于在SO中某关键函数上下断点。然后通过操作应用程序,去触发这个断点,然后进行调试详细的步骤可以参见非虫大大的《Android软件安全与逆向分析》简单说:在libsyclover.so文件中有一个函数jnicall1。每次单击按钮的时候,便会调用此函数。1.静态载入此so文件,找到函数的偏移地址为:0x13

2015-04-01 11:31:54 236

转载 ijiami快速dump法原理浅析

前言某段时间ijiami的壳的一种内存dump法便是通过在dvmDexFileOpenPartial函数上下断点,然后直接dump!好奇便去看了下源码。主要是因为系统的dexoptdexopt初始化一个vm,加载dex文件并执行verification和optimization过程。完成后,进程退出,释放所有资源~分析其源代码:0×1main函数

2015-04-01 11:04:18 502

转载 JNI系列(1):基础篇

最近一直迷茫与JNI的改写和.so库的生成,特转载和收集了一些现相关的资料,希望能有所帮助:     由于现在的项目及以后的项目将大量使用JNI调用,故打算做一则系列文章供参考及讨论。本文是关于JNI的基础知识。JNI是Java代码与本地代码交互的桥梁,有两种方式:(1)在Java中加载动态链接库 (2)使用JNI Invocation inteface,在native cod

2015-03-13 15:11:19 192

转载 JNI系列(4):如何访问自定义类对象

JNI规范中仅仅给出了String,Array两种引用类型的访问,那么如果使用了自定义的类,在JNI中该如何访问?如以下代码所示,用户自定义了Student类,创建了实例student,并希望在JNI函数中修改实例student的成员age。package com.demo;public class Demo {    Student student = new Student

2015-03-13 15:11:19 274

转载 JNI系列(2):jstring操作

使用JNI时,最常见的操作是将jstring转换成UTF字符串。JNI提供了几个转换函数:GetStringUTFChars,GetStringUTFRegion。GetStringUTFChars返回一个指向UTF字符串的指针,该函数会分配内存空间存储该字符串,因此使用完后一定要记得调用对应的释放函数ReleaseStringUTFChars释放分配的空间。GetStringUT

2015-03-13 15:10:27 889

转载 JNI系列(3):如何得到JavaVM,JNIEnv接口

在系列(1)中讲到,Java与native code的操作有两种方式:(1)在Java中加载动态链接库(2)使用JNI Invocation inteface,在native code中创建JVMJavaVM接口第一种方式,在加载动态链接库的时候,JVM会调用JNI_OnLoad(JavaVM* jvm, void* reserved)(如果定义了该函数)。第一个参数会传入Ja

2015-03-13 15:10:17 654

原创 apktool+eclipse动态调试

0×01 前期准备:eclipseApktool2.0Jdk或jre,并设置好环境变量签名工具:signapk目标apk: mumadianxin.apk0×02 牛刀小试2.1 将目标apk拷贝到apktool目录下, 进行反编译:java -jar apktool.jar d -d target.apk -o out_

2015-02-05 00:01:12 318

原创 JNI中,7种方法检测安卓模拟器

前言:前面提到在JAVA代码中检测当前程序是否运行在模拟器中。觉得不是很安全,很容易就被突破了。这两天将检测模拟器的一些方法放在了JNI中。0×1检测“/dev/socket/qemud”,“/dev/qemu_pipe”这两个通道C++1

2015-02-03 23:27:55 1140

原创 Android反调试之 AntiEmulator 检测安卓模拟器

八种方法检测是否存在模拟器检查特定的几个关键点0×1检测“/dev/socket/qemud”,“/dev/qemu_pipe”这两个通道代码demo:Java123456789101112131415161718private static String

2015-02-03 22:43:37 383

原创 初识Java JNI_OnLoad

0×1 什么是JNIJNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。它允许Java代码和其

2015-02-03 22:38:29 271

原创 关于JNIEnv和JavaVM

JNIEnv是一个与线程相关的变量,不同线程的JNIEnv彼此独立。JavaVM是虚拟机在JNI层的代表,在一个虚拟机进程中只有一个JavaVM,因此该进程的所有线程都可以使用这个JavaVM。当后台线程需要调用JNI native时,在native库中使用全局变量保存JavaVM尤为重要,这样使得后台线程能通过JavaVM获得JNIEnv。native程序中频繁使用JNIEnv*和JavaV

2015-02-03 22:21:06 362

原创 【转】smali语法中文参考文档

Dalvik虚拟机操作码作者:Gabor Paller    翻译:YULIANGMAXv1.0表中的vx、vy、vz表示某个Dalvik寄存器。根据不同指令可以访问16、256或64K寄存器。表中lit4、lit8、lit16、lit32、lit64表示字面值(直接赋值),数字是值所占用位的长度。long和double型的值占用两个寄存器,例:一个在v0寄

2015-02-03 21:34:39 929

转载 JNI中调用JAVA各种方法详解

总结一下 C 如何 通过 JNI 层调用 Java 的静态和非静态方法对于:JNIEXPORT void JNICALL Java_com_example_TestNative_sayHello(JNIEnv * env, jobject thiz, jstring paramString)这样一个函数固定参数:JNIEnv *env:JNIEnv代表java环境,

2015-02-03 21:01:49 219

转载 修改smali文件,重打包,实现调用第三方SO文件

已知:SO文件:SO里面的函数的函数签名:注:函数签名:相信使用过NDK的人都应该了解,生成的.h头文件里的函数名称一定是类似于 Java_com_example_hellojni3_Hellojni_sayHelloToNDK形如:Java_包名_类名_函数名。包名,类名就可以理解是这个函数的签名,要调用这个函数,你的工程的包名也必须一致

2015-02-03 20:48:21 612

原创 修改smali文件,重打包实现修改程序流程

0×01:目的:修改目标程序的smali文件,使得重打包签名之后运行程序时,显示一个crack by lyz0×02:得到原有的smali文件:利用android apktool然后用Editplus打开:  重点是在onCreate函数中0×03 :在onCreate函数的适当位置加入 Toa

2015-02-03 20:44:25 270

原创 java ->smali samli-java语句的切换

我们经常遇到需要修改smali 想要增加我们想要的功能,或者更改执行。但是android 反汇编的java只能看不能修改。想要修改必须要修改apktool 反编译出来的smali文件。这其中就会遇到问题,就是如何写smali??来完成功能。首先我们需要懂smali的语法 去goole 官方就可以看到相应文档进行学习。另外简单半简单的办法就是自己可以写个工程,然后进行代码装换添加修改。今天完成最简单

2015-02-03 20:24:06 360

转载 Android逆向网址

androidterm:Android Terminal Emulatorhttp://code.google.com/p/androidterm/droidbox:Android Application Sandboxhttps://code.google.com/p/droidbox/TaintDroid:Realtime Privacy Monit

2015-01-19 19:48:15 229

空空如也

空空如也

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

TA关注的人

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