android
最近项目需要用到jni去实现一些功能,在原生层调用java层的过程中,踩了很多坑,这里做个记录,方便以后查阅,以及如果遇到一些错误,看看有没有这里的坑。 #坑1–jni方法签名分号问题这是一个很常见的问题,第一次写jni中方法签名的时候很容易遇到这个错误,比如下面这个签名 jmethodID equals_id = env->GetMeth..
2017-11-28
iOS GPS
give me the secret code ;) Incorrect Password! No content to display! U2FsdGVkX18rfttvlBfaP/wZ4mz+yF9gvxBFMo2gG/QMalAKH1zPVbeMZbAqs9WLD0RZJBHR22yxa7k+Mx2MVG..
2017-11-06
ARM64
#ARM64基础知识整理#Register#参数寄存器 (X0-X7)参数寄存器,在函数调用的时候传参使用。X0-X7分别对应8个参数,多于8个的参数保存在栈中。 #其他特殊寄存器 X29(FP) 栈帧寄存器 类比x64中rbp X30(LR) 链接寄存器,保存函数返回地址,x64该地址保存在栈中 SP 栈顶寄存器,类比x64中 P..
2017-10-21
x86
由于重装系统同步导致原文章消失,只能再写一遍,方便以后查阅。 #x86指令编码格式很多时候我们都是查阅指令参考页去了解一个指令的含义,但这并不能理解指令的编码格式。而只有学会看懂opcode表的时候才是王道。 x86是一种CISC指令集,CISC的全称是“Complex Instruction Set Computer”,表示的是一种复杂的指令集,其..
2017-10-11
kext
最近在学习一个Mac平台上开源的rootKit框架,里面确实有很多干货,本文就来分析其中与用户层交互的部分。简单说下rootKit原理:利用kext驻留在内核,完成实际的各种功能:sys_ptrace过滤 PT_DENY_ATTACH反调试hook系统调用防止sys_kil(很强大有木有)隐藏自身进程,文件监控,网络监控,提权等等可谓是相当可怕。这些..
2017-08-10
LLVM obfuscation
#0x00 目录 断断续续的学习了一段时间的LLVM,记录下学习进度,随着后面的学习待更新 LLVM简介 一个基于LLVM简单的代码混淆例子 参考链接 #0x01 LLVM简介LLVM(low level virtual machine)是一个先进的编译器框架,它提供了一种代码编写良好的中间表示(IR),可以作为多种语言的后端,还可以提供与变成..
2017-06-25
CTF writeup
#0x00 写在前面第一次做pwnhub题,最近参加了几场ctf比赛,pwnhub的题还是比较有一定难度的,这里记录下其中的一道逆向题。题目在这里 #0x01 简单分析拿到题目后试着在虚拟机里运行了一下,看下有什么提示 然后转去hopper搜下相关字符串,并没有发现error相关字符串,syclover也没有相关printf等函数输出,看来只能上gdb调..
2017-05-28
math
#0x00 写在前面 突然在邮件中收到Quora中这样一个问题”What does X equal in $\sqrt{x+15} + \sqrt{x} = 15$? “ 凭着曾经对数学的热爱,我点了进去。顺便学习了点知识。 #0x01 你会怎么解决?不得不承认,这种题型在初高中时候还是蛮常见的,在我的脑海里,也别无他法,一步一步去根号解方程吧。但都..
2017-05-04
Pegasus cve CVE-2016-4655 CVE-2016-4656 PoC
#0x00 写在前面 不知道为什么,刚开始就有很多话想说。因为看似是本文开始,实际却是连续几天几夜的分析的结束。本文将详细介绍iOS三叉戟漏洞,其影响涉及OS X 10.11.6和 iOS 9.3.4。这里为了方便以及简单,环境为OS X 关注iOS安全的技术人员都或多或少的了解这个漏洞,这里就不多说,可以参考下面的链接或者自行Google 1.iOS..
2017-05-01
give me the secret code ;) Incorrect Password! No content to display! U2FsdGVkX1+wvd13XnuiOiJZpimEgTOg4CPMx/kplmrkIqYj2U+Sx0TIHTneBrUXydRs0QyYFQvjXxrsI9NDBl..
2017-04-29