标签: executable

如何在MacOs中真正剥离二进制文件

MacO 10.6,如​​果我有一个文件"unwanted.c",其中包含:

class secret_thing {
public:
secret_thing() {}
void revealing_method_name() {}
};

main()
{
    secret_thing obj;
    obj.revealing_method_name();
}
Run Code Online (Sandbox Code Playgroud)

现在我做:

$ g++ unwanted.c -o unwanted
$ strip unwanted
$ nm unwanted | grep secret
0000000100000eb8 T __ZN12secret_thing21revealing_method_nameEv 
0000000100000eae T __ZN12secret_thingC1Ev
Run Code Online (Sandbox Code Playgroud)

如果我分离出秘密类的接口和实现,就像大多数人在编写C++代码时那样,那么剥离的可执行文件中就没有不需要的符号.可悲的是,我交给了现有数千行代码的代码库,这不是我的选择之一.

我试过-fno-rtti,作为一个疯狂的猜测,并没有解决任何问题.我已经向谷歌众神祈祷并发现许多对脱衣舞俱乐部的引用,但没有任何有用的链接.我已经在mac上浏览了strip,g ++和ld的手册页,并且没有明显的尝试,尽管"私人外部"一词很有趣,我无法弄清楚该怎么做.

[更新]可悲的是,我试图做一个小例子后出现问题.这是一个更复杂的例子,它更接近真正的问题,如果它是经过优化的,它仍然有不需要的符号.

我为坏的例子道歉.事实证明,很难找到最小的实际问题.非常感谢答案,但每个答案都让我接近解决方案.

class base {
public:
    virtual int revealing_method_name() = 0;
    virtual ~base() {};
};

class secret_thing : public base {
public:
    int revealing_method_name() { return 0; };
};

class other_thing : public base {
public:
    int revealing_method_name() …
Run Code Online (Sandbox Code Playgroud)

binary macos executable darwin strip

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

如何在Linux内核模块中分配可执行页面?

我正在编写一个Linux内核模块,我想分配一个可执行页面.普通的kmalloc在非可执行页面中返回一个指针,在那里执行代码时会出现内核恐慌.它必须适用于Ubuntu Karmic x86,2.6.31-20-generic-pae.

executable linux-kernel nomachine-nx

8
推荐指数
1
解决办法
1995
查看次数

如何在单个可执行文件中打包python文件及其依赖项?

我有一个软件包含几个python源和几个c ++库.我想将它们打包成一个可执行的单个文件,就像java与.jar文件一样.有没有办法做到这一点?

python executable archive libraries

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

如何创建指向本地可执行文件的超链接?

我们有一个Intranet网站,并在每个工作站上安装了WPF Windows可执行文件.

  1. 我们如何在Intranet网站上创建将启动本地安装的可执行文件的超链接?
  2. 理想情况下,我们希望发布是无缝的.有没有办法设置浏览器信任设置,以便它不会显示此可执行文件的安全警告对话框?

我们在每个工作站上都​​有完整的管理功能,每个用户只使用Internet Explorer.我们也知道exe的正确本地路径.

更新:我们尝试了这个锚标记,但是当我们点击它时,我们没有得到回复:

<a href="c:\Flipper\Splash.Flipper.exe">Click Here</a>
Run Code Online (Sandbox Code Playgroud)

我们也通过谷歌浏览器尝试了这一点,我们也得到了同样的(缺乏)响应.单击该链接不会发生任何事情.

html executable hyperlink

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

比较生成的可执行文件以获得等效性

我需要比较使用相同编译器/标志编译的2个可执行文件和/或共享对象,并验证它们没有更改.我们在受监管的环境中工作,因此对于测试目的而言,确切地隔离可执行文件的哪些部分已经发生变化非常有用.

由于包含有关文件信息的标头,因此使用MD5Sums/Hashes不起作用.

有没有人知道一个程序或方法来验证2个文件是否在执行上是相同的,即使它们是在不同的时间构建的?

comparison executable shared-objects binary-reproducibility

8
推荐指数
2
解决办法
5348
查看次数

如何在Eclipse项目中设置HtmlUnit?

我的项目包括htmlunit jar并下载一些页面内容.然而,可执行jar(包括libs,eclipse导出功能)只能在我创建它的机器上运行(在不同的情况下它不会执行).

编辑:它没有执行,因为它启动时不显示"启动无头浏览器"MessageBox.我使用了Eclipse Indigo:File> Export> Runnable jar> package所需的libratries到生成的jar中

帮助,众神:

import java.io.*;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.RefreshHandler;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.*;
import javax.swing.filechooser.FileSystemView;
Run Code Online (Sandbox Code Playgroud)

编辑:根据要求提供进一步的代码

public class MyTest
{
public static void main(String[] arguments) {
try{
JOptionPane.showMessageDialog(null, "Starting Headless Browser");
JFileChooser fr = new JFileChooser();
FileSystemView fw = fr.getFileSystemView();
String MyDocuments = fw.getDefaultDirectory().toString();

FileInputStream fstream = new FileInputStream(MyDocuments+"\\Links.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
String strLineID; …
Run Code Online (Sandbox Code Playgroud)

java eclipse executable jar htmlunit

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

Chrome:如何将1.5GB的源代码压缩到50MB的可执行文件中

这简直让我感到困惑.我刚刚下载了Chrome源代码的1.5GB tarball.编译的相同代码压缩到大约50MB.

为什么源代码的大小和可执行文件的大小之间存在这样的差异?

executable google-chrome compilation

8
推荐指数
2
解决办法
2713
查看次数

iPhone/iPod Touch:应用程序可执行文件包含不受支持的architeture:armv7s

我发现AppStore我的应用程序发布了一个问题!验证过程说:"iPhone/iPod Touch:应用程序可执行文件包含不受支持的结构:armv7s"

这是我链接的库:CoreLocation(必需)Twitter(可选)QuartzCore(必需)MapKit(必需)UIKit(必需)基础(必需)CoreGraphics(必需)libGoogleAnalytics.a(必需)libsqlite3.dylib(必需)CFNetwork(必填)

我也尝试删除GoogleAnalytics Library,但问题是一样的!你有什么主意吗?

谢谢

architecture executable frameworks armv7

8
推荐指数
2
解决办法
1453
查看次数

如何创建可执行命令提示符脚本

我通常在7zip命令行程序中执行操作.我正在考虑创建一个小脚本来自动执行所有操作,但我之前从未编写任何Windows shell脚本,因此甚至不知道从哪里开始.

我想创建一个可执行脚本文件,当用户双击它时,将调用7zip命令行并执行一些操作.

首先,这可能吗?如果是,那么最好的方法是什么?

windows executable command-line

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

如何将Electron应用程序打包成单个可执行文件?

使用电子打包器我可以为各种架构和平台创建我的JavaScript应用程序的"打包"版本.但是,它不会将每个构建打包为一个我可以分发的单个二进制文件.

在寻找替代品时,我发现了EncloseJs,但它不是免费的(我更喜欢免费的解决方案).

我找到的另一个是电子样板,它只创建一个*.deb,*.app或Windows安装程序,但不是一个可以运行该程序的可执行文件.

是否可以使用Electron创建单个可执行文件?

executable electron

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