首页
社区
课程
招聘
[求助]代码为什么和KuNgBiM不一样
发表于: 2008-3-7 23:56 5128

[求助]代码为什么和KuNgBiM不一样

2008-3-7 23:56
5128
我解释一下,这是和KuNgBiM那篇跳过网络验证一样的一段代码,但是这个验证中为什么没有接收代码的的那个mov 呢?

00418F17   .  8985 58FEFFFF             mov     dword ptr [ebp-1A8], eax           ;  获取服务器数据

很是不解!!!

按理说过的方式是一样的,附录代码

我的代码
004012C6  |.  8D45 F0       lea     eax, [local.4]                   ; |
004012C9  |.  50            push    eax                              ; |pSockAddr
004012CA  |.  56            push    esi                              ; |Socket
004012CB  |.  E8 2CEE0000   call    <jmp.&WS2_32.#4>                 ; \connect
004012D0  |.  83F8 FF       cmp     eax, -1
004012D3      75 0E         jnz     short 004012E3
004012D5  |.  837D 08 00    cmp     [arg.1], 0
004012D9  |.  75 08         jnz     short 004012E3
004012DB  |.  56            push    esi                              ; /Socket
004012DC  |.  E8 FDED0000   call    <jmp.&WS2_32.#3>                 ; \closesocket
004012E1  |.  33F6          xor     esi, esi
004012E3  |>  8BC6          mov     eax, esi
004012E5  |.  5E            pop     esi
004012E6  |.  C9            leave
004012E7  \.  C3            retn

KuNgBiM的代码
  00418F11   .  FF15 D0A54600             call    dword ptr [<&ws2_32.connect>]      ; \connect
  00418F17   .  8985 58FEFFFF             mov     dword ptr [ebp-1A8], eax           ;  获取服务器数据
  00418F1D   .  83BD 58FEFFFF FF          cmp     dword ptr [ebp-1A8], -1            ;  返回值是否大于等于FFFFFFFF
                                                                                     ;  是则挂(通信不正常)
  00418F24      75 14                     jnz     short 00418F3A                     ;  ★所以这里必须跳!改为JMP★
  00418F26   .  C705 3C105D00 0D000000    mov     dword ptr [5D103C], 0D
  00418F30   .  E8 EB180100               call    0042A820
  00418F35   .  E9 5C0A0000               jmp     00419996
  00418F3A   >  6A 00                     push    0                                  ; /Flags = 0
  00418F3C   .  6A 60                     push    60                                 ; |DataSize = 60 (96.)
  00418F3E   .  8D8D 74FFFFFF             lea     ecx, dword ptr [ebp-8C]            ; |
  00418F44   .  51                        push    ecx                                ; |Data

这个是为什么呢?

PS:请不要看地址,那一定不相同,但是程序执行的流程应该是差不多的.
真的不是想原版比对,但是得有个流程啊,这个应该是差不多的.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
从机器码来看,根本不是一个地方。
2008-3-8 14:21
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
呵呵 要理解意思不是原班照抄
2008-3-8 18:08
0
雪    币: 360
活跃值: (77)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=popeylj;425357]我解释一下,这是和KuNgBiM那篇跳过网络验证一样的一段代码,但是这个验证中为什么没有接收代码的的那个mov 呢?

00418F17   .  8985 58FEFFFF             mov     dword ptr [ebp-1A8], eax           ;  获取...[/QUOTE]

OK,回来说一下,这个还是需要细致的看看编程怎么写才行~~
有机会把我这个网络验证给大家发一下~~
2008-3-25 20:35
0
游客
登录 | 注册 方可回帖
返回
//