- 博客(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
原创 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关注的人