标签: exec

保护可执行文件不被修补

我的APT(Anti-Paching Technology)逻辑如下......

1)在MSSQL服务器上存储可执行文件的md5哈希以进行保护.

2)执行md5比较(在我的应用程序启动期间)服务器上找到的哈希,以及可执行文件本身.

3)如果比较失败退出应用程序静默.

以上所有这些都在它最终被挖走之前!

我的意思是什么是保护文件不被修补的最佳方法?不使用现成的工具(.net reactor,virtualizer等)

编辑:其他东西刚刚进入我的脑海.

有没有办法检查服务器端的应用程序完整性?我的意思是我的应用只能在线工作.我可以在服务器(我的域)上执行一些可以检查应用程序完整性的东西吗?

security executable patch md5 exec

2
推荐指数
1
解决办法
267
查看次数

谁拥有php exec tar提取文件?

就文件权限而言,当您使用php脚本解压缩tar文件时,谁是创建文件的"所有者"用户?

我想知道它是否是我的ftp用户,因为我上传了脚本文件?或者apache拥有该文件?我知道他们的标志是为了保留我不想要的原始权限(由其他人创建和存档的文件).我希望我的用户成为文件的创建者/所有者.

PS它是一个云环境.以下是我上传的代码.我通过在浏览器中访问该页面来执行.我可以在Dreamweaver中更改文件权限...这是否意味着我是所有者?

exec('wget http://wordpress.org/latest.tar.gz'); exec('tar -xzvf latest.tar.gz');

php linux file-permissions exec

2
推荐指数
1
解决办法
978
查看次数

PHP exec()不执行批处理文件

我试图谷歌搜索这个问题,发现许多人有同样的问题,但没有解决方案.

    $result = exec("C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Run Code Online (Sandbox Code Playgroud)

这result是一个空字符串和output一个空数组.同样的事情:

    $result = exec("cmd /c C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Run Code Online (Sandbox Code Playgroud)

我确信路径是正确的; 我确信exec()已启用.

我试过exec,shell_exec,system和没有工作.

lessc是较少的CSS.


编辑

apache错误日志说:

'"ruby.exe"'无法识别为内部或外部命令,可运行程序或批处理文件.

php windows exec less

2
推荐指数
1
解决办法
4341
查看次数

tcl:捕获"exec diff"的输出,返回非零值

我知道在执行可能返回非零的命令时使用catch很常见......但是在这种情况下如何获得输出?

具体来说,我希望做一些像"catch {exec diff fileA fileB} ret"这样的事情.文件是不同的,ret值是1.我实际需要的是diff的输出,详细的差异.但我相信"捕捉{exec ...}错误"的做法并没有提供它,对吗?

有人可以建议这个任务吗?是否有tcl-builtin命令来做文件差异?(我认为可以将输出重定向到文件,然后读取文件......还有其他选择吗?)

谢谢!XM

diff tcl try-catch exec

2
推荐指数
1
解决办法
5719
查看次数

在php中,"echo`命令`"做什么?(带单引号)

我花了几个小时在谷歌上仍然找不到一个PHP文档解释这个.有人能指出我正确的链接吗?从SVN获得此代码:

<?php
  echo `snv up`;
Run Code Online (Sandbox Code Playgroud)

我无法理解的一件事是`标记......它不是引号......它是qwerty键盘上最左上角的键.

似乎这将执行"svn up"作为shell命令,但是与exec("snv up")有什么不同呢?有人能指出我可靠的解释来源吗?

在此输入图像描述

php linux exec echo

2
推荐指数
1
解决办法
519
查看次数

node.js:child_process.exec()的回调函数是否可以返回进程PID

Node.JS执行问题:

我有一个产生多个进程的程序,我想通过在进程完成时捕获PID来记录进程完成的顺序。据我所知,标准回调不包含PID(stdout,stderr和error)。

我想避免使用spawn,但是除非有任何善良的主意,否则我将不得不这样做。

提前致谢。

编辑:

澄清:

var child = child_process.exec(..., function() {
    console.log( child.pid );
});
Run Code Online (Sandbox Code Playgroud)

不适用于多个进程。这将返回最后一个过程,而不是触发回调的过程。

exec node.js

2
推荐指数
1
解决办法
5538
查看次数

如何在查找表达式中使用带有sed的文件名

尝试回答使用Bash/Perl根据每个文件的名称修改文件我结束了一个我不知道如何使用find和sed一起使用的点.

假设存在某种文件结构,我们想要更改一行,附加文件名.

如果是正常for循环,我们会这样做:

for file in dir/*
do
   sed -i "s/text/text plus $file/g" $file
done
Run Code Online (Sandbox Code Playgroud)

但是,假设我们想要find用来更改所有子目录中的文件.在这种情况下,我会用...

find . -type f -exec sed -i "s/text/text plus {}/g" {} \;
                                              ^
                                   it does not like this part
Run Code Online (Sandbox Code Playgroud)

但这些{}内sed是不能接受的,我得到的错误

sed:-e expression#1,char 20:`s'的未知选项

我发现了一些类似的问题(1),但在这种情况下,我无法将其概括为足以让我理解.

我相信你们会为此提供一个很好的解决方案.谢谢!

bash sed exec find

2
推荐指数
1
解决办法
247
查看次数

exec将一个函数添加到一个类中

所以我看了类似的问题,我找到了一些解决方案,但我不知道如何做到这一点.

我想要做的是从字符串向类中添加一个方法.我可以使用该setattr()方法执行此操作,但这不会让我self在额外方法中用作属性.这是一个例子:(我为变量名称道歉,当我嘲笑一个想法时,我总是使用yolo)

class what:
    def __init__(self):
        s = 'def yolo(self):\n\tself.extra = "Hello"\n\tprint self.extra'
        exec(s)
        setattr(self,"yolo",yolo)

what().yolo()
Run Code Online (Sandbox Code Playgroud)

返回:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: yolo() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)

如果s = 'def yolo():\n\tself.extra = "Hello"\n\tprint self.extra' 那时我得到这个结果:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 2, in yolo
NameError: global name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

这实际上意味着我不能动态地为类创建方法,我知道这是不好的做法和unpythonic,因为这些方法无法访问类的其余部分可以访问的变量.

我感谢任何帮助.

python exec setattr

2
推荐指数
1
解决办法
2452
查看次数

fork和exec之后在父级和子级之间共享文件描述符

我在Linux,A和B上有两个进程.我想从进程A与进程B共享文件描述符,现在我只是将它序列化为a char*并将其传递给execl参数,但这不起作用.

Ac看起来像这样:

union descriptor{
    char c[sizeof(int)];
    int i;
} fd;
pid_t pid;

fd.i = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
// Perform other socket functions

pid = fork();
if(pid == 0){
    // Read data from socket
    if(execl("./B", fd.c, NULL) < 0){
        exit(EXIT_FAILURE);
    }else(
        exit(EXIT_SUCCESS);
    }
}else if(pid < 0){
    exit(EXIT_FAILURE);
}else{
    waitpid(pid, NULL, 0);
}
Run Code Online (Sandbox Code Playgroud)

Bc看起来像这样:

union descriptor{
    char c[sizeof(int)];
    int i;
} fd;

memcpy(&fd.c[0], argv[0], sizeof(int));

write(fd.i, "TEST", 4);
close(fd.i);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我不明白为什么不.我怎样才能做到这一点?如果它的工作原理,它是经过共享父母和孩子之间的文件描述符的最佳解决方案fork和一个exec?

更新

问题与我提出的问题无关,它是由@OliCharlesworth指出的传递整数的错误方式引起的.请关闭这个问题.

c linux fork file-descriptor exec

2
推荐指数
2
解决办法
1万
查看次数

Mac上的FFMPEG和PHP不起作用

我需要你的帮助.目前我使用的是Mac OS X 10.9.4和xampp apache 1.8.3-3.我需要使用ffmpeg(版本3.2)通过PHP转换视频文件,exec()但我无法使其工作.我做了一些运行终端命令行的测试,系统正常运行.只在php中它不起作用.ffmpeg是通过brew编译和安装的.

我运行了以下测试:

exec("/usr/local/Cellar/ffmpeg/2.3/bin/ffmpeg -i /Applications/XAMPP/xamppfiles/htdocs/teste/trailer.mp4 /Applications/XAMPP/xamppfiles/htdocs/teste/trailer2.flv 2>&1", $o, $v);
var_dump($o);
var_dump($v);
Run Code Online (Sandbox Code Playgroud)

并得到以下:

array(4) { 
    [0]=> string(51) "dyld: Symbol not found: __cg_jpeg_resync_to_restart" 
    [1]=> string(82) "Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO" 
    [2]=> string(63) "Expected in: /Applications/XAMPP/xamppfiles/lib/libJPEG.dylib" 
    [3]=> string(67) " in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO" } int(133)
Run Code Online (Sandbox Code Playgroud)

php xampp macos ffmpeg exec

2
推荐指数
1
解决办法
2252
查看次数

标签 统计

exec ×10

php ×4

linux ×3

bash ×1

c ×1

diff ×1

echo ×1

executable ×1

ffmpeg ×1

file-descriptor ×1

file-permissions ×1

find ×1

fork ×1

less ×1

macos ×1

md5 ×1

node.js ×1

patch ×1

python ×1

security ×1

sed ×1

setattr ×1

tcl ×1

try-catch ×1

windows ×1

xampp ×1