自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whklhhhh的博客

一只逆向小菜鸡

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

原创 180729 安卓-Xposed笔记(2)

今天提交才发现这几天研究的点错了,血崩orz回头重新搞,目标so做了混淆,感觉比较像控制流平坦化 但java层几乎没做混淆,关键符号加字符串定位轻而易举,结合Hook验证后即可通过Hook进行调用 然而Native方法不知怎么的死活没有Hook到 明明调用函数都已经抓到了的说HookNative方法Xposed也是可以HookNative方法的,只不过同样只能操作beforeHo...

2018-07-31 01:57:03 451

原创 180728 逆向-SMC出题笔记

在某黑哥的指示下给他加紧出两个题目~最先想到的就是34c3ctf时做过的SMC题目,那个随机数混杂着自解密真的是让我久久无法忘怀SMC题目的核心就在于自解密时的key 如果key不提供,那么考点就在于大量x86汇编中一般\x00出现的是最多的 而这需要基于一定量的代码之上才能猜出,而且这种题目相对而言可玩的花招要少很多于是选择了将key由一个.init_array中的函数动态生成...

2018-07-31 01:31:04 2401 1

原创 180727 安卓-Xposed使用笔记(1)

这几天也用了不少Xposed了,记录一下常用的一些方法和遇到的问题当做笔记~MultiDex的Hook需要通过Application.class中的attach方法来实现 如果再三确认类名和包名无误后,仍然报ClassNotFound异常,并且该APK是MultiDex的,那么就可以试着Hook一下attach方法XposedHelpers.findAndHookMethod(A...

2018-07-31 01:01:46 787

原创 180726 安卓-一则非正常闪退的分析

今天在逆一个App的时候死活没法运行,能够安装,但一打开就闪退 惯例查看adb的log,发现load了多个dex,还有很多第三方库做操作,产生了极其多的记录,本来以为是兼容性问题,结果试了几个终端都不行回头继续翻log,期望能找到退出信息和报错记录,突然几条log引起了我的注意I/AndroidRuntime(19220): VM exiting with result code 0, ...

2018-07-27 02:09:25 3657

原创 180725 安卓-签名机制

签名原理发送者将公钥公开,对于发送数据的信息摘要用私钥加密 接受者用公钥解密该内容,与接收数据的信息摘要进行对比 从而保证 1. 接收到的数据与发布数据相同 2. 发送者是公开公钥的私钥持有人与HTTPS相同,公钥必须可信才有意义 因此签名也需要携带一个由可信CA机构签发的证书,证明该公钥来自可信的发送者具体实现signapk对apk签名后会多出一个META-INF文件夹...

2018-07-25 23:54:02 192 2

原创 180724 安卓-SSLPinning及反制

简介SSL Pinning,即HTTPS的证书校验作用具体解释要从HTTPS的诞生说起了HTTP是明文传输的协议,在C/S不自行做加密处理的情况下,所有数据都是以明文形式在网络中传输的。 而在目前的庞大互联网中,大多数情况下从Client到Server要经过十几级网关转发。 而这中间,小到自己家的路由器、大到运营商的区域转发都是可以任意查看通信数据甚至篡改通信数据的。 这...

2018-07-25 22:39:13 4669 3

原创 180723 安卓-run-as命令

run-as命令功能以root身份运行命令,可以在未root的情况下查看某个(debug模式的)应用的内部信息(沙盒文件夹)介绍在没有root过的手机中,用户权限是无法查看很多信息的,包括各个应用的沙盒而run-as就向开发者提供了未root情况下访问沙盒信息的权限执行run-as + 包名,就可以直接以root权限进入该应用的沙盒中查看包括数据库、xml、各种信息文件...

2018-07-24 01:37:26 4821

原创 180721 逆向-极客巅峰(Re)

ReverseSimple Base-NIDA打开,从pdb路径可以leek出现一些信息 可以看到有Base32的字样,估计算法里可能会出现相关信息继续加载 简单重命名一下,注释上一眼就能看出来的结构 change函数里对Input做了变换,然后下面与一段字符串进行比较 注意这个地方break出去是继续跑下面的代码,并不是直接结束 从插件显示的花括号对应可以看...

2018-07-22 16:00:55 980 3

原创 180720 安卓-昨日问题解决

早上过去把写好的Xposed脚本跑起来,发现挂不上去,不知道是异步的问题还是当时没想起来FindAndHookMethod方法要加上Hook方法的参数的类作为参数的问题总之最后对doInBackground的Hook成功了,把堆栈打出来以后结果与昨天的预期截然不同–就是那个JEB断不到的方法在调用异步任务那么这样一来就有几个问题需要解释了 1. JEB为什么断不到呢? 这个问题最后...

2018-07-20 23:26:00 221

原创 180719 安卓-RPC对象查找不到的问题分析

通/断网情况下都抓不到HTTP包,估计彻底废弃了HTTP接口,完全使用RPC方式连接 在程序中搜索了半天,只根据单词找到了HTTP接口,但是并不是APK真正使用的连接方式,所以还要继续追溯这个APK中没有使用Native层,导入的库也很少,搜索socket才找到了一点调用,但最终也指向了HTTP虽然关键目标的HTTP包没有抓到,但是有一个每次都会同时发生的HTTP请求(URL-A),猜测...

2018-07-19 23:39:59 235

原创 180718 安卓-阶段总结

这几天一直在分析实际的APP,与CTF题目比起来差别还是挺大的 CTF的代码量大多很小,最多也就十几个类,完全可以挨个看下来,有什么骚操作最多也就一两个点,所有代码看下来总会发现的而实际中的APP视功能和体量体积会扩大很多,而且使用了很多相对而言比较难处理的工业技巧,例如异步处理、服务机制、消息机制等等从来没接触过的东西对于大体积的APP主要依靠字符串、关键词搜索来找到突破点,然后依靠交...

2018-07-19 00:58:18 228

原创 180717 安卓-特殊权限简介

前言Android的权限机制使得应用必须在用户同意的前提下才能进行一些敏感操作,而Android6.0新增了一个被称为运行时权限的功能。 这个功能可以申请许多用户体验很好的产品,但随之而来的是一些隐私安全问题辅助功能权限许多安卓使用者因为各种情况而需要以特殊方式与手机交互,包括无法看屏幕、使用触屏、接收语音消息等等,因此安卓提供了辅助功能和服务来帮助这些用户更简单地操作设备,包括...

2018-07-18 01:33:17 675

原创 180716 安卓-防护基本策略(反调试)

java层Dalvik虚拟机没有提供反调试的方法,但是可以通过反射方法来使得方法的调用变得扑朔迷离 动态获取类是更进阶的方法,通过一些解密计算等操作来得到类,可以使得动态调试较为困难native层Native层实质上就是Linux程序,因此反调试手段也跟Linux下的反调试基本相同主要还是alarm, ptraceme, tracepid等常见手段具体描述在前几天的Lin...

2018-07-18 01:01:33 310

原创 180715 安卓-防护基本策略(Native方法)

Native方法安卓的底层是Linux实现,但实际上程序入口是在Dalvik虚拟机中,作为字节码和运行在虚拟机中的代码本身就不具备太强的安全性,另一方面虚拟机的执行效率也是众所周知的因此安卓允许通过so库的加载来调用底层linux执行代码,这就是Native方法具体使用方法为在java层中使用System.loadlibrary(“test”),虚拟机会去载入libtest.so文件,...

2018-07-18 00:43:54 406

原创 180714 逆向-MeePwn(IMAGE_CRACKME)

一堆Reverse只有这个签到题难度的玩意儿能水一水(:з」∠)夜影为什么这么菜 Find the key that was used to generate Meepwn.ascii.bak Sometimes you don’t really need to read the code Notice: Flag is in format MeePwn{…}不需要真的...

2018-07-16 01:26:47 378

原创 180713 安卓-防护基本策略(混淆和签名)

混淆众所周知安卓是Java的一个分支,默认情况下Java编译时都会将变量名、方法名都信息全部包含进去,安卓也是同样与编译型语言(可以)将符号信息全部舍弃,完全依赖地址区分变量不同,解释型语言通常将信息和变量绑定使用,因此无法丢弃符号信息代码混淆编译型语言例如C语言,可以在编译时加上去除符号表和重定位信息的选项来减小生成文件的体积,对应的也会使反编译困难许多解释型语言虽然不能完全...

2018-07-16 00:57:18 235

原创 180712 安卓-入门

安卓逆向反编译Apk结构classes.dex java层的主要代码,即主程序META-INF 签名和证书相关文件lib native层的动态链接库文件(.so)目录,按照CPU架构作为子目录存放不同的soassets 打包的静态文件,通常存放需要读取的图片、加密代码等等res 资源目录AndroidManifest.xml 配置文件,默认状态为编译后的二进...

2018-07-12 23:35:48 473 2

原创 180705 逆向-Linux的逆向

常用工具和命令nm 列出目标文件的所有符号objdump -d参数表示反编译.text段中的程序代码readelf 查看ELF文件的各种信息IDAgdbIDA与PE程序基本类似,将ELF程序拖入IDA也可以快速的反汇编,主要借助hex-ray插件来反编译出可读性较高的伪代码实验-passwd_generatortrickpatchdynam...

2018-07-12 23:34:29 1522

空空如也

空空如也

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

TA关注的人

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