-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b0ad7b6
commit 2a9f834
Showing
9 changed files
with
433 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
## Chinese Documentation | ||
[点击](README_CN.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
## Chinese Documentation | ||
[点击](README_CN.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,83 @@ | ||
# AntiOllvm | ||
### Eliminate ollvm obfuscation and generate binary raw files. | ||
### Automatically deobfuscate binaries and generate new binaries. | ||
|
||
## Chinese Help | ||
中文帮助点击 [帮助](README_CN.md) | ||
|
||
## 公众号 | ||
**关注我的公众号可以第一时间收到我的最新原创技术文章分享** | ||
## Decriptor | ||
|
||
![](https://cdn.jsdelivr.net/gh/sanfengAndroid/sanfengAndroid.github.io@main/images/wechat_channel.png) | ||
Software obfuscation protection is very common these days. Although this protects the rights and interests of normal developers, it also provides convenience for the authors of malware and viruses. They can also use obfuscation to protect malware. This is a security analyst. A great hindrance, they have to spend a lot of time to analyze and sort out the logic, AntiOllvm provides automatic de-obfuscation function, which greatly reduces unnecessary analysis time, and it is not only de-obfuscation. | ||
|
||
This software uses [retdec](https://github.com/avast/retdec) to convert binary code to `LLVM IR` code, optimize and remove the obfuscated part, and use [LLVM](https://github.com/llvm/llvm-project) recompile it to generate a new binary file corresponding to the symbol address of the original binary file, and at the same time ensure the semantic correctness of the code, the original obfuscated function body must be larger than the unobfuscated function body, so after optimization Recompile writes code to original file location and fixes relocations using global variables. | ||
|
||
|
||
## Official website [https://antiollvm.com](https://antiollvm.com) (coming soon) | ||
|
||
## Software purchase | ||
|
||
| | China |Other Regions|Binding Device|Number of Bindings|Features Restrictions |Follow-up Feature Restrictions| Bonus |Windows x64| Linux x64 |macOS | | ||
|:--: |:----: |:------: |:------: |:------: |:------: |:----------: |:-------------:|:----: |:-----: |:----: | | ||
|Trial | \ | \ | \ | \ |Only Arm, does not support recompilation | \ | \ | Support |Subsequent opening|Subsequent opening| | ||
|Annual subscription|9600¥ | 1650\$ | 1 device | 1 time | None |Additional charges may apply | Now-01/18/2023| Support |Subsequent opening|Subsequent opening| | ||
|Permanent |38000¥| 6800\$ | 1 device | 10 times | None | None | Unlimited | Support |Subsequent opening|Subsequent opening| | ||
|
||
- Contact information | ||
- Telegram Group [t.me/antiollvm](https://t.me/antiollvm) | ||
- Email beichenzhizuoshi@163.com | ||
- WeChat public account: sanfengAndroid逆向安全 | ||
- QQ group: [839141004](https://jq.qq.com/?_wv=1027&k=vNKrvgND) | ||
- At present, there may be some problems. The first purchase gift is valid until 01/18/2023. If you encounter any problems, you can report it through the contact information above. Please be patient and wait for the repair. | ||
- Trial version download [click](releases) | ||
- Download the official version, please contact me through the above contact information | ||
|
||
## Using help | ||
[Click](doc/README.md) | ||
|
||
## Development progress | ||
|
||
| Architecture | ELF | COFF | Mach-O | | ||
| :----: | :-: | :--: | :----: | | ||
| Arm | Yes | | Yes | | ||
| Arm64 | Yes | | Yes | | ||
| X86 | | | | | ||
| X86_64 | | | | | ||
|
||
## Instructions for use | ||
|
||
- This project is a paid project, and this repository will only store the source code and binary files of the description files and some test samples | ||
- Everyone is welcome to provide samples (the more complex the better) to my mailbox [beichenzhizuoshi@163.com](https://mail.163.com/), you can also submit **issues** in this warehouse with samples and instructions , please indicate **binary architecture and file format** in the title when sending the sample The **obfuscation difficulty level (1-3)**, I will reply you with the deobfuscated binary after the deobfuscation passed | ||
|
||
## Disclaimer | ||
AntiOllvm is a software that automatically de-obfuscates binary files. It is suitable for software security researchers and software security enthusiasts to use security products for learning and research. Do not use it for unauthorized and illegal purposes. | ||
|
||
When you use this security product for research/testing, you should ensure that the behavior complies with local laws and regulations and has sufficient authorization. If you have any illegal behavior in the process of using this security product, you shall bear the corresponding consequences by yourself, and we will not bear any legal and joint responsibility. | ||
|
||
Before you use this security product, please read it carefully and fully understand the contents, limitations, disclaimers or other terms involving your significant rights and interests. Unless you have fully read, fully understood and accepted all the terms of this agreement, please do not use this security product. | ||
|
||
Your use behavior or your acceptance of this Agreement in any other express or implied manner shall be deemed that you have read and agreed to be bound by this Agreement. | ||
|
||
## directory description | ||
|
||
- Each test directory contains the corresponding test source code, and the preset static library (not obfuscated, obfuscated), the bin in the corresponding directory generates binary files related to the architecture and file format, binary files and static libraries Without `-obf` suffix is generated without obfuscation, with `-obf` suffix is generated after obfuscation, with `-anti` in the binary directory is the de-obfuscated binary output. | ||
- For the description of each test item, please refer to the `doc` directory document in the corresponding directory | ||
- [OpenSSL Test](OpenSSLTest/doc/README_CN.md) | ||
- [Arm64 Test](Arm64Test/README_CN.md) | ||
|
||
|
||
## [personal blog](https://sanfengandroid.github.io/blog) | ||
|
||
Including technical article sharing, software instructions, video demonstrations, etc. | ||
|
||
## Software Future | ||
|
||
- Open `X86`, `X86_64` deobfuscation support | ||
- IDA plugin, convenient de-obfuscation, better optimized de-obfuscation using IDA analysis results | ||
- Develop simulation execution to realize cross-platform binary file tracking operation on PC, such as algorithm analysis, etc. | ||
- IDA virtual debugging, built on simulated execution. | ||
|
||
## Quote | ||
|
||
### retdec [https://github.com/avast/retdec](https://github.com/avast/retdec) | ||
|
||
### LLVM [https://github.com/llvm/llvm-project](https://github.com/llvm/llvm-project/) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,89 @@ | ||
# AntiOllvm | ||
|
||
### 去除 Ollvm 混淆并生成与原始文件对应的二进制文件 | ||
### 自动化去除二进制文件混淆并生成新的二进制文件 | ||
|
||
## 公众号 | ||
## 描述 | ||
|
||
**关注我的公众号可以第一时间收到我的动态** | ||
  现如今软件混淆保护很常见,这虽然保护了正常开发者的权益但同时也给那些恶意软件和病毒的作者提供了便利,他们也可以借助混淆来保护恶意软件,而这对安全分析人员是一个极大的阻碍,他们不得不花费大量的时间来分析理清逻辑,AntiOllvm 提供自动化去混淆功能,大大减少了不必要的分析时间,同时它不仅仅是去混淆。 | ||
|
||
![](https://cdn.jsdelivr.net/gh/sanfengAndroid/sanfengAndroid.github.io@main/images/wechat_channel.png) | ||
  本软件使用 [retdec](https://github.com/avast/retdec) 将二进制代码转换为 `LLVM IR` 代码后优化去掉混淆部分,并使用 [LLVM](https://github.com/llvm/llvm-project) 将其重新编译生成与原二进制文件符号地址相对应的新二进制文件,并同时确保代码的语义正确性,原混淆的函数体肯定大于未混淆时的函数体,因此在优化后重新编译将代码写入原文件位置并修复使用全局变量的重定位。 | ||
|
||
## 描述 | ||
## 官方网站 [https://antiollvm.com](https://antiollvm.com)(即将开启) | ||
|
||
## 软件购买 | ||
|
||
| | 中国 |其它地区|绑定设备|换绑次数|功能限制 |后续功能限制| 额外赠送 |Windows x64| Linux x64 |macOS | | ||
|:--:|:----: |:------:|:------:|:------:|:------: |:----------:|:-------------:|:----: |:-----: |:----: | | ||
|试用| \ | \ | \ | \ |仅Arm,不支持重编译 | \ | \ | 支持 |后续开放 |后续开放| | ||
|包年|9600¥ | 1650\$| 1台 | 1 | 无 |可能额外收费| 现在-2023.1.18| 支持 |后续开放 |后续开放| | ||
|永久|38000¥| 6800\$| 1台 | 10 | 无 | 无额外收费 | 无限制 | 支持 |后续开放 |后续开放| | ||
|
||
- 联系方式 | ||
- Telegram Group [TG](https://t.me/antiollvm) | ||
- 邮箱联系 beichenzhizuoshi@163.com | ||
- 微信公众号: sanfengAndroid逆向安全 | ||
- QQ群: [839141004](https://jq.qq.com/?_wv=1027&k=vNKrvgND) | ||
- 目前可能存在一些问题,因此首次购买赠送现在至2023.1.18的有效期,遇到问题可以在上面联系方式反馈,请耐心等待修复。 | ||
|
||
  目前大量的恶意软件为了防止被分析,都加入了一定的保护措施,其中 **混淆** 对二进制文件分析影响巨大,例如恶意软件使用修改版算法与混淆加密了一个文件,如果你想还原文件就可能会分析它的算法,但是算法跟混淆结合后产生大量的无效指令以及 CFG 平坦化,这样会大大的增加分析时间。 | ||
- 7天试用版仅支持 `Arm` 指令集,且不包含重编译功能 | ||
- 试用版下载 [点击](releases) | ||
- 正式版下载,请通过以上联系方式联系我 | ||
|
||
## 使用帮助 | ||
[点击查看](doc/README_CN.md) | ||
|
||
## 公众号 | ||
|
||
  本软件使用 [retdec](https://github.com/avast/retdec) 将二进制代码转换为 `LLVM IR` 代码后优化去掉混淆部分,并使用 [LLVM](https://github.com/llvm/llvm-project) 将其重新编译生成与原二进制文件符号地址相对应的新二进制文件,大部分情况下新二进制文件可以直接运行。并且尽最大可能完整的还原它的语义。 | ||
**关注我的公众号可以第一时间收到我的动态** | ||
|
||
  原混淆的函数体肯定大于未混淆时的函数体,因此在优化后重新编译将代码写入原文件位置并修复使用变量的重定位 | ||
![](https://cdn.jsdelivr.net/gh/sanfengAndroid/sanfengAndroid.github.io@main/images/wechat_channel.png) | ||
|
||
## 开发进度 | ||
|
||
| 架构 | ELF | COFF | Mach-O | | ||
| :----: | :-: | :--: | :----: | | ||
| Arm | Yes | | Yes | | ||
| Arm64 | Yes | | Yes | | ||
| Arm | Yes | | Yes | | ||
| Arm64 | Yes | | Yes | | ||
| X86 | | | | | ||
| X86_64 | | | | | ||
|
||
## 使用说明 | ||
|
||
- 该项目是收费项目,本仓库只会存放说明文件和一些测试样本的源码和二进制文件 | ||
- 目前还未提供可购买版本,鉴于目前不够稳定,样本量较少,后续稳定后会推出正式可购买版本 | ||
- 欢迎大家提供样本(越复杂越好)到我的邮箱 [beichenzhizuoshi@163.com](https://mail.163.com/),也可在本仓库提交 **issues** 附带样本及说明,目前只接受 `Arm` 架构的 `ELF` 样本,发送样本时请在标题上注明 **二进制架构及文件格式** 例如 **Arm-ELF 测试样本**, 内容上注明被混淆的 **函数名称或地址**,和你自认为的 **混淆难度等级(1-3)**,我会在去混淆通过后回复你去混淆后的二进制文件 | ||
- 欢迎大家提供样本(越复杂越好)到我的邮箱 [beichenzhizuoshi@163.com](https://mail.163.com/),也可在本仓库提交 **issues** 附带样本及说明,发送样本时请在标题上注明 **二进制架构及文件格式** 例如 **Arm-ELF 测试样本**, 内容上注明被混淆的 **函数名称或地址**,和你自认为的 **混淆难度等级(1-3)**,我会在去混淆通过后回复你去混淆后的二进制文件 | ||
|
||
## 免责申明 | ||
  AntiOllvm是一款自动化去除二进制文件混淆的软件,适用于软件安全研究员、软件安全爱好者用于学习研究为主的安全产品,切勿用于未授权的非法用途。 | ||
|
||
  您在使用该安全产品进行研究/测试时,您应确保该行为符合当地的法律法规,并且拥有足够的授权。如您在使用该安全产品的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。 | ||
|
||
  您在使用该安全产品前,请您务必审慎阅读,充分理解各条款内容、限制、免责条款或者其他涉及您重大权益的条款。除非您已充分阅读、完全理解并接受本协议所有条款,否者,请您不要使用该安全产品。 | ||
|
||
  您的使用行为或者您以其它任何明示或者默示方式表示接受本协议,即视为您已阅读并同意本协议的约束。 | ||
|
||
## 目录说明 | ||
|
||
- 每个测试目录下包含了对应的测试源代码,和预置的静态库(未混淆,已混淆),对应目录下的 bin 生成了与架构和文件格式相关的二进制文件,二进制文件与静态库不带 `-obf` 后缀的是未混淆生成的,带 `-obf` 后缀是混淆后生成的,二进制目录下带 `-anti` 是去混淆后的二进制输出。 | ||
- 具体每个测试项目的说明请查看对应目录下的 `doc` 目录文档 | ||
- [OpenSSL 测试](OpenSSLTest/doc/README_CN.md) | ||
- [Arm64 测试](Arm64Test/README_CN.md) | ||
- [OpenSSL 测试](OpenSSLTest/doc/README.md) | ||
- [Arm64 测试](Arm64Test/README.md) | ||
|
||
## 软件购买 | ||
软件会在近期内发布版本,请关注上方公众号,或关注本仓库。开放后会第一时间更新 | ||
|
||
## [个人博客](https://sanfengandroid.github.io/) | ||
## [个人博客](https://sanfengandroid.github.io/blog) | ||
|
||
包含技术文章分享,软件使用说明,视频演示等等 | ||
|
||
## 软件未来 | ||
|
||
- 开放`X86`,`X86_64` 去混淆支持 | ||
- IDA 插件,便捷式去混淆,使用IDA分析结果更好优化去混淆 | ||
- 开发模拟执行,实现在PC上实现跨平台二进制文件跟踪运行,例如算法分析等等 | ||
- IDA 插件,便捷式去混淆,使用 IDA 分析结果更好优化去混淆 | ||
- 开发模拟执行,实现在 PC 上实现跨平台二进制文件跟踪运行,例如算法分析等等 | ||
- IDA 虚拟调试,建立在模拟执行上 | ||
|
||
|
||
## 引用 | ||
|
||
### retdec [https://github.com/avast/retdec](https://github.com/avast/retdec) | ||
|
||
### LLVM [https://github.com/llvm/llvm-project](https://github.com/llvm/llvm-project/) | ||
|
||
|
Oops, something went wrong.