android
文章平均质量分 59
坚强的女程序员
这个作者很懒,什么都没留下…
展开
-
IDA反编译so文件导入Jni
前言今天看了这个wp,可能让我收获最多的就是知道了IDA可以通过加载jni.h文件,使so反汇编之后能更清晰。 主要有三种方法可以实现,接下来逐一进行介绍。方法一:这个方法可能在低版本的IDA下,无法实现。我这里的IDA版本是7.0,其他版本我没有做测试。首先将so文件拖入IDA,已默认方式加载,IDA会自动进行识别 可以看到反汇编之后,很多Jni的结构体没有识别出来。 ...原创 2018-01-12 18:59:29 · 10139 阅读 · 2 评论 -
ZjDroid实战一个简单案例的脱壳
前言主要还是参照了大黄书中的第18章内容。这里仅做个记录。准备ZjDroid模块(网上找不到现成的模块了,但是github上有源码,可以自己生成一个) 一只装有Xposed框架的手机操作获取包名和pidadb shell dumpsys activity top查看该应用使用了哪些API数据adb shell logcat -s zjdroid-apimonitor-org.cocos2d.fis原创 2018-03-13 23:29:36 · 884 阅读 · 0 评论 -
强网杯WriteUp | pictureLock
前言通往结果的路途是最美好的!珍惜在这过程中你所遇到的人和经历。不负遇见!分析这道题我感觉只是套了个apk的外壳,一点都没有做Android题目的感觉。本质上是一个aes和一个异或的解密。难受。 j()用于获取apk签名的MD5值 关键是这个enc()是一个native方法。动态调。 动态调试可以参考这篇文章 http://blog.csdn.net/qq_3343原创 2018-03-30 19:33:54 · 738 阅读 · 0 评论 -
看雪ctf2017 |WP Ericky.apk
参考文章 https://blog.csdn.net/wmh_100200/article/details/73368859 https://bbs.pediy.com/thread-218455.htm前言看雪的ctf还是很有水平的,我这菜鸡表示只能看看分析用jeb打开,发现做了很恶心的混淆,汗颜。使用n键对变量重命名。 java层的分析我就不写了,这题的考点在于so层算法的分析以及指令原创 2018-04-07 18:33:15 · 680 阅读 · 0 评论 -
SUSCTF|WP:CrakeMe 一道android逆向
前言可能是第一次单字节手动爆flag开始这题是一个涉及到so动态调试的apk。我之前都是用红米note来进行动态调试的,因为android4.4感觉脱壳比较容易,但这次的版本要求为api 26也就是android8.0.这就有点蛋疼了,还好我自己用的手机够格,所以就拿自己手机上了。先是搭了一波环境,64位32位搞不清了都,ida附加了半天没附加上去,最后使用64位来调的。 check1函数的过原创 2018-04-01 17:19:01 · 851 阅读 · 0 评论 -
arm 跳转指令生成
参考文章http://mp.weixin.qq.com/s/YouYa-dZyJOmpheC7PAt1w前言通过阅读这篇文章,你可以知道跳转指令是如果生成的,并做出相应的修改。内容这里拿一个游戏作为破解的项目,然后拿到so文件后,查看关键函数的结构,发现success和failed逻辑类似,因此尝试修改调用指令,达到修改逻辑的目的。 公式:(B-(A+8))/4 其中B是目的地址,A是当前指令的地原创 2018-04-11 13:46:52 · 576 阅读 · 0 评论 -
2016华山杯部分android逆向 |WP
参考链接https://bbs.pediy.com/thread-218555.htm 只能默默的膜一下大神前言这几个题总的来说不难,因为没有涉及到很难的算法,而且我感觉也确实考察了很多android逆向的知识点。很经典题目一 virus02_02.apk这道题主要考察samli注入…没什么好说的。 关于smali注入可以参考我的这篇文章题目二 Shield.apk 看着样子是加壳了,但是原创 2018-04-05 13:54:41 · 458 阅读 · 0 评论 -
SSCTF2016 | WP re1-e7e4ad1a.apk
参考文章:https://blog.csdn.net/wmh_100200/article/details/72847878前言难度不大,刷题内容首先使用androidkiller打开,jeb查看源码 a类中主要进行了des加密。 可以看到关键的位置,其中&&前面是进行了编号的判断,&&后面进行了密码的判断,其中Seclreg.d(this.a)是我们输入的密码。getpl是na原创 2018-04-04 21:12:56 · 788 阅读 · 0 评论 -
Android 中arm64-v8a、armeabi-v7a、armeabi、x86简介~
转载自https://blog.csdn.net/u012400885/article/details/52923765 LZ-Says:给大家推荐一个网站,有兴趣可以查阅,想为大家贡献一点自己的力量也可以投稿,老大审核通过会发表,更好的帮助有需要的人~欢迎大家踊跃投稿~地址如下:转载 2018-04-22 17:53:59 · 20919 阅读 · 2 评论 -
adb安装时常见错误总结
前言这里总结一下常见的apk安装失败的错误代码以及解决办法问题一、INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES这是因为同一个安装包但是签名不一致导致的,必须先将原apk卸载之后,再进行安装,即使使用-r也不能正常安装问题二INSTALL_PARSE_FAILED_MANIFEST_MALFORMED这是因为你工程的AndroidManifest.xml原创 2018-04-13 01:17:28 · 1331 阅读 · 0 评论 -
记录一次利用AXMLEditer劫持apk启动页面
参考文章:http://www.wjdiankong.cn/archives/1036前言四哥真的很强!!学习记录了!准备baksmalismaliAXMLEditer首先获取apk的dex文件,利用baksmali反编译成smali文件。 然后自己写个demo,同样反编译成smali。之后重新生成classes.dex,并利用压缩包重新打包。 接下来就需要使用AXMLEditer工具了,可原创 2018-04-13 01:54:26 · 282 阅读 · 0 评论 -
被jeb坑的那几年
前言听说jeb2.3出了,而且可以反编译mips。哇!兴奋的我赶紧去官网下了2.3demo版试用了。但是这demo版限制也太多了吧…希望早日能有大神破解个完整版的。 这里主要讲讲我被jeb坑的那几年。。。经历我记得最早的jeb是1.5版本,直接点击bat就可以运行,简单到不行。后来又出了2.0上手也挺快。但是2.2.7虽然很早就出了,但是我由于一直不知道怎么打开(满脸黑线),所以...原创 2018-05-10 19:47:22 · 5759 阅读 · 2 评论 -
Appium自动测试框架学习笔记【一】
前言很早之前就听说了这个Appium测试框架,不过一直没有研究,正好这几天有时间学习一下,不知道对漏洞挖掘会有什么帮助,自己也还在摸索阶段,还是以记录为主。环境配置安装服务端官网的链接有位大神写了教程,我是参考他的。首先下载Appium Server,然后安装对应的测试框架,Mac下安装环境好像很简单的样子(这就是为什么我当初要换系统的原因吧!原创 2018-10-07 08:33:45 · 669 阅读 · 0 评论 -
Appium自动测试框架学习笔记【二】
前言接下来主要讲一下如何搭建java的测试环境,以及编写测试代码环境配置参考文章首先JDK和java IDE的安装就不讲了,IDE一般选择IntelliJ IDEA,不过为了能使用Appium我们必须安装一个Java-client,这是一个和web浏览器进行交互的开源框架github链接,参考文章,如果不使用Maven进行安装,那么在官网上下载对应的jar包,然后导入到项目中即可,这都是基...原创 2018-10-07 14:12:36 · 337 阅读 · 0 评论 -
Appium自动测试框架学习笔记【三】
前言也不知道比赛方是怎么想的23333,测试的app居然不支持x86架构的,没办法arm的模拟器太卡,所以只能用真机进行测试了。由于是比赛,所以我也不会贴上具体的代码,结合着测试需求进行一个简单的贴图吐槽这个比赛真的是LJ,现在测试都是IDEA结合MAVEN来搭建的环境,结果官方要求使用它自己的Eclipse,而且官网提供的软件还无法使用,只能自己下载最新版的,然后将它的后门插件安装,...原创 2018-10-08 09:12:48 · 271 阅读 · 0 评论 -
jeb2.27破解版for Macos 记录
前言jeb是个神器,不过之前总是各种原因一直没用起来,今天终于把一些环境给设置好了,当然我这里说的是破解版,正版当然就不会有这么多问题。!原创 2018-10-08 10:37:27 · 4355 阅读 · 1 评论 -
Appium自动测试框架学习笔记【四】
前言这比赛我最终放弃了,没什么搞头,贴一下我的代码,有兴趣的参考下吧,也没什么技术含量。原创 2018-10-08 19:31:00 · 504 阅读 · 0 评论 -
爱加密脱壳实战
前言看了这么久的书,总算是看完了,总归是要写点东西,记录下。这里基本过程还是参考大黄书上的内容,主要是自己动手。测试首先我们拿到一个apk程序,肯定要先查看一些基本的信息。包名,主活动名 所以将apk拖入AndroidKiller,提示爱加密加壳。只有两个类 可以通过反编译源代码进行查看,但都看出什么有用的信息。这种apk不脱壳是完全无法下手的。壳的几种方式加壳之后的源apk通常可以存放在三原创 2018-03-13 13:54:05 · 12663 阅读 · 0 评论 -
IDA的Oops! internal error 20099 occured
前言今天我在调试一个app,脱壳的时候发现了一个IDA7.0的一个BUG。Oops! internal error 20099 occured.问题描述由于APK使用了多线程进行轮询proc/[pid]/status中的ptrace状态,所以会有多次的fopen和fgets操作。我在这两处下断点。 在IDA7.0中,仅仅执行了一次,便出错退出,同时android_server出错退出解决办法我尝试原创 2018-03-12 20:49:11 · 3448 阅读 · 0 评论 -
Android混淆技术实战
前言总所周知,apk如果不加一些保护措施,那么可以被轻易的破解。自己辛辛苦苦写的代码,在一些人眼里几乎透明的如同源码。因此我们常常会使用混淆技术,增加破解的难度,同时也可以尽可能的压缩apk文件的大小。 今天,我就来实战一下一、代码混淆首先会涉及到build.gradle这个配置文件。signingConfigs { jsk_sign { keyAlias原创 2018-02-27 20:38:34 · 215 阅读 · 0 评论 -
apk常见工具使用【不定期更新】
前言突发奇想,想写一遍工具的使用文章。会不定期更新。 导航 1. jarsigner 2. java* 3. adbjarsigner签名首先使用jarsigner -help 查看参数列表,这个工具是jdk中自带的。jarsigner -verbose -keystore my_test_sign.store -signedjar out.apk input.ap...原创 2018-02-27 22:54:05 · 624 阅读 · 0 评论 -
apk签名验证实现
前言在学习的路途中,留下一点痕迹。签名保护的方法很多,我简单实现一下。使用全局Contextprivate static Context context; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedIns...原创 2018-02-28 00:07:45 · 1506 阅读 · 0 评论 -
动手编写Xposed模块
写在前面:今天自己动手实现了Xposed模块的编写,又费了很大劲,之前一直在搞crypto(对于我这个没学过数论的菜鸡,确实好难),这次把很多丢了的东西又捡回来了,所以在这里做个记录,下次再丢可以来这里看看。其实关于Xposed模块编写,网上有很多文章,都可以拿来借鉴,但自己写的才是最好的!一、准备一只安装Xposed框架的Android手机基本的Android的开发环境(-.-)...原创 2018-02-04 21:08:33 · 1250 阅读 · 0 评论 -
AS2.3下NDK开发
前言这里我借着android安全黄皮书,来做一遍NDK的相关开发教程,只是为了记录下过程,同时如果遇到了什么问题也可以,及时的记录并解决。! Note:原本我想照着小黄书上的过程来操作,但是书上提供的方法是基于VC6.0的,无奈上网找教程,但在实践的过程中一直都不成功,最后在官网找到了方法。因此我主要是按着官网的来。 官网链接准备最新版AS安装NDK工具包,CMake工具以...原创 2018-02-18 22:52:24 · 378 阅读 · 0 评论 -
动手实现smali中插入打印日志代码
前言日志功能在我们平时开发调试的时候是一件很平常的事,但是网上的app在发布时是没有日志,那么如果我们想要获取apk内的一些变量的,就可以通过网smali中添加日志,甚至是其它功能,来达到我们的目的。准备基本上不需要特别的准备工作。 使用到的工具:AS,AndroidKiller,或者其它的反编译工具都可以一、首先使用AS创建一个简单的项目(Enpty Activit...原创 2018-03-08 14:38:03 · 2996 阅读 · 0 评论 -
手动注册native方法
前言这大雾何时会散去!?实践注册native方法有两种实现方法,一种是默认的,如JNIEXPORT void JNICALL Java_com_code_jsk_handlenative_MainActivity_checkSign ,在JNI_OnLoad 会自动识别该方法,从而进行注册。这种方式虽然方便了编程,但同时也让破坏者找到了进攻的路口。 手动注册的好处是nativ...原创 2018-02-28 18:19:55 · 1683 阅读 · 0 评论 -
使用adb进行备份和恢复
前言这里参考了黄皮书中的第11章android中的allowBackup属性这个属性在开发的过程中通常是默认开启的,Google起初是为了防止数据丢失,留下了这个功能,但是这个属性也容易造成一些隐私数据的泄露。导出apk假设这时我手机上有一个app,我想将其安装包复制到电脑中。 运行该app,获取其包名adb shell dumpsys activity top #找到该app的路径adb she原创 2018-02-28 20:58:54 · 37208 阅读 · 6 评论 -
AndroidStudio+ideasmali动态调试smali汇编
0x00 前言之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。idea是一款商业软件,懒得去找各种破解版,就想着用androidstudio来代替idea来达到动态调试的目转载 2018-03-09 10:33:15 · 553 阅读 · 0 评论 -
记录一次脱壳后修复apk
前言好不容易会脱壳,但是却仅仅只能得到dex文件,无法动态调试apk,这样还是不行,因此我们需要对源apk进行修复准备首先我这里是脱了一个爱加密的壳得到dump.dex使用jadx-gui可以正常打开,说明脱壳成功了。接下来就是将dump.dex替换原来的classes.dex文件,不过不是简单的这么替换就行的操作使用android_Killer打开源apk,发现Mainactivity已经丢失,使原创 2018-03-16 19:46:36 · 8778 阅读 · 0 评论 -
Android打开系统调试总开关
前言最近一直在看黄皮书,所以有地感觉好的知识点,会做个简单的记录!预备知识首先了解一下两个文件system/build.prop #系统配置default.prop #系统属性信息这两个文件中大多数属性都是无法修改的。我们可以通过getprop进行获取,setprop进行设置。 其中有一个调试开关。ro.debuggable=0 0代表 总开关为关闭,只有应用程序添加android:deb原创 2018-03-02 21:38:03 · 2176 阅读 · 0 评论 -
Android逆向之hook框架frida篇
转载自 [原文](https://www.jianshu.com/p/ca8381d3e094) 前言Frida是一款基于python + javascript 的hook框架,通杀android\ios\linux\win\osx等各平台,由于是基于脚本的交互,因此相比xposed和substrace cydia更加便捷,本文重点介绍Frida在android下面的使用。转载 2018-03-17 00:36:51 · 1798 阅读 · 0 评论 -
apk动态调试一点错误
前言以前懵懵懂懂的我,突然感觉长大了,希望我们能长长久久。 今天在调试一个案例的时候,又是折腾了好久。特此记录下。错误这是一个CryptoDemo案例,我试图调试encrypt.so这个库文件的,刚开始我使用了debuggable模式进行调试,但是在调试的过程中发现始终无法加载这个so,甚至我连搜索都搜索不到。心情一阵郁闷,我尝试了各种古怪的方法,甚至还换了个手机进行尝试。都是以失败告终。正确正确原创 2018-03-11 10:29:21 · 414 阅读 · 0 评论 -
IDA动态调试so
前言其实有很多大佬写过类似的文章,我这里只是自己来实现一遍,并做下记录尝试首先拿到一个apk程序肯定要做一些尝试,因为我们无法一开始就知道该apk做了哪些保护措施。 通过静态分析,我们可以看到主要是在crack.so中的securityCheck函数做了校验 因此我们需要动态的来调试crack.so 以root权限运行android_server 开启端口转发adb forward tc原创 2018-03-11 14:52:19 · 622 阅读 · 0 评论 -
记录一次Frida框架的使用
前言最近了解到Frida这个框架,感觉很神奇,同样是hook,但是不用像xposed那么麻烦。而且安装也十分的简单。安装可以看这篇文章XposedHook这里用xposed框架实现了一遍。比较简单,就不多讲了。 主要代码如下:public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageP...原创 2018-03-17 17:28:39 · 3676 阅读 · 0 评论 -
Frida之hook Native函数
前言最近发现了一个hook框架,蛮有意思的,上手也很容易。例题我拿的是阿里2014CTF第二个apk作为样本。主要是讲一些思路,具体的过程就不写了,网上有很多的。一、对于Frida来说Hook一个native函数很简单,其实和hook一个java层的代码是一样的。不多写了。但对于这题来说,仅仅hook代码是不够的,还需要从内存中泄露出key。 使用IDA打开crack.so关键在这里0ff_628原创 2018-03-17 23:04:09 · 11015 阅读 · 0 评论