飘云
发表于 2007-8-16 23:06:12
原帖由 wuhanqi 于 2007-8-16 21:37 发表 https://www.chinapyg.com/images/common/back.gif
恩,是程序上有些问题哈,我把源码贴出来,高手看一下!
.版本 2
.程序集 窗口程序集1
.子程序 _按钮3_被单击
结束 ()
.子程序 _按钮2_被单击
.子程序 _按钮1_被单击
.局部变量 name, 文本 ...
逻辑错误~~ 用if吧~:
.版本 2
.子程序 __启动窗口_创建完毕
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh, 整数型
.局部变量 sum, 整数型
.局部变量 real, 逻辑型
name = 取文本注册项 (3, “Software\Microsoft\Notepad\name”, )
sn = 取文本注册项 (3, “Software\Microsoft\Notepad\sn”, )
.如果 (name ≠ “” 且 sn ≠ “”)
len = 取文本长度 (name)
gdzh = 1383838438
.计次循环首 (len, i)
c = 位异或 (取代码 (name, i), gdzh)
sum = c × 96 + 459478830
sum = sum × len
.计次循环尾 ()
.如果 (sn = 到文本 (sum))
标签4.标题 = “已注册”
.否则
标签4.标题 = “未注册”
.如果结束
.否则
标签4.标题 = “未注册”
ζ
发表于 2007-8-17 07:55:31
00412DAC 68 09C14000 PUSH Easy-Cra.0040C109 ;比较注册名,用40C109地址的内容比较
00412DB1 FF75 FC PUSH DWORD PTR SS: ;注册名
00412DB4 E8 5FFEFFFF CALL Easy-Cra.00412C18
00412DB9 83C4 08 ADD ESP,8
00412DBC 83F8 00 CMP EAX,0
00412DBF 0F85 A6010000 JNZ Easy-Cra.00412F6B ;不能跳
00412DC5 68 09C14000 PUSH Easy-Cra.0040C109 ;比较注册号,也用40C109地址的一样的内容比较
00412DCA FF75 F8 PUSH DWORD PTR SS: ;注册号
00412DCD E8 46FEFFFF CALL Easy-Cra.00412C18
00412DD2 83C4 08 ADD ESP,8
00412DD5 83F8 00 CMP EAX,0
00412DD8 0F85 8D010000 JNZ Easy-Cra.00412F6B ;也不能跳
注册名和注册号要一致,否则没法成功,逻辑上有问题了!
请问作者这个地址现在为空,而且在程序中没找到为它赋值的地方,是在第一次输入后,判断,做标记,以便再启动时判断是否给这个地址赋值还是错误那?
而且这两个判断之间没有给这个地址重新给新地址或新内容的机会!
看了半天,晕了半天!呵呵!
wuhanqi
发表于 2007-8-17 11:23:10
原帖由 飘云 于 2007-8-16 23:06 发表 https://www.chinapyg.com/images/common/back.gif
逻辑错误~~ 用if吧~:
.版本 2
.子程序 __启动窗口_创建完毕
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh ...
哦,原来是这样的,还是PY老大比较强,学习了,原来还有if。。/:L
wuhanqi
发表于 2007-8-17 11:32:08
不过还有问题也!
.版本 2
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh, 整数型
.局部变量 sum, 整数型
name = 取文本注册项 (3, “Software\Microsoft\Notepad\name”, )
sn = 取文本注册项 (3, “Software\Microsoft\Notepad\sn”, )
.如果 (name ≠ “” 且 sn ≠ “”)
len = 取文本长度 (name)
gdzh = 1383838438
.计次循环首 (len, i)
c = 位异或 (取代码 (name, i), gdzh)
sum = c × 96 + 459478830
sum = sum × len
.计次循环尾 ()
.如果 (sn = 到文本 (sum))
标签4.标题 = “未注册”
.否则
标签4.标题 = “已注册”
.如果结束
.否则
标签4.标题 = “未注册”
.如果结束
还是不行
极速暴龙
发表于 2007-8-17 12:40:34
原帖由 wuhanqi 于 2007-8-17 11:32 发表 https://www.chinapyg.com/images/common/back.gif
.如果 (sn = 到文本 (sum))
标签4.标题 = “未注册”
.否则
标签4.标题 = “已注册”
.如果结束
这2个搞混了
正确的显示为"未注册"/:L
飘云
发表于 2007-8-17 12:45:46
原帖由 wuhanqi 于 2007-8-17 11:32 发表 https://www.chinapyg.com/images/common/back.gif
不过还有问题也!
.版本 2
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh, 整数型
.局部变量 sum, 整数型
name = ...
不会的~ 这是基本操作~你一句句核对~~
Gue
发表于 2007-8-17 15:08:54
这样写会好看些..,只是个建议../:014
.版本 2
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh, 整数型
.局部变量 sum, 整数型
.局部变量 caption, 文本型
caption = "未注册"
name = 取文本注册项 (3, “Software\Microsoft\Notepad\name”, )
sn = 取文本注册项 (3, “Software\Microsoft\Notepad\sn”, )
.如果 (name ≠ “” 且 sn ≠ “”)
len = 取文本长度 (name)
gdzh = 1383838438
.计次循环首 (len, i)
c = 位异或 (取代码 (name, i), gdzh)
sum = c × 96 + 459478830
sum = sum × len
.计次循环尾 ()
.如果 (sn = 到文本 (sum))
caption = “已注册”
.如果结束
.如果结束
标签4.标题 = caption
飘云
发表于 2007-8-17 15:13:41
原帖由 Gue 于 2007-8-17 15:08 发表 https://www.chinapyg.com/images/common/back.gif
这样写会好看些..,只是个建议../:014
.版本 2
.局部变量 name, 文本型
.局部变量 sn, 文本型
.局部变量 len, 整数型
.局部变量 i, 整数型
.局部变量 c, 整数型
.局部变量 gdzh, 整数型
.局部变量 s ...
:handshake学习
不过多用了一个变量,就多开辟一个内存空间,呵呵~~
wuhanqi
发表于 2007-8-17 18:58:55
/:QQ2 /:QQ2 /:QQ2 /:L /:L
怎么就我不行??
郁闷!
wuhanqi
发表于 2007-8-17 19:03:06
哦,可以了,谢谢楼上各位高手了!/:good