gal2xy's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  •   
  •   

阅读笔记 —— 《Software Obfuscation on a Theoretical Basis and Its Implementation》

概述软件混淆是一种有前途的方法,用于在不受信任的环境中保护软件的知识产权和秘密信息。不幸的是,以前的软件混淆技术存在一个主要缺点:它们没有理论基础,因此不清楚其有效性。为此,我们在本文中提出了新的软件混淆技术。这些技术基于**软件程序过程间分析(intraprocedural analysis)的难度。我们的混淆技术的本质在于解决一个新的复杂性问题,即在存在函数指针数组的情况下,精确确定函数指针指
2024-04-17
论文研读
#论文研读 #函数指针混淆

阅读笔记 —— 《改进的基于底层虚拟机混淆器的指令混淆框架》

改进该论文对于LLVM-IR层的混淆进行了如下两种改进: 指令加花 指令替换 指令加花该论文提出了两种指令加花方法: 叠加跳转 虚假循环 以上花指令以基本块形式进行添加,首先需要对原有的基本块进行拆分,然后在拆分后的基本块之间插入构造的花指令基本块,并通过不透明谓词进行有效的整合。 基本块拆分算法123456789101112131415算法1 Dependency Analysis Al
2024-04-17
论文研读
#OLLVM #论文研读

OLLVM移植到NDK

一、前言一开始是直接将ollvm4源码编译后移植到ndk上,按照跟着铁头干混淆2 ubuntu20.04编译ollvm - 简书 (jianshu.com)上的步骤走,结果仍然报错: 1Android Studio fatal error: 'stdarg.h' file not found 而且如果直接将OLLVM的bin,lib,include目录覆盖到NDK中的对应的目
2024-04-17
LLVM and OLLVM
#OLLVM #代码混淆 #LLVM

OLLVM移植到LLVM14

一、前言由于OLLVM只支持到版本4后就不再更新了,然而LLVM已经更新到了版本18了。故本文主要目的是将OLLVM移植到LLVM14上。这里参考了https://github.com/buffcow/ollvm-project。 根据项目中的提交记录,可以将修改分为三步: 移植ollvm/obfuscator/lib/Transforms/Obfusca
2024-04-17
LLVM and OLLVM
#OLLVM #代码混淆 #LLVM

OLLVM源码编译和使用

一、准备阶段1.1 工具配置编译ollvm需要用到的工具如下: cmake gcc 8.x g++ 8.x gcc和g++的版本得是8.x的版本,通过如下指令安装: 1sudo apt-get install gcc-8 g++-8 -y 如有多个版本的gcc和g++,需配置优先级: 12345sudo update-alternatives --install /usr/bin/gcc g
2024-04-17
LLVM and OLLVM
#OLLVM #代码混淆

NDK开发学习笔记

一、NDK项目新增内容使用Android Studio直接创建一个默认的NDK项目,会发现新增了如下部分: 多了加载本地库的代码和本地库中方法的声明代码。 在项目的main目录下多了cpp目录,包含CMakeLists.txt配置文件以及native-lib.cpp代码实现文件。 buid.gradle配置文件中多了native层的编译配置。 二、NDK模板代码分析借助上面这个模板
2023-12-26
Android
#NDK

Frida入门练习(二) - KGB Message

题目附件:tlamb96/kgb_messenger: An Android CTF practice challenge (github.com) MainActivity 这里我们需要跟踪一下R.string.User,直接点击,可以知道对应的资源id为: 1public static final int User = 0x7f0d0000; 根据这个资源id在resources
2023-12-21
Frida
#Frida

Frida入门练习(一) - 七层关卡

附件:见[原创]frida基础 闯关训练 七层关卡-Android安全-看雪-安全社区|安全招聘|kanxue.com LoginActivity onClick()方法中判断了输入不能为空,且要满足LoginActivity.a(obj, obj).equals(obj2)才行,方法如下: 很简单,也就是密码是账号的HmacSha256加密,加密使用的密钥是账号本身。 这里我们使用frida
2023-12-20
Frida
#Frida

Frida的集成工具:Objection的使用

指令选项1objection --help Objection连接12objection -g <packagename> exploreobjection -N -h <phone&#x27;s ip> -p <port> -g <packagename> explore # 指定ip与端口连接 连接成功后是如下画面: 按空格可以获取命令提
2023-12-19
Frida
#Frida

Python中frida库使用

启动frida服务包名附加1234567891011import fridaimport sysjscode = &#x27;&#x27;&#x27; &#x27;&#x27;&#x27;device = frida.get_usb_device()# 获取usb连接的测试机process = device.attach("设置")# 包名附加进程,可通过frida-ps
2023-12-18
Frida
#Frida
123456…14

搜索

Hexo Fluid
总访问量 次 总访客数 人