前言结果非常意外,我竟然获得了今年安卓的优秀奖,好听点是腾讯游戏安全竞赛2026安卓赛道决赛第5名!
比较遗憾的就是对反调试反注入这一块没有分析好,再加上很多分析过程都依赖AI,导致最后还是排名偏低,不过也是非常满意了。
对于FLAG生成的部分,网上已经有很多优秀的WP了,包括第一名Matriy师傅的,让我受益匪浅,因此在这里只对我比赛最为困惑的且学习颇多的地方,注入检测进行复盘
多线程检...
从tcpdump开始我们在研究Frida检测与绕过的时候,一直绕不开的几个点
扫描Frida server的默认端口27042
读/proc/self/task/检测特征线程,比如
1232026-03-04 13:03:09.451 11077-11077 FridaDetect twogoat.checker2 ...
从ArtMethod变化观测众所周知,Frida在native层的hook是通过inline hook实现的,就是在函数开头修改字节码,跳转到自己的trampoline函数,这个不难理解,也并非Frida所独有的。/但Frida真正强大的,在于其Java层函数Hook的功能。
在此次学习中,我选用Android9 ARM64作为测试环境。
接下来写一段最简单的代码,通过对add_t...
效果添加声明的函数都走vmEntry
vmEntry添加CFF魔改后
运行结果正确
思路过去无论是在CTF题目中,还是在真实的APP分析中,总能看到各种各样的VM。
就拿CTF来说,出题人要如何才能出一道VM题呢?
对我而言,如果我要在VM里塞入一个较复杂的算法,像TEA,但是在编写完VM框架后又不想过多思考如何编写bytecode,所以我选择先用标准c语言编译一份标准的TEA算法...
思路间接跳转混淆,就是将汇编的跳转或者跳转指令,变化为通过值计算得到地址,再通过jmp 寄存器的形式的混淆
在现在Agent的能力下,其实单纯的CFF已很容易被分析了,但是遇到复杂的间接跳转控制流时,表现得还是不尽人意
其实无论对于间接混淆还是别的混淆,最关键的一点就是要保证执行流的正常,并在此基础上做调整。
我的方案是·,对于每一个块都有一个key,获取出加密后的后继偏移地址,然后经过一...
MyOllvm大致思路对于每一个Function,我们要对其BasicBlock进行处理
这里我把其Block类型大致分为入口点的EntryBlock,其他的普通分支BasicBlock,和返回块EndBlock
我们要做的,就是在EntryBlock中新建一个SwitchValue变量,并建立一个SwitchValueBB块,根据当前SwitchValue的值,去控制下一个执行的Bloc...
流量截取没有证书校验,直接开wifi代理就好了
12345678910POST /v3/api.php/Run2/beforeRunV260 HTTP/2Host: api2.lptiyu.comCookie: acw_tc="2f62d7f817716442398976314e8a27f4650fc7520c0d36199ec0b4a2952ae9";$Path=&qu...
基础配置本来是想着为了学年论文努力在ebpf上做做文章了,最近直接入手了一块8g的香橙派5plus,喜提人生中第一块昂贵的开发板。
环境配置跟着官方wiki来也没出太多问题
tf卡的系统我刷的是Orangepi5plus_1.2.0_ubuntu_jammy_server,基本用不上,不过ssd主系统的配置文件出问题,无法正常启动时,还是要用它挂载并救回来
主系统我刷的是Joshua-Ri...
前言HG532e的经典漏洞CVE-2017-17215网上已经有大量的复现文章的,但都是从网上直接下载到固件文件,我觉得还是有必要自己手动提取一遍的,然后在真机上打一遍的,通过这个过程也学习到了很多。
固件提取首先从某神秘的交易平台拿下一台陆版的HG532e,可以看到非常具有年代感的盒子
登入后台发现后台和网上固件仿真出来的不一样
网上流传的应该是海外版的固件,不过问题不大
然后就是愉...