上一页 1 2 3 4 5 6 7 8 ··· 21 下一页
摘要: crackme难度不高,主要是为了熟悉逆向分析apk的步骤。 脱壳 反编译apk发现加了360的壳,主Activity为com.kanxue.test.MainActivity frida-dexdump一把梭,dump的dex需要修复checksum和signature。修复完成后jadx反编译d 阅读全文
posted @ 2023-03-05 03:03 怎么可以吃突突 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 破坏堆栈 ida会在分析一个函数的时候会计算堆栈指针的变化,如果不平衡就无法进行F5。 滥用ret ida在分析函数时,如果碰到ret指令就认为当前函数分析结束。通过内联汇编利用arm64的ret指令可以干扰ida的F5。 __asm__ volatile( "adr x30,0x0 \n\t" " 阅读全文
posted @ 2023-03-02 03:15 怎么可以吃突突 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 利用angr的SM(Simulation Managers)模拟管理器,通过调用SM的step()方法可以寻找到被混淆函数所有active状态的基本块(可达的基本块)。去除虚假控制流混淆的思路就是:先找到目标函数所有的基本块,然后将可达的基本块去除之后剩下的就是不可达的基本块,最后将不可达的基本块以 阅读全文
posted @ 2023-02-27 16:23 怎么可以吃突突 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 编译环境搭建 wsl + vscode + c++IntelliSense 下载源码后进入到llvm子目录中进行编译(wsl编译环境依赖自行设置), 这里使用的是生成makefile文件进行编译。 mkdir build_debug cd build_debug cmake -G "Unix Mak 阅读全文
posted @ 2023-02-23 15:33 怎么可以吃突突 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 去混淆思路 先找到函数中所有的基本块 确定状态变量是保存在宿主寄存器中还是栈中(局部变量) 观察判断控制块的特点,将所有控制块剔除。剔除之后基本块中还包含真实块(如果不存在虚假控制流) 确定各个真实块的执行路径,即一个真实块能跳转到哪几个块(1/2个块),通常通过unicorn模拟执行或者angr符 阅读全文
posted @ 2023-02-19 17:17 怎么可以吃突突 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 对于自定义linker加固so而言,为了防止整体dump并对修复重定位表的脱壳方式(upx的脱壳),可以将一些重要的结构信息在内存中进行抹去和移动。 抹去 ELF文件头在so文件加载后就不需要使用了,所以可以在加载完so文件后直接将其抹去。 .rel.plt/.rela.plt和.rel.dyn/. 阅读全文
posted @ 2023-02-12 13:49 怎么可以吃突突 阅读(804) 评论(0) 推荐(1) 编辑
摘要: 其实自实现linker加固so与之前研究windows平台的PE文件的加密壳原理很相似。主要就是自定义文件格式加密so,然后壳代码实现将加密的so文件加载,链接重定位并修正soinfo(三部曲)。 自定义文件格式 格式可以自己定义,只要在壳代码加载so时能够知道正确的格式就可以,下面是对标准的ELF 阅读全文
posted @ 2023-02-08 01:36 怎么可以吃突突 阅读(1334) 评论(1) 推荐(1) 编辑
摘要: 自定义linker加固so是主流的加壳方式,通过实现linker程序来加载,链接加固后的so文件。最后为了让加固后的so中的代码能与其他模块交互,需要修正壳(自定义linker)的soinfo为加固so。我在编写自定义linker代码时,在将加固的后的so加载,链接和修复soinfo后尝试通过dlo 阅读全文
posted @ 2023-02-07 01:05 怎么可以吃突突 阅读(590) 评论(0) 推荐(0) 编辑
摘要: # ELF可执行文件脱壳 使用upx对ELF文件进行加壳,加壳后的文件不包含动态链接信息,也就是说加壳后的可执行文件是一个纯静态链接文件。对于纯静态链接的可执行文件而言,linux内核在将此elf文件加载到内存后会直接修改应用层入口为此elf文件的入口函数,不再需要动态链接器的参与。 ![](htt 阅读全文
posted @ 2023-02-01 17:50 怎么可以吃突突 阅读(919) 评论(0) 推荐(0) 编辑
摘要: # 静态注册 对于静态注册的jni函数而言,jni函数签名名称要与java层对应的函数名称一一对应。当一个java类被加载时会调用LoadMethod将其所有的方法也都加载到虚拟机中,并调用LinkMethod设置函数的入口。 ``` static void LinkCode(ClassLinker 阅读全文
posted @ 2023-01-11 11:46 怎么可以吃突突 阅读(399) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页