郁闷啊!谁来帮我看看这段代码啥意思?
0041F73D CC INT30041F73E 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
脑袋笨,搞的有点晕啊!这个是在找剑三的基址时候弄的,在网上查资料说要熟悉二叉树,谁能给我详细的解释下,特别是中间红字的那段,没搞懂什么意思。在次谢过了。
{:5_104:}我表示无能为力哥已经看吐血了 强反正我不知道 也没什么难的。。。那些指令你若明白什么意思,就自己慢慢看。我也不晓得你是看不懂算法,还是什么。。。无非就是几个jcc指令。。。可以去百度下。若要根据你这几行代码来看出这是在干嘛。。。对于我只懂指令不懂游戏的人难度有些大;了 本帖最后由 無邪 于 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
具体数据是什么得看程序执行到那一行时寄存器里的值
{:5_99:}了,真的有点复杂 {:5_94:}{:5_94:}{:5_94:} 跪了。。。。。
页:
[1]