标签: executable

从网页运行exe

我们有一个内部页面,我想用它来运行一个可更新服务器上的某些文件的可执行文件.换句话说,我不是每次需要手动运行此可执行文件时登录到服务器,而是希望从浏览器运行它.可执行文件在服务器上是自包含的,不与用户交互.

这是我的代码:

    try
    {
        System.Diagnostics.Process p = new System.Diagnostics.Process();
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.FileName = Server.MapPath(@"\iPhoneXMLCreator.exe");
        p.StartInfo.WorkingDirectory = Server.MapPath(@"\");
        p.StartInfo.RedirectStandardOutput = false;

        p.Start();
        p.WaitForExit();
        lblResult.Text = "Success!";
    }
    catch (Exception ex)
    {
        lblResult.Text = "Oops, there was a problem.<br><Br>" + ex.Message;
    }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,该过程显示在任务管理器中,但然后在几秒钟内退出而不更新它应该的文件.没有参数可以传递,只是一个简单的可执行文件.有任何想法吗?

c# asp.net executable

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

从ColdFusion应用程序调用Windows可执行文件(.exe)

我没有使用ColdFusion的经验,但是我想知道是否可以从ColdFusion应用程序调用windows .exe文件(假设应用程序和.exe在同一台机器上运行),然后使用来自.exe传递给ColdFusion应用程序中的另一个方法(或者为了简单起见,只在警报窗口中显示响应).

coldfusion executable exe

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

在任何操作系统上运行不同格式的可执行文件

如果我做对了,那应该不会那么难以思考.具体来说,我将从iOS和ELF可执行格式开始.让我们澄清一下,我有一个越狱的iPhone,我不想在任何appstore应用程序中这样做,所以请求避免"好的建议",如"你不能这样做,因为它被Apple禁止".

所以,我所看到的是有一个名为Frash的Flash播放器实现(由Comex btw,最近的越狱开发人员).安装后,此实用程序需要Android的libflashplayer.so存在(复制到)iPhone文件系统.我深入研究了源代码,发现调整实际上打开了Android(ELF)共享对象文件,"解析"它并从中执行代码.我已经问过我的一个朋友,它实际上是不可能的,他告诉我它是,因为ARM上的ELF和ARM上的Mach-O是二进制兼容的(因为它们都是ARM).但他实际上没有向我详细解释,所以我想问一下怎么办呢?我无法完全理解处理的源代码片段,但有一件事是肯定的:

int fd = open("libflashplayer.so", O_RDONLY);
_assert(fd > 0);

fds_init();

sandbox_me();

int symtab_size;
Elf32_Sym *symtab;
void **init_array;
Elf32_Word init_array_size;
char *strtab;
TIME(base_load_elf(fd, &symtab, &symtab_size, &init_array, &init_array_size, &strtab));

// Call the init funcs
_assert(init_array);
while(init_array_size >= 4) {
    void (*x)() = *init_array++;
    notice("Calling %p", x);
    x();
    init_array_size -= 4;
}
Run Code Online (Sandbox Code Playgroud)

(来自原始代码,截至2011年12月2日在GitHub上)

在我看来他用libelf来执行此操作,对吗?在ELF文件中有符号可以在兼容的处理器上执行就好了吗?

我还想知道所有其他处理器架构是否都适用?那么也许可以在OS X上从Linux二进制文件执行符号?

c iphone executable arm abi

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

编译的perl可执行文件无法在Windows 7(64位)上运行

我在64位Linux内核上创建了一个perl脚本的可执行文件(.exe).它在此环境中正确执行.

在64位Windows 7中运行可执行文件时,将显示以下错误消息:

此文件的版本与您正在运行的Windows版本不兼容.检查计算机的系统信息,以查看是否需要x86(32位)或x64(64位)版本的程序,然后与软件发行商联系.

鉴于源和目标操作系统都是64位,我不确定构建的架构是否是问题.是否有任何特殊注意事项使编译的perl程序在Windows中正确执行?谢谢.

perl executable exe runtime-error 32bit-64bit

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

Java - eclipse - 获取.exe文件

据我所知,我需要制作一个jar文件才能获得.exe.

我的问题:我有方法:

public static void main(String[] args){
Run Code Online (Sandbox Code Playgroud)

在EX1课程中.当我做:时Export --> Java --> Runnable Jar file,EX1类不是我的选择之一.可能是什么原因?

谢谢

java deployment installer executable

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

以十六进制编辑器写入程序存储器并以编程方式读取

好吧,我有.exe应用程序和其他一些文件.我想要做的是将此其他文件写入.exe文件的末尾..exe文件应该在其内存中找到该文件的地址,从那里读取并执行一些操作.

我之前能够找到我写入内存的文件的地址,但是当我尝试从那里读取时,我得到访问被拒绝的异常.我怎么从那里读?

基本上我只想拥有一个自解压PE文件.是的,我知道,我可以只进行自解压存档,但这不是我想要的,因为我需要.exe和.dll但是自解压存档只能是.exe所以看起来唯一的办法就是让我的应用程序自我 - 提取自己.这是代码:

int main(void)
{
    HMODULE hBegin = GetModuleHandle(NULL);

    PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)hBegin;
    PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)((PBYTE)hBegin + dosHeader->e_lfanew);
    PIMAGE_SECTION_HEADER pSectionTable = (PIMAGE_SECTION_HEADER)(ntHeaders + 1);


    // get size of each section
    DWORD dwSize = 0;

    for(int i = 0; i < ntHeaders->FileHeader.NumberOfSections; i++)
    {
        dwSize += pSectionTable[i].SizeOfRawData;
    }

    //get size of PE headers
    dwSize += ntHeaders->OptionalHeader.SizeOfHeaders;

    WCHAR lpszSfxPath[MAX_PATH];
        GetModuleFileNameW(NULL, lpszSfxPath, MAX_PATH);
    HANDLE hFile = CreateFileW(lpszSfxPath,
            GENERIC_READ,
            FILE_SHARE_READ,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_NORMAL,
            NULL);
    SetFilePointer(hFile, dwSize, NULL, FILE_BEGIN);
    BYTE BUF[10]; …
Run Code Online (Sandbox Code Playgroud)

c++ windows executable hex exe

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

C和C++可执行文件之间的区别?

我知道C和C++程序之间的源代码存在差异 - 这不是我所要求的.

我也知道这会因CPU和CPU以及操作系统而异,具体取决于编译器.

我正在自学C++,并且我看到了许多可以被两种语言使用的库的引用.这让我开始思考 - 这两种语言的二进制可执行文件之间是否存在显着差异?

对于两者都可以轻松使用的库,我认为它们必须在可执行级别上相似.

在许多情况下,某人可以检查可执行文件并判断它是否是由C或C++源代码创建的?或者二进制文件是否非常相似?

c c++ executable binaries

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

C#:运行进程然后使用按钮终止它

我希望你可以帮助我这个,我的C#非常生疏.

我在表单加载时运行可执行文件.

    private void Form1_Load(object sender, EventArgs e)
    {
        ProcessStartInfo exe = new ProcessStartInfo();
        exe.Arguments = "arguments";
        exe.FileName = "file.exe";
        Process.Start(exe);
    }
Run Code Online (Sandbox Code Playgroud)

我想用一个按钮来杀死那个过程,但我不知道如何实现这个目标.

    private void button1_Click(object sender, EventArgs e)
    {

    }
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# executable kill

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

Perl脚本记录外部可执行文件输出和错误,但仍然运行

我有一个Perl脚本,它运行一个外部可执行文件.该可执行文件运行一段时间(有时是秒,有时是一小时),可以将文本吐出到STDOUT和STDERR以及退出代码,这些都是必需的.下面的代码演示了第一个成功的外部可执行文件运行(带有一行的小bash脚本 - 注释),然后出现状态不佳(例如gs - ghostscript).我希望外部可执行文件将其STDOUT提供给Perl脚本,以便在外部仍在执行时记录到日志文件(也用于其他内容)之前进行评估,过滤,格式化等.STDERR也可以以同样的方式工作.此脚本可用于记录STDOUT中的所有内容,但仅在可执行文件完成后才能记录.并且STDERR只是直接记录,没有评估等.我没有可能安装任何额外的Perl部件,模块等.

我如何让Perl脚本从可执行文件中获取每一行(STDOUT + STDERR),同时将其吐出(不仅仅是在结尾)以及出于其他目的的退出代码?

#!/usr/bin/perl
@array_executable_and_parameters = "/home/username/perl/myexecutable.sh" ; #ls -lh ; for i in {1..5}; do echo X; sleep 1; done
@array_executable_and_parameters2= "gs aaa" ;
my $line;
chdir("/home/username/perl/");
$logFileName = "logfileforsomespecificinput.log";
open(LOGHANDLE, ">>$logFileName" );
open (STDERR, '>>', $logFileName);                  #Prints to logfile directly
#open (STDERR, '>>', <STDOUT>);                 #Prints to own STDOUT (screen or mailfile)

print LOGHANDLE "--------------OK run\n";
open CMD, '-|', @array_executable_and_parameters or die $@;
while (defined($line = <CMD>)) {                    #Logs all at once at end …
Run Code Online (Sandbox Code Playgroud)

perl executable stdout pipe stderr

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

如何获得最小的ocamlopt编译本机二进制文件?

看到一个简单的程序,例如:

print_string "Hello world !\n";
Run Code Online (Sandbox Code Playgroud)

当通过ocamlopt一些非常激进的选项(使用musl)静态编译为本机代码时,在我的系统上仍约为190KB。

$ ocamlopt.opt -compact -verbose -o helloworld \
    -ccopt -static \
    -ccopt -s \
    -ccopt -ffunction-sections \
    -ccopt -fdata-sections \
    -ccopt -Wl \
    -ccopt -gc-sections \
    -ccopt -fno-stack-protector \
    helloworld.ml && { ./helloworld ; du -h helloworld; }
+ as -o 'helloworld.o' '/tmp/camlasm759655.s'
+ as -o '/tmp/camlstartupfc4271.o' '/tmp/camlstartup5a7610.s'
+ musl-gcc -Os -o 'helloworld'   '-L/home/vaab/.opam/4.02.3+musl+static/lib/ocaml' -static -s -ffunction-sections -fdata-sections -Wl -gc-sections -fno-stack-protector '/tmp/camlstartupfc4271.o' '/home/vaab/.opam/4.02.3+musl+static/lib/ocaml/std_exit.o' 'helloworld.o' '/home/vaab/.opam/4.02.3+musl+static/lib/ocaml/stdlib.a' '/home/vaab/.opam/4.02.3+musl+static/lib/ocaml/libasmrun.a' -static  -lm 
Hello world ! …
Run Code Online (Sandbox Code Playgroud)

size executable ocaml compilation minimum

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