|
本帖最后由 mdyblog 于 2015-10-11 09:40 编辑
试试
CALL $--win netplwiz.dll,UsersRunDll,
RUNDLL32 有些 隐含参数,--win 就是自动补上隐含参数。同时,真正的参数格式,完全不是你看到的那样。
固定4个参数
参数1 参数2 参数3 参数4
参数1 参数2 参数4 是隐含
参数3 是 rundll32 函数名后面 整个参数表,格式固定为字符串,里面的半角逗号也是串内的一个字符,不能作为参数分隔
RUNDLL32 DLl,FUN AAA,BBBB,CCC
这里 AAA,BBBB,CCC 整个是 参数3
为隐藏其中的逗号,包装成一个字符串&FullParam,用 *FullParam作为参数,CALL $就看不到这些逗号。
SET &FullParam=AAA,BBBB,CCC
CALL $DLL,FUN,#%&__WinID%,#%&__HINST%,*FullPARAM,#5
实际为:
- SET &FullPARAM=
- CALL $netplwiz.dll,UsersRunDll,#%&__WinID%,#%&__HINST%,*FullPARAM,#5
复制代码
FullPARAM中没半角逗号,所以,也可直接写为:
- CALL $netplwiz.dll,UsersRunDll,#%&__WinID%,#%&__HINST%,$,#5
复制代码
加个 --win 开关, PECMD自动处理,就没那么多事。
PECMD补充说明.doc---52#
|
|