Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dstmath/androidelf_enc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

简单介绍

elf 加密项目,功能有:1)字符串加密(.rodata),2)函数加密

加密算法PRESENT(分组密码算法,速度快,实现简单。但可以通过差分分析破解,折中考虑),密钥由blake244生成(单向哈希,SHA-3备选,速度快)

目前支持Linux x86与ARM(由于elf解析使用的32位结构体)

使用

encrypt 是加密器,payload 是测试demo,首先在main函数中解密.rodata,亦可放到init_array中实现,loader 负责运行时函数加解密操作的具体实现

其中 payload 的编写要符合以下规范:

  • 需要加密的函数,以 _encrypt_ 前缀声明,如 void _encrypt_helloworld(void)

  • 使用 decrypt_and_call(func_name) 调用加密的函数(注意多线程问题)

  • 加密函数页对齐__attribute__((aligned(PAGE_SIZE))

  • 使用 -fpie 编译

编译

  • Linux: make.

  • Android: make android

About

elf 函数加密,字符串加密

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /