-
-
[注意]访问当前目录下的文件
-
发表于:
2010-3-30 15:32
3713
-
刚刚得到邀请码,发文庆祝一下吧,看到本版是安全编程,就写了下面一个入门级的,水平有限,大家不要介意。
为方便阐述,先做前提假设:
有两个文件c:\load.exe,c:\1.dll,当load.exe运行起来后,需要加载1.dll
有些人喜欢直接写:LoadLibrary(1.dll)
但这样写会会有问题--如果当前路径不是C,就可能加载错误的dll或者提示寻址错误
于是,有人喜欢用SetCurrentDirectory(C:),然后在LoadLibrary(1.dll)
这样也不安全,如果在SetCurrentDirectory之后本线程中断,其他线程调度运行时,也调用了
SetCurrentDirectory,那么切换回本线程时依然会错。
安全的方法是:
GetModuleFileName获得load.exe全路径,即 c:\load.exe
PathRemoveFileSpec获得路径,即c:\
lstrcat追加1.dll,即c:\1.dll
LoadLibrary(...)
[课程]FART 脱壳王!加量不加价!FART作者讲授!