Android Frida 框架

本文介绍了Frida,关于Xposed的介绍请参考:Android Xposed 框架

一、Frida框架简介

  • Frida是一款基于Python + JavaScript 的hook框架,本质是一种动态插桩技术。可以用于Android、Windows、iOS等各大平台,其执行脚本基于Python写成,而注入代码用JavaScript写成,所以有必要了解一些这两门语言的语法。本文主要讲述了Android上Frida框架的使用。
继续阅读“Android Frida 框架”

AOSP源码编译过程记录

一、AOSP简介

  • Android is an open source operating system for mobile devices and a corresponding open source project led by Google. The Android Open Source Project (AOSP) repository offer the information and source code needed to create custom variants of the Android OS, port devices and accessories to the Android platform.
  • 简单点说,AOSP就是Android系统的开源版本,其中不包括各家OEM厂商的闭源驱动,也不报告Google框架等,也就是我们平时俗称的“原生”系统。
继续阅读“AOSP源码编译过程记录”

PHP反序列化漏洞

0x00 前言

  • 本次总结用到的题目是“2018全国大学生网络安全邀请赛”的赛题,题目名称为Web2。

0x01 通过vim源码泄露获取源代码

  • 拿到题目,只有一个Can you hack me?显示,F12查看也没有什么端倪。文件本身为index.php,访问.index.php.swp得到其vim交换文件,典型的源码泄露。在Linux中可以还原出index.php
vim -r index.php
继续阅读“PHP反序列化漏洞”

WriteUp – 2018年民航网络安全职业技能竞赛决赛个人赛 – Reverse部分

Reverse部分源代码:https://github.com/xiaolulwr/CAAC-CTF-2018-Final-Reverse

1. FlagCounter(200pt)

  • 主要考点:JAR逆向
  • 工具:Java Decompiler / Luyten
  • 题目给出JAR文件,直接使用JD或Luyten工具进行反编译
  • 找到cn.edu.cauc.isecca.fc.FlagCounter类,定位到按钮点击事件方法:

继续阅读“WriteUp – 2018年民航网络安全职业技能竞赛决赛个人赛 – Reverse部分”

iPhone 北京一卡通充值流程研究

一、研究背景

  • 苹果手机NFC概述:苹果公司也是NFC标准的推动者之一,苹果手机从iPhone 6开始搭载NFC芯片,用于Apple Pay的功能,但是对于iPhone手机上的NFC功能,经过调查与实践,有以下几个基本事实:
    • 对于所有iPhone,iOS系统不对第三方开发者提供有关写卡的API。
    • 对于运行iOS 11或更高版本的iPhone 7系列以及更新机型,苹果提供了一个名为Core NFC的框架,可以读取类型1-5的NFC标签,对于运行iOS 11以下的设备以及iPhone 6、iPhone 6s系列和iPhone SE,CoreNFC不可用。[1]
    • 对于所有运行iOS 11.3以及更高版本,支持NFC的iPhone,都可以使用公交卡功能,目前只支持北京和上海。
    • 对于iPhone 7系列以及更高版本的机型,在公交卡功能中可以在开新卡时,转移已有公交卡的余额,这个过程涉及到写卡,该功能对于iPhone 6、iPhone 6s系列和iPhone SE不可用。[2]
    • 对于越狱的设备,插件NFCWriter可以实现iPhone的 NFC标签读写和卡模拟,支持iOS 9和iOS 10。[3]

继续阅读“iPhone 北京一卡通充值流程研究”

Android Xposed 框架

一、Xposed框架简介

  • Xposed是Android平台上的一个常用的HOOK框架,可以在不改变程序源代码的前提下,影响程序的运行。一个支持Xposed的Android应用程序被称为一个Xposed模块,用户可以在Xposed中安装各种各样的Xposed模块,在启用或关闭Xposed模块之后,需要重新引导系统才能生效。
  • Xposed模块使用Java语言开发,这意味着开发人员可以使用Android Studio开发一个自己的Xposed模块,就像开发一个Android应用程序一样简单。

继续阅读“Android Xposed 框架”

Android 动态调试手册

0x01 准备工作

  • 首先使用工具获取到正确的动态链接库文件,一般来说有四种类型:
    • arm64-v8a:ARMv8,64位
    • armeabi-v7a:ARMv7,32位
    • x86:x86,32位
    • x86_64:x86_64,64位
  • 大部分情况下,在真机上调试都使用ARM架构的so文件,可以根据设备是32位还是64位,选择对应的so文件进行调试。
  • 其次要保证Android手机ROM的ro.debuggable值为1,查看方式:
yuga:/ # getprop ro.debuggable
1
继续阅读“Android 动态调试手册”