草庐IT

$二进制

全部标签

python - 在没有提升权限的情况下调用二进制文件

为了从Python请求UAC提升权限,当调用外部程序时,您可以这样做ctypes.windll.shell32.ShellExecuteW(None,"runas",my_binary_file_path,"",None,1)但是,假设您的Python脚本正在管理员权限下执行,您如何没有管理员权限调用外部程序? 最佳答案 我更喜欢的一种方法是以shell用户身份运行。首先打开shell进程并复制其token。您可以通过调用GetShellWindow然后调用GetWindowThreadProcessId来获取shell进程PID。

windows - 在 Windows 上验证 64 位二进制文​​件

如何验证.exe文件是为Windows上的64位构建的?我习惯了Linux,我可以简单地使用"file"命令来查看它。 最佳答案 使用HEX编辑器查看文件。在DOSstub之后的某处有一个PE魔术签名,平台ID紧随其后(一些字节之后)。对于64位版本,它是0x8664左右,这很容易被发现。 关于windows-在Windows上验证64位二进制文​​件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

c - 获取包含十六进制值的 LPTSTR 或 CHAR* 的大小

我尝试使用以下代码获取LPTSTR变量和CONSTCHAR变量的大小,但无法获取正确的大小。我应该得到20,但我得到的是constchar*变量的0和LPTSTR变量的4。constchar*var1="\x00\x00\x00\x00""\x00\x00\x00\x00""\x02\x00\x00\x00""\x5B\xE0\x5B\xE0""\x00\x00\x00\x00";LPTSTRvar2="\x00\x00\x00\x00""\x00\x00\x00\x00""\x02\x00\x00\x00""\x5B\xE0\x5B\xE0""\x00\x00\x00\x00";pr

python - 官方 gVim Windows 二进制文件是否预编译为可与 Python 3 一起使用?

我从官方VIM.org网站下载了gVim73_46.exe并安装了它的完整组件,我使用Python3.2进行开发(但如果它更可能与VIM一起工作,我会选择3.1)。运行vim--version命令给我一个-python-python3结果。但是,在Vim中运行:echohas("python")会得到1(真)。这是否意味着我的Vim是否支持Python2?对于Python3,运行:py3命令会得到E370:Couldnotloadlibrarypython31.dll。这是否意味着它是为支持Python3.1而构建的?如果是,我可以让它使用我的3.2吗?如果没有,是否有任何来源可以获得

windows - 如何在 Windows 上使用 Qt 获取开放端口的进程名称和二进制路径?

我正在编写一个端口冲突检查函数。我需要确定:如果某个端口是开放的守护进程的进程名守护进程的二进制路径我的想法是运行一个QProcess,执行native命令netstat-abno并解析输出。但是参数-b需要提升权限(UAC),我不想用UAC提示来打扰用户。是否有提供此类功能的Qt库?您将如何实现? 最佳答案 您可以使用Tcpvcon.exe,它是TCPView的一部分TCPView需要管理员权限,tcpvcon不需要与-an或-acn一起使用您甚至可以指定以后要检查的应用程序:例如Tcpvcon.exe-Skype最初由Dane发

c# - 在内存中操作文本文件的最佳方法 : read as byte[] first? 读取为 File.ReadAllText() 然后另存为二进制文件?

我需要更改内存中的文件,目前我使用文件流和二进制读取器将文件读入内存中的byte[]。我想知道更改内存中的文件、将byte[]转换为字符串、进行更改并执行Encoding.GetBytes()的最佳方法是什么?或者首先使用File.ReadAllText()然后使用Encoding.GetBytes()将文件作为字符串读取?或者任何方法都可以在没有警告的情况下起作用?有什么特别的方法吗?我需要用额外的字符或替换字符串替换文件中的特定文本,大约有100,000个文件。可靠性优于效率。文件是类似于HTML的文本,而不是二进制文件。 最佳答案

windows - SmartScreen 阻止使用 SHA-2 签名的二进制文件

我用有效的SHA-2证书(Authenticode和时间戳)对我的二进制文件进行了签名,但Windows10上的SmartScreen仍然阻止它并且Edge报告“此文件的签名已损坏或无效”。我已经检查了来自流行来源的其他二进制文件,例如Firefox。他们仍然使用SHA1时间戳证书签名,但Windows没有报告任何问题。有人可以建议发生了什么事吗?链接到我的二进制文件:https://dl.dropboxusercontent.com/u/21463705/Stackoverflow/Win32Project1.exeMycertificatescreenshot

windows - 单个 wxWidgets MSW 应用程序二进制文件是否在 Win2K、XP、Vista 和 7 之间兼容?

wxWdgets是一个跨平台库,包括对所有主要Windows版本的支持,但我在wxWidgets文档中找不到任何关于单个MSW(windows)构建跨不同Windows版本的wxWidgets库。假设我的核心应用程序只使用vanillaC++(也许是所有平台上可用的win32api的最小公分母)除了wx函数,静态链接到单个版本的wxWidgets库会产生一个可以在Win2K、XP上运行的二进制文件,Vista和Windows7?该库是否需要在win2K(“功能最少”的平台?)上构建,或者在XP上构建它也可以吗?任何提示或指示将不胜感激! 最佳答案

c++ - 如何从启用优化( Release模式)构建的二进制文件中分析故障转储?

到目前为止,我一直在项目中使用Debug模式二进制文件。因此,使用保留的符号文件很容易分析故障转储。现在我必须在Release模式下发布二进制文件。我们如何分析由Release模式二进制文件生成的转储文件。这有可能吗?我如何识别Release模式下的功能?(不需要生成和保存map文件) 最佳答案 您需要与可执行文件相对应的.pdb文件。这会给你符号。调试发布版本有几个棘手的部分:由于优化,操作顺序可能会发生变化整个函数/变量/等等。可能会被优化掉特别是,传递给函数的参数可能不存在(例如,“this”可能是一个寄存器,而不是内存中的一

c# - Selenium WebDriver - 找不到 Chrome 二进制文件

我正在尝试使用Chrome运行Selenium测试。我正在使用C#。varoptions=newOpenQA.Selenium.Chrome.ChromeOptions();options.BinaryLocation=@"C:\Users\Vilem\AppData\Local\Google\Chrome\Application\";using(IWebDriverdriver=newOpenQA.Selenium.Chrome.ChromeDriver(options)){...似乎找到了chromedriver.exe,但它可以找到Chrome二进制文件。我在自动搜索失败后显式设