180227 逆向-防范算法求逆(1)

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

基本概念

软件保护的目的是向合法用户提供完整的功能,因此身份校验是必须的
这一环节通常采用注册码验证的方式实现

流程

  1. 用户向作者提供用户码U, 申请注册
  2. 作者计算出注册码R=f(U),返回给合法用户
  3. 合法用户在软件中输入U和R
  4. 软件验证F(U, R)来判断用户合法性

常用术语

  • 用户码U:用于区别用户身份
  • 注册码R:用于校验用户身份
  • 注册机f():通过U生成R的过程
  • 验证函数F():验证R是否由注册机和U生成

早期阶段

验证函数和注册机没有本质区别,即F=f,再次通过U生成R2,然后比较输入的R和自己生成的R2是否相同来判断

这样子的致命缺陷就是验证程序中包含了注册机,因此攻击者只需要将验证程序拷贝出来就得到了注册机,完成了破解

改进

使得验证函数是注册机的反函数,反函数的生成难度决定了破解的难度
例如简单的四则混合运算,复杂的各种编码、加密等等
常见的CTF逆向题一般属于这一类

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值