能力值:
( LV6,RANK:90 )
|
-
-
2 楼
沙发啊
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢啊。呆会看能否解决啊!先占个座!
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
学习一下!!
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
厉害 顶一下 不过怎么保存修改啊 在OllyDbg下 谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
问一下,在VB中十进制数的XOR运算和十六进制的XOR运算的语句分别怎么表示?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
00407E86 |. 8B45 F4 mov eax, [ebp-C] ; 使EAX等于计算结果
00407E89 |. E8 62D5FFFF call 004053F0 ; 将计算结果转换成大写形式
请问这个转换成大写形式是怎么看出来的呢?从哪里看出来的?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
跟 进去就会知道
|
能力值:
(RANK:2210 )
|
-
-
9 楼
最初由 flyin 发布 00407E86 |. 8B45 F4 mov eax, [ebp-C] ; 使EAX等于计算结果 00407E89 |. E8 62D5FFFF call 004053F0 ; 将计算结果转换成大写形式
请问这个转换成大写形式是怎么看出来的呢?从哪里看出来的?
注意堆栈里的那些字符的变化
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
[QUOTE]0040800D |> 8D85 F8FDFFFF lea eax, [ebp-208]
00408013 |. 8D95 FCFEFFFF lea edx, [ebp-104] ; 使EDX等于注册名
00408019 |. B9 00010000 mov ecx, 100 ; 使ECX等于0x100
0040801E |. E8 19B8FFFF call 0040383C
00408023 |. 8B85 F8FDFFFF mov eax, [ebp-208] ; 使EAX等于注册名
00408029 |. 8D55 FC lea edx, [ebp-4]
0040802C |. E8 E3FDFFFF call 00407E14 ; 算法CALL,跟进
00408031 |. 8D85 F4FDFFFF lea eax, [ebp-20C]
00408037 |. 8D95 FCFDFFFF lea edx, [ebp-204]
0040803D |. B9 00010000 mov ecx, 100
00408042 |. E8 F5B7FFFF call 0040383C
00408047 |. 8B95 F4FDFFFF mov edx, [ebp-20C] ; 使EDX等于假码
0040804D |. 8B45 FC mov eax, [ebp-4] ; 使EAX等于正确的注册码
00408050 |. E8 EBB8FFFF call 00403940 ; 比较CALL
00408055 |. 75 2F jnz short 00408086 ; 不相等就注册失败
这里"CALL 0040383C"为何不是算法.进入后看不明白还望作者能解析一下.
这样就可以上下文联系起来了.
|
能力值:
(RANK:2210 )
|
-
-
11 楼
最初由 海东青山 发布 [QUOTE]0040800D |> 8D85 F8FDFFFF lea eax, [ebp-208] 00408013 |. 8D95 FCFEFFFF lea edx, [ebp-104] ; 使EDX等于注册名 00408019 |. B9 00010000 mov ecx, 100 ; 使ECX等于0x100 0040801E |. E8 19B8FFFF call 0040383C 00408023 |. 8B85 F8FDFFFF mov eax, [ebp-208] ; 使EAX等于注册名 ........
你注意看一下,这段代码出现了两处call 0040383C
经过这两个CALL时,注意寄存器的变化,就可以看出它不是算法,而是取输入的注册信息
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
说明很详细,是个新手好教材,支持!
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
不错,down下来试试
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
OD怎么保存修改?
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
楼主,我觉得你把push ebp这里改掉的方法不好,我觉得改这里比较好:
0040821C . 6A 40 push 40
直接改成jmp 0040822F就好了.这样就跳到MessageBox后,不会破坏原来的堆栈.
|
能力值:
(RANK:2210 )
|
-
-
16 楼
最初由 kgdiwss 发布 楼主,我觉得你把push ebp这里改掉的方法不好,我觉得改这里比较好:
0040821C . 6A 40 push 40
直接改成jmp 0040822F就好了.这样就跳到MessageBox后,不会破坏原来的堆栈.
恩@!兄弟说的有道理,学习了
我基础方面底子薄..见谅了
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
谢谢,学习了!
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
新手报到来了~希望能学会一点
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
感谢 多发点这类东西就好了
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
我是新手,练习一下
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
学习了,谢谢楼主分享.
一只学习中的菜鸟!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
最初由 逍遥风 发布 00407E5E |. 0FB67C1A FF |movzx edi, byte ptr [edx+eb>; 取注册名每一位的ASCII码 00407E63 |. 8BD7 |mov edx, edi ; 使EDX等于注册名每一位的ASCII码 00407E65 |. 8D4B 05 |lea ecx, [ebx+5] ; 使ECX等于Mn 00407E68 |. 33D1 |xor edx, ecx ; XOR(注册名每一位的ASCII码,对应的Mn)。得到的结果设为An 00407E6A |. 03D7 |add edx, edi ; 注册名的ASCII码与对应的An相加结果设为Bn 00407E6C |. 83C2 0A |add edx, 0A ; Bn与定值0x0A相加,结果设为Cn ........
这里的Mn应该不是注册名的长度吧.
应该是Mn = 5 + n
新手第一次看教程,提意如果错了请别在意!
多谢你的教程
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
感谢,学习ing
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
好啊,不错不错.
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
学习一下!!
|
|
|