160个CrackME_003_Afkayas-2

本文详细介绍了两种去除软件NAG的技巧,一是利用4C法修改特定内存位置的字节,二是通过调整VB程序默认定时器变量Timer的值。文章还提供了使用OD调试器的具体步骤,以及一个注册机计算的Python代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.去NAG:4C法

  • 1.程序拉入OD,看程序起始位置。VB程序的特征是开始一个push然后接一个call。这里可以看到程序要push的值是004067D4,所谓的4C法就是在这个地址的基础上加4C
    在这里插入图片描述
    2.在数据窗口点击,然后ctrl+g定位到004067d4+4c
    在这里插入图片描述
    3.选中68684000,,右键数据窗口跟随DWORD。可以看到有两块类似的数据,每块50(十六进制)个字节的长度,每块的第24个字节都有一个标志,指定每块代码出现的顺序。所以要去除NAG,就修改这个字节。将00改为01,01改为00
    在这里插入图片描述

2.去NAG:Timer

  • 通过修改Timer实现,Timer是VB程序默认的定时器变量。只要程序的作者没有将计时器的默认名称修改,则可以用这个方法。
    1.定位内存到0x401000,搜索Timer
    在这里插入图片描述
    2.修改计数器的秒数,这里的0x1B58转换为十进制就是7秒,将0x1b58修改为0x0001,注意不能直接修改为0x0000
    在这里插入图片描述

3.爆破

  • 1.字符串查找,定位到成功,找到爆破点NOP操作
    在这里插入图片描述
    2.OD载入,输入假码,跑飞程序,看到错误提示,切换到OD,暂停OD,ctrl+k进入堆栈窗口,最后一个rtcMsgBox显示函数调用或者showall,在反汇编处向上查看
    在这里插入图片描述

4.注册机计算

python:
n=input("name:")
serial=((len(n)*0x15B38+ord(n[0])))*3.0-0x2+0x15
print(serial)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值