Cruehead-CrackMe-3.exe(★★)

软件运行

刚打开软件是没有破解的,红框后面是有uncrack字样(搜索字符串可以看到)
运行

载入OD调试

载入OD

刚载入OD发现程序需要打开文件,读取文件(CRACKME3.KEY)内容。
并比较了文件的字符是不是大于0x12个字节。

校验逻辑

读取文件内容后,如果大于0x12个字符,把前14个字符跟A…N异或,异或之后结果相加,保存到0x4020F9
之后再拿0x4020F9中的存的值跟 0x12345678 异或,再保存到 0x4020F9
拿15~18的4个字符跟0x4020F9相比较,相等的话,把AL置为1,就成功了
校验

看看前14个字符处理

通过一个循环跟A…N异或,把异或结果保存到 0x4020F9
前14字符

暴力破解

直接修改指令

sete al
//修改后
mov al,1

写脚本生成正确的序列号

def genKeyFile(key):
    with open("./CRACKME3.KEY",'ab+') as f:
        f.write(key)


def genKey(inKey):
    s = 0x41
    sum_check = 0
    fin_key = inKey[:0xE]
    with open("./CRACKME3.KEY",'ab+') as f:
        f.write(fin_key.encode())
    for i in range(0xE):
        sum_check += (ord(inKey[i]) ^ s)
        # print(sum_check)
        s += 1
    sum_check ^= 0x12345678

    ss = hex(sum_check)[2:]

    serial = []
    for i in range(0, len(ss), 2):
        ch = int(ss[i:i+2],16)
        serial.insert(0,ch)
    genKeyFile(bytes(serial))

s = 'sw0rd@snert.com.cn'
genKey(s)

破解成功

破解成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值