逆向过程中遇到加密算法怎么破?

1、分析加密后的字符串特征:密码长度通常在12位以内,最多到16位,

a)MD5是文本摘要算法,提取结果通常是32位,不受明文长度影响

b)Base64编码结果末尾通常会出现一个或是二个等于符号,受明文长度影响

c)一长串无规律数字与字母组合的字符大概率是AES、DES、SHA相关算法

d)SHA1加密结果值为40位,不受明文长度影响

e)SHA256加密值为64位,不受明文长度影响

另外AES和RSA等对称和非对称加密都喜欢将结果值用Base64进行编码

2、定位加密算法位置

a)当你遇到可疑字符串时,可以通过全局搜索来找关键词,如果搜索不到就调看调用栈并逐个查看和分析,如下图

 

3、设置断点,验证猜想

 

4、Hook大法、 尝试对JSON.stringify或Base64.decode又或才Base.decrypt和Aes.decrypt等方法关键词处理

找到之后,根据情况捊清逻辑或依葫芦画瓢的抠下javascript代码 ,直到能够得到相同的输入输出

 

了解算法模式和填充方式:

AES算法几种模式:CBC、ECB

填充方式:PK7、PK5

密钥和向量

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值