-
-
见识广的兄弟帮我识别一段代码
-
发表于:
2005-12-6 00:43
3789
-
size=2[color=#008000];[/color]
while(len=len/2) size=size*2[color=#008000];[/color]
[color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+C], 2 [color=#008000];this->size=2[/color]
[color=#0000D0]SHR[/color] [color=#FF0000]EAX[/color], 1 [color=#008000];eax=len[/color]
[color=#0000D0]JE[/color] L1
L2: [color=#0000D0]MOV[/color] [color=#FF0000]EDX[/color], [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+C]
[color=#0000D0]SHL[/color] [color=#FF0000]EDX[/color], 1
[color=#0000D0]SHR[/color] [color=#FF0000]EAX[/color], 1
[color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+C], [color=#FF0000]EDX[/color]
[color=#0000D0]JNZ[/color] L2
L1: [color=#0000D0]MOV[/color] [color=#FF0000]EAX[/color], [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+C]
[color=#0000D0]PUSH[/color] [color=#FF0000]EAX[/color] [color=#008000]; /size[/color]
[color=#0000D0]PUSH[/color] [color=#FF0000]EBP[/color] [color=#008000]; |block[/color]
[color=#0000D0]CALL[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[<&MSVCRT.realloc>] [color=#008000]; \realloc[/color]
[color=#0000D0]ADD[/color] [color=#FF0000]ESP[/color], 8
[color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+4], [color=#FF0000]EAX[/color]
[color=#0000D0]MOV[/color] [color=#b000b0]DWORD[/color] [color=#b000b0]PTR[/color] [color=#FF0000]DS[/color]:[[color=#FF0000]ESI[/color]+8], [color=#FF0000]EAX[/color]
经常看到这么一段,自动管理内存,功能大概是这样的CBuffer(char *buf,int len)
请问这一段是不是来自标准库里面?
能否提供一个类似此功能的Buffer类给我参考,谢谢~!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)