能力值:
(RANK:410 )
2 楼
;将下面代码保存一个文档,扩展名改成*.rek,然后用注册机编写器打开这个文件,按编译按钮即可。
.const
.data
szHomePage db "http://www.365hz.net",0
szEmail db "mailto:ljyljx@163.com",0
szErrMess db "输入的序列号不正确!",0
lpszBuff db 50 dup(0)
lpszFormat db "%X",0 .code
invoke htodw,eax
mov edi,eax
mov eax,3E0F83E1h
imul edi
shr edx,4
mov ecx,edx
shr ecx,1fh
add edx,ecx
add edx,655f3h
invoke wsprintf,addr lpszBuff,addr lpszFormat,edx
lea eax,lpszBuff
能力值:
( LV2,RANK:10 )
3 楼
谢谢楼上的,不过还有一点问题
.const
.data
szHomePage db "http://www.365hz.net",0
szEmail db "mailto:ljyljx@163.com",0
szErrMess db "输入的序列号不正确!",0
lpszBuff db 50 dup(0)
lpszFormat db "%X",0 //这个是输出十六进制格式吗,我需要输出有符号十进制是不是改成”%d“就可以了 .code
invoke htodw,eax
mov edi,eax //这个EAX是机器号吗,但是我需要这个机器号转成十六进制的,用Ollydbg跟了一下生成的注册机,发现没转
mov eax,3E0F83E1h
imul edi
shr edx,4
mov ecx,edx
shr ecx,1fh
add edx,ecx
add edx,655f3h
invoke wsprintf,addr lpszBuff,addr lpszFormat,edx
lea eax,lpszBuff
能力值:
( LV2,RANK:10 )
4 楼
invoke htodw,eax//把这个改成atodw,是不是就是十六进制
能力值:
(RANK:410 )
5 楼
最初由 mywx 发布 invoke htodw,eax//把这个改成atodw,是不是就是十六进制
不错。
%d就是输出十进制字符。
atodw就是十进制字符转成十六进制数值的函数。
能力值:
( LV2,RANK:10 )
6 楼
问题又来了:举例:
当机器码为280058时计算是正确的,机器码为-280058时计算是错误的为什么啊
能力值:
( LV2,RANK:10 )
7 楼
我的机器码现在为-2896053,我用VB中的HEX(-2896053)为FFD3CF4B
用生成的注册机为:96F8ED35
能力值:
(RANK:410 )
8 楼
那是当然,atodw和htodw都是处理无符号的字符的函数。
改成下面的试试可不可以:
.const
.data
szHomePage db "http://www.365hz.net",0
szEmail db "mailto:ljyljx@163.com",0
szErrMess db "输入的序列号不正确!",0
lpszBuff db 50 dup(0)
lpszFormat db "%d",0 .code
cmp byte ptr[eax],'-'
jnz _Next1
inc eax
invoke atodw,eax
not eax
inc eax
jmp _Next2
_Next1:
invoke atodw,eax
_Next2:
mov edi,eax
mov eax,3E0F83E1h
imul edi
shr edx,4
mov ecx,edx
shr ecx,1fh
add edx,ecx
add edx,655f3h
invoke wsprintf,addr lpszBuff,addr lpszFormat,edx
lea eax,lpszBuff
能力值:
( LV2,RANK:10 )
9 楼
呵呵,还是叫你大虾吧。EAX的十六进制还是不对
jnz _Next1
inc eax
invoke atodw,eax
not eax
inc eax
这段应该是计算有符号机器码的十六进制吧,但结果不对啊
能力值:
( LV2,RANK:10 )
10 楼
晕,计算EAX对了,但结果不对
能力值:
( LV2,RANK:10 )
11 楼
shr edx,4 问题找到了,算术右移怎么和程序中的算术右移结果不一样
能力值:
( LV2,RANK:10 )
12 楼
谢谢大虾,已经搞定了,都怨自己,总是照抄代码,你的程序中是SHR EDX,4 我要的是SAR EDX,4.
再次表示衷心的感谢