Acid burn(★★)

运行程序

先是弹出一个neg
在这里插入图片描述
然后是真正的程序界面
有一个输入Serial和Name的判断
还有一个只输入Serial的判断
在这里插入图片描述

查壳

没有壳,是Delphi程序
在这里插入图片描述

先除去一个Neg

找到Neg弹出的程序,在程序头下个断,运行程序,此时栈顶是调用此功能的返回地址,反汇编跟过去
发现上面有个跳能跳过去,改成JMP,保存。再打开程序就不会有Neg
在这里插入图片描述

载入OD分析

  • 先分析输入Serial的

这个功能会提示Try Again,直接去搜字符串
在函数头部下个断,check就会断
在这里插入图片描述

就一个字符串比较
在这里插入图片描述

看一下要输入Name和Serial的
从上往下跟,在验证Name,感觉很复杂,最后满足大于4就可以了
在这里插入图片描述

之后取第一个Name字符,计算出一个值,在拼接CW和CRACKED
最后和自己输入的Serial比较
在这里插入图片描述

算法分析

def genKey(name):
    s1 = 'CW-'
    s2 = '-CRACKED'
    serial = str(ord(name[0]) * 0x29 * 0x2)
    serial = s1 + serial + s2
    print(name)
    print(serial)

genKey('sword')
  • 结果
    在这里插入图片描述

总结

花里胡哨

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值