标签: executable

IDA Pro和编辑可执行文件

这是一个非正统的问题.

我对使用IDA Pro有点新意.
有没有办法编辑汇编代码,然后让IDA将结果保存为可执行文件?
是否有某种插件可能那样做?因为似乎IDA不想保存为EXE.
或者我是否需要以其他方式手动编辑?

executable patch ida

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

在Java中:给定COFF/ELF/DWARF可执行文件,以编程方式确定C/C++变量的地址

这是我偶尔遇到的情况:

对于不使用虚拟寻址的嵌入式系统,我有一个可执行文件,它是用C或C++代码编译的,包含调试信息.它通常在COFF或ELF/DWARF(我得到那两个混合)格式.

在运行时,在PC上,我想确定给定名称的变量的地址.(例如"foo.bar [7] .baz")这允许我在嵌入式系统上读/写变量的值(给定一个超出本问题范围的调试协议).显然,任何基于堆栈或基于堆的变量都没有,因为它们没有静态地址.

我之前在C++中已经完成了这项工作,用于解析TI编译器为其2800系列DSP编写的COFF文件,这有点痛苦.我想知道是否有一个Java库已经做了这种事情,因为我面对着一个或两个其他处理器的可执行文件.


更新:(11/18/2009)一个有希望的线索!

有没有人使用Eclipse CDT ELF解析器?

(见http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.cdt.doc.isv/reference/api/org/eclipse/cdt/core/model/IBinary.html一的javadoc pgs)

TI的Code Composer 4(基于Eclipse)似乎使用了这个,所以似乎我可以弄清楚文档的位置,也许我可以用它来解决我的问题.

java executable coff elf dwarf

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

蚂蚁; 如何指定一个文件是可执行的,所以我不必每次chmod + x

使用Ant构建我的应用程序时,它会生成一个ZIP文件.

我sh在此zip文件中有一个文件,它包含在构建过​​程中.每次构建后我都必须这样做,chmod +x myFile.sh因为ant无法保留其原始的可执行权限.

如何指示ant为此文件保留可执行权限?

ant executable build

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

比较两个.exe的差异(两者都在同一台机器上创建)

我试图测试Visual Studio从相同的代码生成可预测/可重复的可执行文件.

为此,我正在创建一个小程序(一个.cpp文件)并构建.exe(A),进行一些更改并制作另一个.exe(B),然后取消更改并制作另一个.exe( C).

我的理论是A和C的信息是相同的,并确认MSVS从相同的代码生成可预测/可重复的.exe.

几个问题:

(我已经在.txt中保存了命令的结果)

我已经使用dumpbin/rawdata来删除时间/日期戳数据并保存文件每个部分的原始内容(不完全确定"原始"意味着什么),但与windiff比较时留下2行差异.

运行dumpbin/headers显示调试目录下的.rdata部分(原始数据#2)的差异; 差异在时间(预期)和格式:X,{Y},"差异在这里",Z列.

我搜索论坛和msdn几个小时,无法找到使用dumpbin的解决方案.类似的论坛帖子以耸耸肩膀结束.

任何人都可以帮我一把吗?我会尽力按要求添加更多特异性.

谢谢你,ZayJay

已查看参考文献:
http://support.microsoft.com/kb/177429
http://support.microsoft.com/kb/164151
http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx
http://www.ms-news.net/f3614/how-can-i-compare-2-executables-1980031.html
+其他...

此外,在我的.cpp和一个新的.cpp之间进行比较,主要只返回0,在同一区域产生差异.我希望dumpbin/headers结果的.text(原始数据#1)部分存在差异......任何阅读或直接答案的内容都会很棒!谢谢!

c++ executable compare

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

编译将pygame用于可执行文件的python程序

我想使用py2exe编译我的python程序使用pygame编译成可执行文件,但我遇到了一些问题.我在Windows命令行中运行脚本,它似乎工作.它创建一个dist目录但是当我尝试打开.exe文件时,它会短暂打开一个命令行窗口,然后不做任何事情.

这可能是因为我使用过pygame并且py2exe不支持它吗?或者我是否需要将pygame库的副本放入与我的程序相同的目录中?

python executable pygame py2exe

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

Runnable JAR无法使用引用的库

我想通过导出在eclipse中创建一个包含引用库的可运行JAR,即jackson.在Eclipse提供导出到可运行的JAR之前,曾经有一个似乎是goto解决方案的胖jar.

从这个问题,第一个选择将是我正在寻找的.由于目前这是一个小项目,所以总是将所有东西放在一起并不是一个问题(而且对我来说更容易,因为我刚开始使用JAR,runnables和jnlp)

当我尝试启动它时,会出现一个警告窗口,说明存在问题并尝试在控制台中找到它(我无法打开它).

如果我删除对这个引用库的任何使用,一切都运行得很好(除了它根本不做我想要的部分).窗口看起来像我设计它的方式,但没有库的功能.

我甚至没有堆栈跟踪来帮助解决问题.我创建了没有任何引用库的其他项目,一切都很好.所以我几乎把它缩小了.

由于我让Eclipse处理导出和所有内容,我不认为你需要清单来查看它是否正常.如果您有任何问题,我将提供您需要的信息.毫无疑问,该项目直接从Eclipse运行.

Eclipse版本:Indigo Service Release 2 Build id:20120216-1857


按照巴克塔的回答编辑

当我这样做时会发生什么,我得到一个自定义的RuntimeException.我在这里有点困惑.这是我的代码的简单解释.我有一个使用引用库(jackson)的实用程序类(UtilityJSON).该实用程序类的构造函数实例化在引用的库中定义的对象,让我们将其称为映射器.UtilityJSON的方法使用'mapper'方法.此时引发异常.为什么我感到困惑的是'mapper'被成功实例化,但使用它的方法会引发异常.如果jar找不到引用的库,它可能无法创建对象'mapper'.但是从Eclipse运行项目一切都很好.运行可执行jar时有没有办法调试?也许在控制台中回应一些东西.


编辑2

我可能发现了错误.我的程序读取项目内文件夹中的*.txt文件.在探索jar的内容时,我看到该文件夹​​未包含在内,因此异常.所以问题现在变成:我如何包含这个文件夹?它位于项目的根文件夹中.

java eclipse executable jar executable-jar

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

C++将外部.exe嵌入到我编译的.exe中

我有一个关于一个主题的快速提问,我对此非常不满意.我有一个程序,它发送命令到另一个.exe在我称为"工具"的文件夹中.我以这种格式发送:

system("tools\\program.exe -r -w file.dat file_new.dat");
Run Code Online (Sandbox Code Playgroud)

一切都很好,但是,当我将程序构建到.exe中时,显然需要将其他可执行文件放在第二个文件夹中.有没有办法将外部.exe包含到我的项目中,所以最终产品只有一个.exe?

我正在使用Visual Studio 2008(lol)并运行Windows 7 64位.

谢谢 :)

c++ embed executable exe

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

如何将perl脚本打包为32位可执行文件?

我在64位Windows 7机器上,我一直PAR:Packager用来打包我的脚本.exe.

但是,我现在需要.exe在32位Windows 7机器上运行这些.

无论如何将它打包为64位机器的32位可执行文件?(有可能PAR:Packager吗?)

windows perl executable windows-7-x64

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

从头开始创建a.out可执行文件

我已经从头开始创建了一种编程语言.我已经构建了一个编译器,它处理输入文件中的代码并将其转换为标记,并检查标记的顺序是否正确.我正处于编译器的最后一步:输出/可执行文件.我想创建一个可以在终端中运行的输出.我想创建一个a.out输出,但我能找到的唯一资源是来自nasm,这对我没有帮助.

所以我的问题是,如何创建一个可以在终端中运行的a.out文件(unix可执行文件)?

c unix compiler-construction executable machine-code

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

cx_freeze和导入模块

我想使用cx_freeze编译带有子模块的Python 3.3模块.

所以,我的dir结构是:

projectname/
     __init__.py
     submodule1/
          __init__.py
          bootstrap.py
          script1.py
          submodule11/
                   script2.py
     submodule2/
          ...
Run Code Online (Sandbox Code Playgroud)

在__init__.py我导入

from submodule1 import bootstrap
Run Code Online (Sandbox Code Playgroud)

并从引导程序

import submodule1.submodule11.script2
Run Code Online (Sandbox Code Playgroud)

如果我运行init文件,一切都很好,并且正确执行带有子模块导入的脚本.

当我编译它时,我使用这个setup.py:

from cx_Freeze import setup,Executable
import sys

includes = []
excludes = ['Tkinter']
packages = ['submodule1', 'submodule2']
base = "Win32GUI"
setup(
    name = 'myapp',version = '0.1',description = 'app',author = 'user',
    options = {'build_exe': {'excludes':excludes,'packages':packages}}, 
    executables = [Executable('__init__.py',base=base)]
)
Run Code Online (Sandbox Code Playgroud)

并在'projectname'目录中运行脚本.

但是,如果我启动应用程序,我会ImportError: no module named 'submodule1.submodule11'从错误对话框中获取.

这是真的:在library.zip中,这个子模块不存在.

我做错了什么?

python executable compilation python-module cx-freeze

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