empty能优化我们windows进程内存,今天试了下empty果然能减少物理内存使用量.一看软件才10K应该代码不多我就拿这个软件来练手逆向.通过ida分析了一早上,总算知道软件工作原理了,原来关键就是调用SetProcessWorkingSetSize了,还是贴出代码说明吧:
.text:01001F2C ; int __stdcall SetProcessSize(DWORD dwProcessId)
.text:01001F2C SetProcessSize proc near ; CODE XREF: main__+80p
.text:01001F2C ; main__+167p
.text:01001F2C
.text:01001F2C MinimumWorkingSetSize= dword ptr -4
.text:01001F2C dwProcessId = dword ptr 8
.text:01001F2C
.text:01001F2C push ebp ; 设置进程的内存使用
.text:01001F2D mov ebp, esp
.text:01001F2F push ecx
.text:01001F30 push esi
.text:01001F31 push edi
.text:01001F32 push [ebp+dwProcessId] ; dwProcessId
.text:01001F35 xor edi, edi
.text:01001F37 push edi ; bInheritHandle
.text:01001F38 push 1F0FFFh ; dwDesiredAccess
.text:01001F3D call ds:OpenProcess
.text:01001F43 mov esi, eax
.text:01001F45 cmp esi, edi
.text:01001F47 jnz short loc_1001F4D
.text:01001F49 xor eax, eax
.text:01001F4B jmp short return
.text:01001F4D ; ---------------------------------------------------------------------------
.text:01001F4D
.text:01001F4D loc_1001F4D: ; CODE XREF: SetProcessSize+1Bj
.text:01001F4D lea eax, [ebp+dwProcessId]
.text:01001F50 push eax ; lpMaximumWorkingSetSize
.text:01001F51 lea eax, [ebp+MinimumWorkingSetSize]
.text:01001F54 push eax ; lpMinimumWorkingSetSize
.text:01001F55 push esi ; hProcess
.text:01001F56 call ds:GetProcessWorkingSetSize
.text:01001F5C test eax, eax
.text:01001F5E jz short loc_1001F6E
.text:01001F60 push 0FFFFFFFFh ; dwMaximumWorkingSetSize
.text:01001F62 push 0FFFFFFFFh ; dwMinimumWorkingSetSize
.text:01001F64 push esi ; hProcess
.text:01001F65 call ds:SetProcessWorkingSetSize//这个就是关键使用的api
.text:01001F6B xor edi, edi
.text:01001F6D inc edi
.text:01001F6E
.text:01001F6E loc_1001F6E: ; CODE XREF: SetProcessSize+32j
.text:01001F6E push esi ; hObject
.text:01001F6F call ds:CloseHandle
.text:01001F75 mov eax, edi
.text:01001F77
.text:01001F77 return: ; CODE XREF: SetProcessSize+1Fj
.text:01001F77 pop edi
.text:01001F78 pop esi
.text:01001F79 leave
.text:01001F7A retn 4
.text:01001F7A SetProcessSize endp
看到代码我想有需要的人应该就知道如何用了.
我想游戏优化内存应该也能用上吧,具体工作如何还没有充分测试有那位有心人测试了或有更好想法给我邮件!感谢了
382100@sina.com
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课