易语言释放内存研究
目录
编写易语言反编译器,需要对易语言的释放内存进行研究,在这里记录一下。
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