标签: epm

有没有办法在IE11上从AppContainer BHO创建命名管道?

我正在尝试为Internet Explorer 11(Windows 8.1)编写BHO.我的BHO实现了AppContainer沙箱,但我似乎无法创建一个命名管道,CreateNamedPipe失败并显示该消息: Access is denied.

这是我用来创建命名管道的代码(我在俄罗斯网站上找到,最后评论:

        LPCWSTR LOW_INTEGRITY_SDDL_SACL_W = L"S:(ML;;NW;;;LW)D:(A;;0x120083;;;WD)(A;;0x120083;;;AC)";

        PSECURITY_DESCRIPTOR pSD = NULL;
        ConvertStringSecurityDescriptorToSecurityDescriptorW (
            LOW_INTEGRITY_SDDL_SACL_W,
            SDDL_REVISION_1,
            &pSD,
            NULL );

        if ( pSD != NULL)
        {
            SECURITY_ATTRIBUTES  SecurityAttributes;

            SecurityAttributes.nLength = sizeof(SECURITY_ATTRIBUTES);
            SecurityAttributes.bInheritHandle = TRUE;
            SecurityAttributes.lpSecurityDescriptor = pSD;

            HANDLE hPipe = CreateNamedPipe(
                L"\\\\.\\pipe\\testpipe",
                PIPE_ACCESS_DUPLEX,                     
                PIPE_TYPE_BYTE | PIPE_READMODE_BYTE,
                1,                                  
                4096,                   
                4096,                               
                1000,
                &SecurityAttributes);           

        }

不幸的是,它不起作用.GetLastError() Access is denied像往常一样返回此值.

internet-explorer bho epm internet-explorer-11 appcontainer

6
推荐指数
1
解决办法
2233
查看次数

$$ FOO在bash中做什么(在使用epm构建的deb包中)?

在命令行上,我得到这个:

$ FOO=foo
$ echo $FOO
foo
$ echo $$FOO
11971FOO
Run Code Online (Sandbox Code Playgroud)

这里,$$按预期解析为shell的PID,并逐字打印"FOO".

现在,尝试理解和调试一些脚本,我发现以下内容:

#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $$FILE1 >> $$FILE2
Run Code Online (Sandbox Code Playgroud)

有问题的脚本源自Debian软件包的安装后脚本.这应该在它运行之前进行预处理吗?

更新:该脚本是使用epm构建的包的一部分,并通过以下指令读取:

%postinstall <script.sh
Run Code Online (Sandbox Code Playgroud)

在生成的deb包中,postinst脚本显示:

#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $FILE1 >> $FILE2
Run Code Online (Sandbox Code Playgroud)

因此,处理由epm或dpkg完成.

bash deb epm

5
推荐指数
1
解决办法
115
查看次数