返回列表 发新帖

【应用安全】对抗DEX字符串解密的两种方案

  [复制链接]

162

主题

8064

回帖

2万

积分

博士后

滑稽

Rank: 8Rank: 8

金币
754
好评
474
信誉
210

MT论坛新人MT论坛最佳新人MT论坛活跃会员考神MT论坛帅哥MT论坛灌水老大

QQ
发表于 2023-10-25 00:34:17 来自手机  | 显示全部楼层 | 阅读模式  来自 广东
本帖最后由 逗比_滑稽 于 2023-10-25 00:34 编辑

hello,这几个月感觉一眨眼就过去了,回想这几个月里感觉自己从逆向逐渐转正向了,现在更喜欢了解如何对抗逆向,如果各位对这种感兴趣的话,之后可能还会再出篇帖子,大概吧

—————前言—————
说起应用安全,大家肯定能想到这是一场矛与盾永无止境的战争,今天你的矛能捅穿我的盾,明天我的盾就能阻挡你的矛,相互研究对方的手段并做出升级和对抗,谁也分不出胜负。

而今天的主角便是盾的手段之一“字符串加密”,在我看来这也是比较经典的加密手段之一。

如果破坏者想逆向程序达成某种目的前,一般会先从达成这种目的的一些相关的关键词下手,也就是字符串,通过关键词定位到关键位置做下一步的分析。

而“字符串加密”的手段就是防止这种事情发生,将关键词加密起来,只有运行程序后才会进行解密操作,这样破坏者不能直接静态分析找到这些关键词进行定位,从而增加逆向成本。

但有防必有攻,MT管理器里就有一种矛能破开这种盾“DEX字符串解密”

通过此矛你可以轻松化解掉这层盾,减少逆向成本。

轮到盾的回合,而现在盾的目的就是防止这种矛,研究这种矛的原理,从而做出新一轮的对抗。

为此我给出两种简单的对抗方案
——————————

虽然并没有深入了解过此功能原理,但猜个大概是局部加载代码。将字符串和传入这个字符串的方法单独运行一遍并把结果回填。

这是我事先准备好的程序,目前已经字符串加密了,解密方法进行简单的异或运算。

密钥初始化:
上面提到了局部加载,也就是说使用这个DEX字符串解密会加载dex,但加载的并不是一个正常安卓应用的加载流程,我们可以在一些区域做初始化操作,但DEX字符串解密不会加载这些区域,从而导致解密失败。
这里给个例子,例如activity的onCreate里做初始化:

这里是我字符串加密的解密算法

我可以将运算数256取出来,在activity类声明一个静态int名为key的字段,并在onCreate里在给key赋值256,然后解密算法调用此字段。

如果是正常打开这个程序,那么这个值肯定会赋值给key字段,但使用DEX字符串解密呢?

可想而知DEX字符串解密并没有加载onCreate方法,因此key并没有成功初始化,我们的目的也达成了。
堆栈检测:
这也是我之后才发现的一种手段
先给出核心代码:
  1. new Throwable().getStackTrace()
复制代码

这段代码的意思是打印当前方法堆栈流程,也就是调用此方法的完整流程。

如果是DEX字符串解密运行这个方法的加载流程不可能还是走正常的流程,多多少少会有不一样的,通过引诱ta解密我们获取到了这个堆栈内容,能看到这个堆栈是有问题的。

如果是正常加载流程的会是这个,为此我们可以做个检测

在解密方法开头加个检测,如果获取的方法名不等于目前这个Decrypt方法名则返回我们指定内容(此检测代码的Decrypt改成你加这检测代码所在的方法的方法名。
  1. StackTraceElement[] Stack = new Throwable().getStackTrace();
  2.                 if(!Stack[0].getMethodName().equals("Decrypt")){
  3.                         return "哎呦,你干嘛";
  4.                 }
复制代码


最后用DEX字符串解密可以看到成功返回我们指定的内容,目的达成
最后给各位提供一个样本
字符串加密(点我下载)
这次提供的只是简单的对抗思路,日后也还会有更强大的矛对抗这种盾(例如:Log打印),所以攻防无绝对。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已有3人评分好评 金币 理由
正己 + 1 + 1 很给力!
送你一朵小红花 + 1 + 1
你的沐公子 + 1 + 10 小黑子,露出鸡脚了吧

查看全部评分 总评分:好评 +3  金币 +12 

回复

使用道具 举报

10

主题

740

回帖

4624

积分

大学生

Rank: 5Rank: 5

金币
235
好评
21
信誉
101
发表于 2023-10-25 00:38:40 来自手机  | 显示全部楼层  来自 福建
沙发
已有1人评分金币 理由
逗比_滑稽 + 1 逮到个熬夜的

查看全部评分 总评分:金币 +1 

回复

使用道具 举报

1

主题

104

回帖

360

积分

初中生

Rank: 3Rank: 3

金币
263
好评
0
信誉
100
发表于 2023-10-25 00:41:31 来自手机  | 显示全部楼层  来自 新疆
看看
回复

使用道具 举报

25

主题

3504

回帖

1万

积分

博士生

相互关注

Rank: 7Rank: 7Rank: 7

金币
2762
好评
23
信誉
95

考神MT论坛最佳新人MT论坛新人

发表于 2023-10-25 00:41:34 来自手机  | 显示全部楼层  来自 河南
看看大佬新作
回复

使用道具 举报

78

主题

1474

回帖

6909

积分

硕士生

春秋蝉

Rank: 6Rank: 6

金币
1624
好评
42
信誉
123

MT论坛新人MT论坛帅哥考神MT论坛活跃会员

QQ
发表于 2023-10-25 00:41:41 来自手机  | 显示全部楼层  来自 江苏
支持滑稽佬
回复

使用道具 举报

4

主题

3264

回帖

6737

积分

硕士生

Rank: 6Rank: 6

金币
1445
好评
3
信誉
98
发表于 2023-10-25 00:42:49 来自手机  | 显示全部楼层  来自 广西
看看隐藏
回复

使用道具 举报

240

主题

2281

回帖

1万

积分

版主

沐雨阁

Rank: 7Rank: 7Rank: 7

金币
2055
好评
100
信誉
98

MT论坛最佳新人MT论坛帅哥考神MT论坛新人MT论坛活跃会员MT论坛侠客MT论坛灌水老大

发表于 2023-10-25 00:46:46 来自手机  | 显示全部楼层  来自 广西
假如我暴力扫的跳转表,阁下应该怎么应付(你个小黑子又黑我家哥哥
回复

使用道具 举报

77

主题

2037

回帖

5713

积分

硕士生

Rank: 6Rank: 6

金币
2173
好评
15
信誉
139
发表于 2023-10-25 00:48:33 来自手机  | 显示全部楼层  来自 河北
看看隐藏
回复

使用道具 举报

214

主题

6727

回帖

2万

积分

博士后

林一

Rank: 8Rank: 8

金币
2147
好评
123
信誉
282

考神MT论坛活跃会员MT论坛新人MT论坛帅哥MT论坛最佳新人MT论坛侠客MT论坛灌水老大

QQ
发表于 2023-10-25 00:49:08 来自手机  | 显示全部楼层  来自 广东
看看大佬
回复

使用道具 举报

7

主题

89

回帖

659

积分

初中生

Rank: 3Rank: 3

金币
344
好评
0
信誉
100
发表于 2023-10-25 00:49:21 来自手机  | 显示全部楼层  来自 湖北
看看隐藏
回复

使用道具 举报

52

主题

4718

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
3649
好评
97
信誉
1072

考神MT论坛新人

发表于 2023-10-25 00:51:18 来自手机  | 显示全部楼层  来自 广西
看看隐藏
回复

使用道具 举报

100

主题

3249

回帖

1万

积分

博士生

这个人很懒,什么也没写~

Rank: 7Rank: 7Rank: 7

金币
5992
好评
76
信誉
154

MT论坛新人考神MT论坛帅哥MT论坛侠客MT论坛活跃会员

发表于 2023-10-25 00:52:32 来自手机  | 显示全部楼层  来自 贵州
让我瞧瞧
回复

使用道具 举报

162

主题

8064

回帖

2万

积分

博士后

滑稽

Rank: 8Rank: 8

金币
754
好评
474
信誉
210

MT论坛新人MT论坛最佳新人MT论坛活跃会员考神MT论坛帅哥MT论坛灌水老大

QQ
发表于 2023-10-25 00:55:10 来自手机  | 显示全部楼层  来自 广东
你的沐沐 发表于 2023-10-25 00:46
假如我暴力扫的跳转表,阁下应该怎么应付(你个小黑子又黑我家哥哥) ...

哎呦,你好烦
回复

使用道具 举报

9

主题

1417

回帖

3842

积分

大学生

Rank: 5Rank: 5

金币
3406
好评
0
信誉
92
发表于 2023-10-25 00:56:17 来自手机  | 显示全部楼层  来自 上海
看看
回复

使用道具 举报

41

主题

3674

回帖

9824

积分

硕士生

Rank: 6Rank: 6

金币
7470
好评
11
信誉
107

考神

发表于 2023-10-25 00:57:41 来自手机  | 显示全部楼层  来自 广东
谢谢分享
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表