能力值:
( LV6,RANK:90 )
|
-
-
2 楼
用od调试下,或者自己直接用汇编写不更好
|
能力值:
(RANK:410 )
|
-
-
3 楼
;主要是你下面几句有问题(你下面的代码是抄自KeyMake帮助文件中的吧,该代码有BUG,就是当需要转换的十进制位数超过8位就会造成转换错误)。
;还有就是你需要转换的格式也错了"%1X"是将数值转成十六进制,而你的注册码是以十进制数值显示的。
MOV ECX,EAX
XOR EBX,EBX
n1:
MOVZX EAX,BYTE PTR [ECX]
OR AL,AL
JZ n3
CMP AL,3Ah
JC n2
SUB AL,7
n2:
SUB AL,30h
SHL EBX,4
ADD EBX,EAX
INC ECX
JMP n1
n3:
;上面的代码其实可以更简单点:
;数据区:
lpStrBuff db 50 dup(0)
lpStrFormat db "%u",0
;代码区
invoke atodw,eax
xor eax,75c951b0h
sub eax,7bh
invoke wsprintf,offset lpStrBuff,offset lpStrFormat,eax
lea eax,lpStrBuff
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢老大,的确可行,就是:
数据区中的
lpStrBuff db 50 dup(0)
lpStrFormat db "%u",0
代码区中的
invoke wsprintf,offset lpStrBuff,offset lpStrFormat,eax
lea eax,lpStrBuff
有的lpStrBuff和lpStrFormat能不能用别的参数变换如:a1,a2
|
能力值:
(RANK:410 )
|
-
-
5 楼
可以。只需符合变量的命名方式即可。
|
|
|