llvm实现防dump的字符串加密

admin 2024年8月6日20:56:31评论20 views字数 461阅读1分32秒阅读模式

有黑产进行突破so的加密算法,但是为了更加保护算法,不容易被分析人员看到加密参数在哪,可以增加一下定位难度,用llvm写了个字符串混淆,特此分享思路出来。

⊙1.效果

⊙2.整体思路

⊙3.ndk

  1. 效果

#include <stdio.h>

void pt(char * info){

    printf("%sn",info);    printf("hello");}int main() {    pt("hello");

  return 1;}

经过加密:

llvm实现防dump的字符串加密

llvm实现防dump的字符串加密

2.总体思路

ollvm中的string混淆存在个问题,在so被加载的时候只要进行so的dump,然后把只读段patch了,然后字符串就明文了,为了应对这种攻击办法,使用字符串使用时被解密,然后使用完之后被加密的方式,这样在攻击者dump的时候,dump不下来了。

没被处理前的llvm bitcode:

llvm实现防dump的字符串加密

处理后的bitcode:

llvm实现防dump的字符串加密

3.ndk

本人开发了一些新的混淆功能,若想试用,可联系作者~

(高仿ks版、mt版花指令,伪vmp加密~~~~) 完结~~~~

原文始发于微信公众号(二进制科学):llvm实现防dump的字符串加密

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月6日20:56:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   llvm实现防dump的字符串加密https://cn-sec.com/archives/3039509.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息