自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 seccomp + ptrace hook系统调用demo

目前绝大部分app都会频繁的使用syscall去获取设备指纹和做一些反调试,使用常规方式过反调试已经非常困难了,使用内存搜索svc指令已经不能满足需求了,开始学习了一下通过ptrace/ptrace配合seccomp来解决svc反调试难定位难绕过等问题。

2024-05-21 16:26:27 361 1

原创 seccomp-bpf

Linux 2.6.12中的导入了第一个版本的seccomp,通过向/proc/PID/seccomp接口中写入“1”来启动通过滤器,最初只有一个模型:严格模型下模(strict mode)编译限制的进程使用:PLAINTEXT1使用其他系统调用就会收到信号(SIGKILL)退出。测试代码如下:C1234567891011121314151617181920212223242526272829303132333435。

2024-05-21 16:25:35 263

原创 OPENAI

昨天下午在肉丝geigei的星球看到有个佬拿ai识别算法直接震惊了,深入玩了一下更震惊了!!!AI:人类一败涂地。

2024-05-21 16:24:46 905

原创 frida常用代码

** 一般情况在内存中能直接看到的类型都是c的类型 java是不在内存中的 java在虚拟机中运行*///这个非常好用可以用在在内存中搜索字符串特征来定位算法位置。//也可以用来搜索svc指令 来做反调试。//通过函数指针主动调用函数。//得到函数的返回值。

2024-05-21 16:23:54 524

原创 frida编译过检测

输入make会弹出所有可以构建的版本 编译完成的结果在 frida/build/编译的版本/bin目录下。PATH 上的开发工具链和 Node.js。带有 GCC 7.5 或更新版本的现代 x86 系统。用葫芦娃大佬的那个补丁 执行必重启 我选择手动添加。在src/embed-agent.sh添加。修改这里的话找到自己frida的安装目录。

2024-05-21 16:23:06 349

原创 strace实现原理:ptrace系统调用

根据strace官网的描述,strace是一个Linux用户空间跟踪器,可用于诊断、调试和教学。我们用它来监控用户空间进程和内核之间的交互,比如系统调用、信令、进程状态变化等等。strace 使用内核的 ptrace 特性来实现其功能。在运维的日常工作中,故障处理和问题诊断是主要内容和必备技能。strace 可以作为跟踪故障过程的有效工具。就像侦探通过系统调用的痕迹告诉你异常的真相。这次想分享一个实用的东西,就是写一个strace工具。

2024-05-21 16:22:22 715

原创 ptrace的各种操作

基本原理是: 当使用了ptrace跟踪后,所有发送给被跟踪的子进程的信号(除了SIGKILL),都会被转发给父进程,而子进程则会被阻塞,这时子进程的状态就会被系统标注为TASK_TRACED。断点的实现原理,就是在指定的位置插入断点指令,当被调试的程序运行到断点的时候,产生SIGTRAP信号。spawn模式的原理是ptrace到zygote进程,然后跟踪zygote进程的fork系统调用,如果fork出来的新进程是指定包名的app,那么detach掉zygote进程,进而跟踪目标app进程的系统调用。

2024-05-21 16:20:05 268

原创 Frida工作原理学习

frida是一款便携的,自由的,支持全平台的,hook框架,可以通过编写JavaScript,Python代码来和frida_server端进行交互,还记得当年用xposed时那种写了一大堆代码每次修改都要重新打包安装重启手机,那种调试调到头皮发麻的痛苦百分之30的时间都是在那里安装重启安装重启直到有一天遇到了小甜甜。

2024-05-21 16:19:03 321

原创 记录一次编译内核,修改内核源码监控系统调用

简单的来说呢就是libc.so里面的一些系统函数比如read(),write()最简单的读写函数,这些函数实际上底层都是由syscall()交给linux内核去实现的他的第一个参数是系统调用号,后面的参数是根据调用的函数来写的现在用android studio开发的话使用系统调用和使用正常的函数一样也不需要去记这些系统调用号都有一个常量表可以很方便的去实现功能在调用syscall时通过会从用户态切换到内核态。

2024-05-21 16:18:15 294

原创 记录编译aosp+修改源码

Hook的前提需要将代码或者能够完成Hook功能的东西,注入到目标进程中安卓中注入的方式:zygote注入、ptrace注入、文件感染等利用ptrace注入,需要root权限为了方便Hook代码修改,还设计成了需要与PC端连接当Hook代码修改测试完毕,可以通过它来实现免root、脱离PC但是它本身没有注入功能,需要将其打包到app中魔改系统在app启动过程中,自动加载frida-gadget,就可以不用修改app了,更通用BASH12345678910。

2024-05-21 16:17:21 581

空空如也

空空如也

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

TA关注的人

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