能力值:
(RANK:410 )
|
-
-
2 楼
CMP EAX,EDX //这一句主要是判断函数的两个参数是否指向同一个字串。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢小虾!
我是刚刚抬脚的初学者,基本功很差,老老实实跟踪了这个程序,到后面才发现用户名比较是每4个字节比较的.
还有个问题想不通.如何确定以下两句得到的是用户名的长度的?
00403B43 |. 8B46 FC MOV EAX,DWORD PTR DS:[ESI-4] ; 用户名长度送EAX
00403B46 |. 8B57 FC MOV EDX,DWORD PTR DS:[EDI-4] ; “Registered User”字串的长度送EDX
我只在前面程序调用GetWindowTextA()后,发现EAX曾被赋于过所输入的用户名的长度. 这个[ESI-4]为什么能得到长度呢??
翻了30多页的跟帖,发现里面也有人问到这个问题,请小虾再指点下,谢谢
|
能力值:
(RANK:410 )
|
-
-
4 楼
你那个程序是Delphi程序,Delphi程序对字符串的管理是这样的:字符串首地址是指向字符串的,字符串首地址-4是指向字符串的长度,字符串首地址-8是指向字符串的引用次数。所以:
mov al,[exx] ;则是取字符串的第1个字符。
mov eax,[exx-4] ;则是取字符串的长度
mov eax,[exx-8] ;则是取字符串的引用次数。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
|
|
|