目录

易语言释放内存研究

目录

编写易语言反编译器,需要对易语言的释放内存进行研究,在这里记录一下。

1、收集释放内存的代码类型

第一种,比较常见

004012C8	mov dword ptr ss:[ebp-0x38],eax
004012CB    mov ebx,dword ptr ss:[ebp-0x30]
004012CE    test ebx,ebx
004012D0    je short 004012DB
004012D2    push ebx
004012D3    call 释放内存
004012D8    add esp,0x4

可以看到从004012CB - 004012D8这里的代码可以理解为无效代码。

第二种,为什么要这么写呢

00401379    mov eax,dword ptr ss:[ebp-0x34]
0040137C    push eax
0040137D    mov ebx,dword ptr ss:[ebp-0x10]
00401380    test ebx,ebx
00401382    je short 0040138D
00401384    push ebx
00401385    call 释放内存
0040138A    add esp,0x4
0040138D    pop eax
0040138E    mov dword ptr ss:[ebp-0x10],eax