南方的雪 发表于 2012-7-3 11:44:33

郁闷啊!谁来帮我看看这段代码啥意思?

0041F73D      CC            INT3
0041F73E      CC            INT3
0041F73F      CC            INT3
0041F740    /$8B51 04       MOV EDX,DWORD PTR DS:
0041F743    |.8B42 04       MOV EAX,DWORD PTR DS:
0041F746    |.83EC 10       SUB ESP,10
0041F749    |.8078 15 00    CMP BYTE PTR DS:,0
0041F74D    |.56            PUSH ESI
0041F74E    |.57            PUSH EDI
0041F74F    |.8B7C24 20   MOV EDI,DWORD PTR SS:


0041F753    |.75 16         JNZ SHORT JX3Clien.0041F76B
0041F755    |.8B37          MOV ESI,DWORD PTR DS:
0041F757    |>3970 0C       /CMP DWORD PTR DS:,ESI
0041F75A    |.73 05         |JNB SHORT JX3Clien.0041F761
0041F75C    |.8B40 08       |MOV EAX,DWORD PTR DS:
0041F75F    |.EB 04         |JMP SHORT JX3Clien.0041F765
0041F761    |>8BD0          |MOV EDX,EAX
0041F763    |.8B00          |MOV EAX,DWORD PTR DS:
0041F765    |>8078 15 00    |CMP BYTE PTR DS:,0
0041F769    |.^ 74 EC         \JE SHORT JX3Clien.0041F757


0041F76B    |>8B41 04       MOV EAX,DWORD PTR DS:
0041F76E    |.3BD0          CMP EDX,EAX
0041F770    |.895424 0C   MOV DWORD PTR SS:,EDX
0041F774    |.894C24 08   MOV DWORD PTR SS:,ECX
0041F778    |.74 0D         JE SHORT JX3Clien.0041F787
0041F77A    |.8B37          MOV ESI,DWORD PTR DS:
0041F77C    |.3B72 0C       CMP ESI,DWORD PTR DS:
0041F77F    |.72 06         JB SHORT JX3Clien.0041F787
0041F781    |.8D4C24 08   LEA ECX,DWORD PTR SS:
0041F785    |.EB 0C         JMP SHORT JX3Clien.0041F793
0041F787    |>894C24 10   MOV DWORD PTR SS:,ECX
0041F78B    |.894424 14   MOV DWORD PTR SS:,EAX
0041F78F    |.8D4C24 10   LEA ECX,DWORD PTR SS:
0041F793    |>8B11          MOV EDX,DWORD PTR DS:
0041F795    |.8B4424 1C   MOV EAX,DWORD PTR SS:
0041F799    |.8B49 04       MOV ECX,DWORD PTR DS:
0041F79C    |.5F            POP EDI
0041F79D    |.8910          MOV DWORD PTR DS:,EDX
0041F79F    |.8948 04       MOV DWORD PTR DS:,ECX
0041F7A2    |.5E            POP ESI
0041F7A3    |.83C4 10       ADD ESP,10
0041F7A6    \.C2 0800       RETN 8
0041F7A9      CC            INT3
0041F7AA      CC            INT3
0041F7AB      CC            INT3
0041F7AC      CC            INT3
0041F7AD      CC            INT3


脑袋笨,搞的有点晕啊!这个是在找剑三的基址时候弄的,在网上查资料说要熟悉二叉树,谁能给我详细的解释下,特别是中间红字的那段,没搞懂什么意思。在次谢过了。


zty 发表于 2012-7-4 16:50:19

{:5_104:}我表示无能为力哥已经看吐血了      

侮辱后的坚强 发表于 2012-7-4 19:36:50

强反正我不知道

Tzdner_C 发表于 2012-7-5 15:01:00

也没什么难的。。。那些指令你若明白什么意思,就自己慢慢看。我也不晓得你是看不懂算法,还是什么。。。无非就是几个jcc指令。。。可以去百度下。若要根据你这几行代码来看出这是在干嘛。。。对于我只懂指令不懂游戏的人难度有些大;了

無邪 发表于 2012-7-6 02:07:14

本帖最后由 無邪 于 2012-7-6 02:17 编辑

0041F753    |.75 16         JNZ SHORT JX3Clien.0041F76B
0041F755    |.8B37          MOV ESI,DWORD PTR DS:
0041F757    |>3970 0C       /CMP DWORD PTR DS:,ESI
0041F75A    |.73 05         |JNB SHORT JX3Clien.0041F761   
;将地址EAX+C处的内容和EDI地址处的内容做比较若不小于则跳到41F761处(1)
0041F75C    |.8B40 08       |MOV EAX,DWORD PTR DS:
0041F75F    |.EB 04         |JMP SHORT JX3Clien.0041F765   
;将地址EAX+8处的双字值传送到EAX中 然后跳到地址41f765处(2)
(1)跳到这里,然后将地址EAX处的值传送到EAX寄存器中,然后执行(2)处的内容
0041F761    |>8BD0          |MOV EDX,EAX
0041F763    |.8B00          |MOV EAX,DWORD PTR DS:
(2)跳到这里,然后测试EAX+15处的值是否为0,等于零则跳到上面41F757处循环执行,不等于零则往下执行
0041F765    |>8078 15 00    |CMP BYTE PTR DS:,0
0041F769    |.^ 74 EC         \JE SHORT JX3Clien.0041F757

具体数据是什么得看程序执行到那一行时寄存器里的值

年轻,真好! 发表于 2012-7-13 10:07:34

{:5_99:}了,真的有点复杂

2809196927 发表于 2012-7-20 15:47:00

{:5_94:}{:5_94:}{:5_94:} 跪了。。。。。
页: [1]
查看完整版本: 郁闷啊!谁来帮我看看这段代码啥意思?