混淆的dll的安全性

nem*_*aar 2 c security dll

我有一个严重混淆的本机win32 DLL与功能未知,它似乎没有调用其他dll的任何功能.我的问题是理论上这个代码能够修改其代码以造成任何伤害.子问题: - 是默认情况下动态加载的dll读取的代码部分还是可写的? - 如果代码不使用任何其他DLL,它仍然能够做一些需要系统DLL的代码?如果默认情况下没有加载加载dll的函数,它怎么能加载另一个dll并找到一个函数?

提前致谢.

Dav*_*nan 7

此代码是否能够修改其代码以造成任何伤害.

是.事实上,即使不需要自我修改也可能造成伤害.

动态加载的dll的代码部分是默认读取还是可写?

默认情况下,DLL能够自行修改.他们需要打电话VirtualProtect才能这样做,但那是完全可能的.

如果代码不使用任何其他DLL,它仍然能够做一些需要系统DLL的代码吗?

DLL可以只加载任何系统DLL并调用它选择的任何函数.

如果默认情况下没有加载加载dll的函数,它怎么能加载另一个dll并找到一个函数?

通过电话LoadLibraryGetProcAddress.如果DLL真的根本没有输入任何东西那么抓住它是很棘手的GetProcAddress.但并非不可能.如果Windows设法做到这一点,那么肯定也可以使用DLL.它可以做的一件事是读取加载到每个进程中的kernel32 DLL的内存中内容.它可以解析PE导出表并使用它来查找地址GetProcAddress.