![]() |
|
#1
|
|||
|
|||
|
question about the function argument-- this pointer
so below is a F5 code of an function generated by IDA
so "_DWORD *this" this particular argument ( or this pointer) should be regarded as a real funtion argument, or not? _DWORD *__thiscall sub_464060(_DWORD *this, _DWORD *Src) { _DWORD *v3; // edi bool v4; // cf unsigned int v5; // eax _DWORD *result; // eax int v7; // ebx void *v8; // eax _DWORD *v9; // ecx void *Srca; // [esp+14h] [ebp+8h] v3 = Src; this[4] = 0; this[5] = 0; v4 = Src[5] < 0x10u; v5 = Src[4]; Srca = (void *)v5; if ( !v4 ) v3 = (_DWORD *)*v3; if ( v5 >= 0x10 ) { v7 = v5 | 0xF; if ( (v5 | 0xF) > 0x7FFFFFFF ) v7 = 0x7FFFFFFF; if ( (unsigned int)(v7 + 1) < 0x1000 ) { if ( v7 == -1 ) v9 = 0; else v9 = operator new(v7 + 1); } else { if ( v7 + 36 <= (unsigned int)(v7 + 1) ) sub_44B280(); v8 = operator new(v7 + 36); if ( !v8 ) invalid_parameter_noinfo_noreturn(); v9 = (_DWORD *)(((unsigned int)v8 + 35) & 0xFFFFFFE0); *(v9 - 1) = v8; } *this = v9; memcpy(v9, v3, (size_t)Srca + 1); this[4] = Srca; result = this; this[5] = v7; } else { *(_OWORD *)this = *(_OWORD *)v3; this[4] = v5; result = this; this[5] = 15; } return result; } |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [NOOB QUESTION] how can i edit a function to return 1 in IDA pro? | Mendax47 | General Discussion | 6 | 08-22-2021 09:38 |
| Resolving Stack Pointer problem | java3ever | General Discussion | 1 | 06-20-2017 13:57 |
| how can i check bad pointer on asm? | DMichael | General Discussion | 5 | 03-22-2014 03:03 |