Afkayas.1(★)

软件运行

要输入正确的Name和Serial
在这里插入图片描述
在这里插入图片描述

查壳

一个VB程序,没有加壳
在这里插入图片描述

载入OD

直接开搜索字符串。
这里看到了错误的提示,“You Get It”应该就是成功的字符串了。
前面的“AKA-”应该是在什么时候拼接的字符串
在这里插入图片描述

去成功的字符串附近看看
这个字符串上面就有一个跳转
在这里插入图片描述

这个跳转会直接跳过成功,到错误的提示,所以暴力破解修改这个跳就可以了
在这里插入图片描述

算法分析

来到函数头部分,下个断
在这里插入图片描述

往下走,看见输入的用户名被读出来了,通过这个CALL,是计算用户名长度。
在这里插入图片描述

计算完长度,又做了一下计算
用户名长度 乘以 0x17CFB
再加上 用户名的第一个字符的ASCII码

在这里插入图片描述

把这个计算结果转为十进制字符串——487770
在这里插入图片描述

在这里做了一个字符串拼接
AKA-487770
在这里插入图片描述

进以下函数进行比较
在这里插入图片描述
再进去,发现压入假的Serial和AKA-487770
在这里插入图片描述

再进,又压入了参数
在这里插入图片描述

再进函数,发现真正的比较
假Serial和AKA-487770比较
不相等eax为-1
在这里插入图片描述

算法分析

def genKey(username):
    serial_head = 'AKA-'
    serial = len(username) * 0x17CFB
    serial += ord(username[0])
    serial = serial_head + str(serial)
    print(serial)

genKey("crack")

结果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值