如何用Keymake制作这两例算法注册机???
一个例子就是飘云老大教的一个Crackme,算法好像是注册名的位数乘以某个特定的数,如135B7,再转换成10进制,如何制作这样的注册机呢?咱在分析一个简单的Crackme后,发现它的算法如下:
取注册名的位数乘以某个特定的数,如98E51,将它们的积加上第一个字符的16位表达法的值,转换成10进制后,作为注册码的后面一站分,注册码前面部分已经死定特码,如 AKA- ,请问它类注册机怎样做呢???
[ 本帖最后由 野猫III 于 2009-10-16 12:56 编辑 ] 我也想知道怎么没有下文了呢 希望高手出过教材
我们新手好学习一下 初学者。很希望高手指导 数据区定义,代码区照抄 原帖由 tianxj 于 2007-12-26 23:45 发表 https://www.chinapyg.com/images/common/back.gif
数据区定义,代码区照抄
搞好了。。。快2年过去了,让自己来学习和回答提问,真有的点感动。.const
.data
szHomePage db "https://www.chinapyg.com/",0
szEmail db "mailto:[email protected]",0
szErrMessdb "输入的序列号不正确!",0
s3 db "%1i",0
s4 dd 20 dup(0)
.code
;https://www.chinapyg.com/viewthread.php?tid=4197
xor ebx,ebx
mov ebx,eax
invoke lstrlen,ebx
imul eax,135B7h
push eax
lea eax,s3
push eax
lea eax,s4
push eax
call wsprintf
lea eax,s4.const
.data
szHomePage db "https://www.chinapyg.com/",0
szEmail db "mailto:[email protected]",0
szErrMessdb "输入的序列号不正确!",0
szXor db "%i",0
hChar db "AKA-",0
hKey db 15 dup(?)
hShow db 15 dup(?)
.code
;https://www.chinapyg.com/viewthread.php?tid=4197
xor ebx,ebx
xor ecx,ecx
xor edx,edx
mov ebx,eax
invoke lstrlen,ebx
imul eax,98e51h
movzx edx,byte ptr
add eax,edx
mov ebx,eax
push eax
push ebx
invoke wsprintf,addr hKey,addr szXor,ebx ;转换为十进制
lea edi,hShow ;让edi指向最终组合码位置
lea esi,hChar ;"AKA-"
mov ecx,4 ;"AKA-"位数
rep movsb ; 移动"AKA-"到将显示的注册码位置
lea esi,hKey;出来的10进制字符
n4:
lodsb
cmp al,0
jz n5
stosb
jmp n4
n5: ;将刚才转换为十进制后的计算结果附加在后面
lea eax,hShow ; 让EAX指向组合码
[ 本帖最后由 野猫III 于 2009-10-15 22:26 编辑 ]
页:
[1]