|
|
1
31
好的,下面是我发现的关于用chrome进行代码沙盒处理的内容。 首先,你得走了 get the chromium source code . 这是 大的 ,需要一段时间,但我还没有找到任何可靠的快捷方式来签出仍然可用的结果。阿洛斯,非常重要的是你要非常仔细地遵循那一页上的说明。谷歌的工作人员知道他们在做什么,也不热衷于无用的步骤。那一页上的一切都是必要的。对。一切。 现在,一旦你得到了源代码,你就不需要构建完整的Chrome(这需要几个小时!)使用沙盒。相反,它们已经足够好了,可以为您提供单独的沙盒解决方案(在沙盒文件夹中找到),可以独立构建。构建这个项目并确保所有内容都能编译。如果有,太好了!如果没有,您没有按照构建页面上的步骤操作,是吗?羞愧地低下你的头,这次就去做吧。别担心,我等一下…… 现在,所有的东西都建立了您的主要兴趣点,那就是沙盒POC项目(“POC”=Proof of Concept)。这个项目基本上是围绕沙盒的一个最小的GUI包装器,它将在沙盒环境中的给定入口点启动一个任意的DLL。它显示了创建和使用沙盒所需的所有步骤,并且是关于您拥有的最佳参考的。经常参考! 在查看代码时,您可能会注意到它实际上是沙盒本身的代码。这在所有沙盒示例中都很常见,并且 according to this thread (可能过时了)可能是目前沙箱的唯一工作方式。线程描述了理论上如何对一个单独的进程进行沙盒处理,但我没有尝试过。不过,为了安全起见,拥有一个自动调用的应用程序是“已知良好”的方法。 Sandbox_proc包含大量静态lib,但它们似乎主要是针对它们构建的示例用户界面。我发现只有一个似乎是最小沙箱所必需的是:
然而,从这个项目的角度来看,还有另一个不完全明显的依赖性,这也是我最长接触到的。构建沙盒解决方案时,其中一个输出文件应该是“
所以这就是所有的环境问题,这里有一些简单的代码让你去!请注意,虽然我在这里的子进程中使用wcout,但是在沙盒中运行时,您看不到任何控制台输出。任何类似的事情都需要通过IPC与父进程通信。
希望这足以让任何其他好奇的编码人员沙盒!祝你好运! |
|
|
2
2
我不确定你到底想要什么样的答案… 首先要做的是检查chrome源代码 reference . 我们感兴趣的是:
围绕这段代码进行深入研究,并在chromium的呈现部分寻找API引用可能会有所帮助。
看看那里,你可能会看到谷歌自己是如何使用他们的沙盒的,我希望它会是类似的
通常,这是我在遇到新的代码库时使用的方法,检查如何调用它。 |
|
AstralHex · 矩阵乘法代码工作不正常 11 月前 |
|
|
Giogre · 为包含许多数值字段的简单“struct”重载比较运算符 11 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 11 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 11 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 12 月前 |