
反汇编问题.求大神解释下面代码的意思
004C8989|>/8917/MOVDWORDPTRDS:[EDI],EDX004C898B|.|83C704|ADDEDI,4004C898E|.|49|DECECX...
004C8989 |> /8917 /MOV DWORD PTR DS:[EDI],EDX
004C898B |. |83C7 04 |ADD EDI,4
004C898E |. |49 |DEC ECX
004C898F |.^|74 AF |JE SHORT gsrv_for.004C8940
004C8991 |> |BA FFFEFE7E MOV EDX,7EFEFEFF
004C8996 |. |8B06 |MOV EAX,DWORD PTR DS:[ESI]
004C8998 |. |03D0 |ADD EDX,EAX
004C899A |. |83F0 FF |XOR EAX,FFFFFFFF
004C899D |. |33C2 |XOR EAX,EDX
004C899F |. |8B16 |MOV EDX,DWORD PTR DS:[ESI]
004C89A1 |. |83C6 04 |ADD ESI,4
004C89A4 |. |A9 00010181 |TEST EAX,81010100
004C89A9 |.^ 74 DE |JE SHORT gsrv_for.004C8989 展开
004C898B |. |83C7 04 |ADD EDI,4
004C898E |. |49 |DEC ECX
004C898F |.^|74 AF |JE SHORT gsrv_for.004C8940
004C8991 |> |BA FFFEFE7E MOV EDX,7EFEFEFF
004C8996 |. |8B06 |MOV EAX,DWORD PTR DS:[ESI]
004C8998 |. |03D0 |ADD EDX,EAX
004C899A |. |83F0 FF |XOR EAX,FFFFFFFF
004C899D |. |33C2 |XOR EAX,EDX
004C899F |. |8B16 |MOV EDX,DWORD PTR DS:[ESI]
004C89A1 |. |83C6 04 |ADD ESI,4
004C89A4 |. |A9 00010181 |TEST EAX,81010100
004C89A9 |.^ 74 DE |JE SHORT gsrv_for.004C8989 展开
1个回答
展开全部
有一串数(符)放在ESI所指的单元内,个数为ECX。
依次判断ESI所指单元内的数(符)x 是否满足 x + 7EFEFEFF = x ^ 7EFEFEFF ; ^表示异或
如果满足,则复制到EDI所指的单元内,然后继续判断下一个,直到判断完(ECX为0)
如果不满足,则继续。。。(完成这段指令)
依次判断ESI所指单元内的数(符)x 是否满足 x + 7EFEFEFF = x ^ 7EFEFEFF ; ^表示异或
如果满足,则复制到EDI所指的单元内,然后继续判断下一个,直到判断完(ECX为0)
如果不满足,则继续。。。(完成这段指令)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询