飘云 发表于 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
页: 1 [2] 3
查看完整版本: Easy-Crackme 0.3 by wuhanqi【强势出击,^_^】