EDI寄存器存放字符串
AL寄存器存放字符x
遍历字符串,每循环一次ecx-1,遇到字符x则停止
AL寄存器存放字符x
遍历字符串,每循环一次ecx-1,遇到字符x则停止
汇编中用来计算字符串长度
例如:
0040104E |. E8 7D0A0000 call 2-lelfei.00401AD0 ; 获取字符串的函数
00401053 |. 8D7C24 20 lea edi,dword ptr ss:[esp+0x20]
00401057 |. 83C9 FF or ecx,-0x1
0040105A |. 33C0 xor eax,eax
0040105C |. 83C4 18 add esp,0x18
0040105F |. F2:AE repne scas byte ptr es:[edi]
00401061 |. F7D1 not ecx
00401063 |. 83C1 FE add ecx,-0x2
00401066 |. 83F9 08 cmp ecx,0x8 ; ecx 不可以小于8
00401069 |. 0F8C 0B020000 jl 2-lelfei.0040127A
0040106F |. 83F9 14 cmp ecx,0x14 ; ecx 不可以大于20
00401072 |. 0F8F 02020000 jg 2-lelfei.0040127
0040127A |> \51 push ecx
0040127B |. 68 40904000 push 2-lelfei.00409040 ; key len error[%d]...\n
参考自:https://www.cnblogs.com/Viwilla/p/5033588.html