180301 逆向-防范算法求逆(3)

1625-5 王子昂 总结《2018年3月1日》 【连续第516天总结】
A. 防范算法求逆(3)
B.

游击战术

将验证函数F分解成多个互不相同的Fi,然后将Fi尽可能地隐藏到程序里去

层层叠叠

通过任意一个Fi的验证都只是注册码合法的必要条件,而非充分条件。真正合法的注册码能够通过所有的Fi的验证。而仅仅通过部分验证的R会在其他通不过的验证处被发现。

这种方法虽然比较麻烦,但是相对的破解者针对起来也会更加麻烦。因为不清楚在哪里会分布着校验,例如

  1. 软件入口处
  2. 每个关键功能使用时
  3. 定时器计时校验

虚虚实实

每个地方放置的校验函数并不一定是真实的,甚至可以在某些地方调取验证码,但其实做了反向的校验(正确的验证码会返回False,而破解者若不注意校验码的真实值则会被误导将这里也期望返回True,导致被发现验证码不正确,或者造成无解等情况)

另一方面,分函数的方法可以使用线性方程组、平面/曲面/曲线方程组等。如果破解者没有看穿分函数之间的联系,将会一样苦于应付方程组。

战略转移

破解者为了快速找到对验证码的调用,通常会使用访问断点。
对于游击战术,这个方法是致命的:一次性找到所有对验证码的调用,将使得四处分布的Fi暴露无遗。
为了应对这一点,可以不断地将注册码转移:

  1. 内存拷贝,单一的内存拷贝难度较低,容易被破解;因此可以一次将注册码拷贝到多个地址
  2. 写入注册表或文件

上述所有手段都只是增加破解者的破解成本,而不是为了让破解者无法(理论上的)破解。使用多种恶心的手段来增加破解者的时间成本和心态,将大大提高防御成功的成功率。

C. 明日计划
抵御静态分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值