首页
社区
课程
招聘
未解决 [求助]这个注册码授权可以控制时间
2021-3-14 16:15 3888

未解决 [求助]这个注册码授权可以控制时间

2021-3-14 16:15
3888

链接:https://pan.baidu.com/s/1VmF4N80pQOcRAaxwYVzkow
提取码:hyj6
这个软件注册码很奇怪,每次打开生成的机器码都不一样,原来是他的注册码与时间有关。
查壳发现无壳。
OD载入,找到“注册码校验和错误”,设置断点
想追踪真码,到了这里却看不到,我是错在哪
设置断点
然后再运行软件
运行软件
随意输入假码
输入假码
在寄存器中查看,结果可以看到输入的假码和CDK码以及今天的日期但就是没有看到真码。
运行后断在此处
但并没有找到真码
高手指点一下,这个操作错在何处。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (10)
雪    币: 5711
活跃值: (2783)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
chinasmu 2021-3-14 17:08
2
0
谁说一定会有真码
雪    币: 59
活跃值: (1481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zbzb 2021-3-14 17:59
3
0
看着个界面,好有年代感啊
雪    币: 1254
活跃值: (2845)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
考拉 2021-3-14 20:44
4
0
像20年前的东西
雪    币: 49
活跃值: (376)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小豪小豪 2021-3-14 22:50
5
0
运行就是提示这个
---------------------------
预付费售电管理软件V3.1
---------------------------
'2010-11-10' is not a valid date.
---------------------------
确定   
---------------------------
雪    币: 3875
活跃值: (3898)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 2021-3-14 22:52
6
2
srand((unsigned int)time(NULL));

	unsigned char cdkey[8] = { 0 };

	SYSTEMTIME tm;
	GetLocalTime(&tm);
	cdkey[0] = tm.wYear % 2000;
	cdkey[1] = tm.wMonth;
	cdkey[2] = tm.wDay;
	cdkey[3] = 30;//3.0 版本号
	cdkey[4] = 0;
	cdkey[5] = 0;
	cdkey[6] = 0xA + rand() % 0x63;//随机填充一位 所以你会看到机器码每次不一样
	cdkey[7] = 0;

	//先把效验值算出来
	int hash = 0;
	for (int i = 0; i < 8 - 1; i++)
	{
		hash += cdkey[i];
		if (hash >= 0x64)
		{
			hash -= 0x64;
		}
	}
	cdkey[7] = hash;

	//保留最后一位效验值,这样起到效验前面数据的作用
	for (int i = 0; i < 7;i++)
	{
		cdkey[i] = cdkey[i] + cdkey[i + 1];
		if (cdkey[i] >= 0x64)
		{
			cdkey[i] -= 0x64;
		}

		if ((cdkey[i] & 0xf0) < 0x60)
		{
			cdkey[i] ^= 0x3;
		}
	}

	//这样你可以理解注册码了 算法相同.只是填充的数据  算法就是这样子了

	printf("生成机器码:%02d%02d-%02d%02d-%02d%02d-%02d%02d\n", cdkey[0], cdkey[1], cdkey[2], cdkey[3], cdkey[4], cdkey[5], cdkey[6], cdkey[7]);


以上就是完整的注册算法了.  可以用来生成机器码.  只要填参数就可以生成可以用的注册码.

机器码为什么随机在代码里面也可以看到了.

实际上这个机器码和注册码没什么关系.


比如这个注册码,随便都可以注册使用.

2307-1234-2532-2291


有效期为: 2021-05-30

最后于 2021-3-14 23:07 被Mxixihaha编辑 ,原因:
雪    币: 33103
活跃值: (7110)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
ninebell 2021-3-15 07:53
7
0
先强改存入注册码,找到存储位置,返回真一样能爆破吧,死教条你就输了。
雪    币: 856
活跃值: (385)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
开心一族 2021-3-15 08:55
8
0
Mxixihaha srand((unsigned&nbsp;int)time(NULL)); unsigned&nbsp;char&nbsp;cdkey[8]&nbsp;=&am ...
这个与CDK码没有关系的注册码?这个注册算法还是看不明白,我是菜鸟,刚初学还没有达到写注册机的水平
雪    币: 3875
活跃值: (3898)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 2021-3-15 09:23
9
0
开心一族 这个与CDK码没有关系的注册码?这个注册算法还是看不明白,我是菜鸟,刚初学还没有达到写注册机的水平
那你就慢慢先学习基础, 像这类数据软件作为商用的,暴破只要有一处弄得不好 就有可能出现功能异常,数据异常,非常不保险的.  效验的地方多,如果不是注册码注册很有可能发现不了其他检测的地方,等实际操作的时候出现莫名的问题.

先从基础开始 , 看不明白证明你的能力还不够玩这个东西. 相信你经过学习之后再来看会有收获的.
雪    币: 856
活跃值: (385)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
开心一族 2021-3-16 22:49
10
0
所以我一开始就想尝试追注码,
雪    币: 3875
活跃值: (3898)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mxixihaha 2021-3-17 21:13
11
0
开心一族 所以我一开始就想尝试追注码,
没有明码的注册码,不是所有的东西都会有 strcmp 的.  所以没有明文比较.找不到的.
游客
登录 | 注册 方可回帖
返回