我的APT(Anti-Paching Technology)逻辑如下......
1)在MSSQL服务器上存储可执行文件的md5哈希以进行保护.
2)执行md5比较(在我的应用程序启动期间)服务器上找到的哈希,以及可执行文件本身.
3)如果比较失败退出应用程序静默.
以上所有这些都在它最终被挖走之前!
我的意思是什么是保护文件不被修补的最佳方法?不使用现成的工具(.net reactor,virtualizer等)
编辑:其他东西刚刚进入我的脑海.
有没有办法检查服务器端的应用程序完整性?我的意思是我的应用只能在线工作.我可以在服务器(我的域)上执行一些可以检查应用程序完整性的东西吗?
我是一家公司的合作社,我的任务是修补Roumen Petrov的OpenSSH w/x509证书补丁(http://www.roumenpetrov.info/openssh/)以包含他想要的列表中的一个功能:通配符杰出的名字.在他的网站上,他说他很乐意接受补丁.
完成后,如果有可能向公众发布补丁,我会让我的经理恳求上级.不幸的是,没有任何东西来自它,高层人士忘记了这个要求.
OpenSSH和w/x509补丁代码是BSD许可证,因此我们没有法律要求发布我们的更改.然而,作为开源的狂热用户并且最终能够做出贡献,我想帮助彼得罗夫先生付出努力.我的公司也有一个好处:补丁上游,我们不必在上游补丁版本之间维护它.
我是公司的雇员(不是承包商),因此我的工作是公司的财产,因此我不能在未经他们批准的情况下发布(不是我会想到的).
我想知道我是否在自己的时间重现我的更改,而不查看或引用在工作中生成的代码,我是否可以发布该补丁.
注意:我无法在任何地方找到我的雇佣合同的副本,因此我将尝试获取它的副本,但在此之前我无法回答有关它的任何具体问题.
注2:我发现你的人不是律师.(你是谁打电话给'你们这些人?'!)
我已经发布了现有的大型WiX安装.我需要为几个已更改的文件创建一个小安装.我使用"PatchCreation"元素在WiX中为这几个文件创建了一个补丁(.MSP文件).运行补丁时,它会向用户显示"重新安装/修复/删除"对话框.如果用户选择修复,则补丁完全按照预期进行.我的问题是我不希望补丁说"修复",或者给用户这些选项.我只是希望它安装在我拥有的几个文件上,或多或少像常规安装.我该怎么做才能解决这个问题?
patching file chrome/browser/gpu_process_host_ui_shim.cc
Unreversed patch detected! Skipping patch.
6 out of 6 hunks ignored -- saving rejects to file chrome/browser/gpu_process_host_ui_shim.cc.rej
Run Code Online (Sandbox Code Playgroud)
从开源项目(https://github.com/sirikata/berkelium)运行构建脚本时,我收到与此类似的消息:
这个"未检测到的补丁检测到"消息是什么意思?
例如:
# patched foo.c depends on original foo.c and couple of my edits in foo.dif
foo.c: foo.c foo.dif
patch foo.c foo.dif
Run Code Online (Sandbox Code Playgroud)
我想避免文件名和目录混乱,只是就地应用编辑,并准备好由原始源代码树提供的原始makefile(对文件名和目录非常复杂和敏感)所促成的重建.
@AUZKamath,我的编辑内容foo.dif.这是为了在最终用户系统上的现有源树上部署我的补丁.我做错了吗?
我想合并两个补丁。可悲的是,我删除了导出这些补丁的分支。你们能建议一种合并两个补丁的方法吗?
我在Ubuntu 12.04机器上使用Mercurial 2.0.2。
我正在构建一个使用第三方JavaScript库(TinyMCE)的Web应用程序.
我的应用程序有一些特定的需求,需要我在几个地方修补库.补丁很容易(不到十几行),但因为它们特定于我们的用例而不是错误.
我希望能够在发布新版本的库时更新,这将覆盖我们的Git存储库中的更改.
我需要一种方法来确保在将更新的库推送到生产服务器之前始终应用我们的补丁.由于更改非常小,因此手动应用它们不是问题.
在更新第三方代码时,如何确保我的第三方代码补丁在我们的存储库中应用?
这是我的代码:
//routes.php
Route::match(['post', 'patch'],'/slide/{id}', function() {
dd(request()->all());
});
//form
<form id="form" enctype="multipart/form-data">
<input type="text" name="title">
<input type="file" name="image">
</form>
//js
$('#form').on('submit',(function(e) {
$.ajax({
type: "PATCH",
url:'/slide/' + id,
data: new FormData(this),
cache: false,
contentType: false,
processData: false
}).done(function(r) {
console.log(r);
});
}));
Run Code Online (Sandbox Code Playgroud)
当我使用POST方法时,一切都很好,dd(request() - > all())返回:
array:2 [
"title" => "foo"
"file" => UploadedFile {#400
-test: false
-originalName: "bar.png"
-mimeType: "image/png"
-size: 4413
-error: 0
...
}
]
Run Code Online (Sandbox Code Playgroud)
但当改变方法到PATCH我收到空数组.
有人可以解释我做错了什么,并分享使用PATCH方法通过ajax向L5发送FormData的正确方法吗?
我使用Laravel 5.2和jQuery 2.2.3
我目前正在新公司中安装Gerrit服务器。我曾经使用gerrit几年了,但从未设置过。
我安装了gerrit 2.13.5,并且正在尝试对其进行配置。我要解决的最后两个问题(这里只讨论一个)。
我有一个提交列表A-> B-> C
A是B的父母,B是C的父母
我的提交C出现了一个按钮“提交包括父母”,但由于A和B被拒绝,所以我无法将其樱桃提取到gerrit / master分支中。
由于C与A或B不相关,但是我不想在本地分支太多,因此我已经将3个提交全部提交到同一个分支中。
我在gerrit配置中使用cherry-pick Submit选项
[submit]
action = cherry pick
mergeContent = true
Run Code Online (Sandbox Code Playgroud)
我以为使用此选项,我可以挑选没有直接父项依赖项的所有提交。我曾经在以前的公司中这样做,但是在这里我无法成功通过这种方式设置Gerrit。
如果有人有想法或问题,我将非常乐意得到或回答。
干杯。