我正在开发一个需要品牌化的Windows应用程序。客户将把它卖给其他企业,并且需要为每笔销售定制Logo和名称。客户端不会用visualstudio!我想我需要编写一个打包应用程序来将自定义Logo和字符串资源注入(inject)可执行文件。我打算使用WPF。但由于这是一项关键要求,如果更容易的话,我愿意在winforms中完成。最好的方法是什么?欢迎提出任何建议。 最佳答案 听起来您想要的是应用程序换肤。这并不意味着您必须解压exe并注入(inject)资源。您只需要从项目开始就考虑皮肤并构建应用程序来支持您的皮肤需求。WPF将使
我使用注册表“运行”键在用户每次登录Windows时自动执行我的程序(使用HKCU\Software\Microsoft\Windows\CurrentVersion\Run注册表路径)。我的应用程序首先使用CommandLineDLL-Injector将DLL注入(inject)到explorer.exe进程中.效果应该是:每次用户登录后(重启Windows后)——我的应用程序被执行,我的DLL被注入(inject)到explorer.exe在某些情况下它可以工作,但在少数情况下(时间问题,很少重现),注入(inject)器和explorer.exe进程都死锁并且没有响应。我不确定,
我已经编写了DLL注入(inject)器。我使用CreateRemoteThread注入(inject)我的DLL进行处理,一切都很好。现在我正在尝试注入(inject)DLL以通过未记录的函数-NtCreateThreadEx进行处理。我写了注入(inject)器,但他不工作。当我使用32位注入(inject)器将32位DLL注入(inject)到32位进程时一切正常。问题是当我使用64位注入(inject)器将64位DLL注入(inject)到64位进程时。我的DLL代码:#include///Compilationwithoption-m64extern"C"BOOL__stdc
在对我的软件的新版本进行Beta测试时,一些用户报告了运行该应用程序时出现的异常情况。在这两种情况下都是:“应用程序无法正确启动(0xc0000142)”。我也看到它是0xc0000005。我发现一个本地系统也有这个错误,并发现在调试器下运行它时,“datamngr.dll”有访问冲突并且在堆上分配失败。我很快发现“datamngr.dll”是spy软件,并且像在系统的AppInit中一样被加载。一旦我清除了AppInit注册表项,这个问题就消失了。我通过ProcessMonitor检查了它,每当注入(inject)这个DLL时,我的应用程序就会崩溃。我以为它只是写得很糟糕的spy软件
我想将我的Java类注入(inject)到Windows上现有的Java应用程序中。我找到一篇描述使用CreateRemoteThread的方法的文章-java-code-injection-via-winapis但尚不清楚注入(inject)的类是否可以“连接”现有类并调用它们。有人知道这是否可行吗?JNI中是否有可用于搜索和获取对已运行类的引用的函数? 最佳答案 我敢肯定还有其他复杂的方法可以做您想做的事(例如使用javainstrumentationapi)。然而,可能有更简单的方法。找到应用程序的主类将类反编译成java代码
我目前被指派编写一段代码来确定一个dll是否被列入黑名单,如果是,则不应允许加载。GoogleChrome有这个功能,所以我检查了Googlechrome的代码,发现他们维护着一系列被列入黑名单的dll,他们可以保护自己不受这些dll的影响。我尝试了一些其他的东西,比如我试图改变被阻止的dll的导入表、dll的名称和许多其他东西,然后试图将它注入(inject)chrome,但不知何故chrome能够唯一地识别被注入(inject)的dll是一个列入黑名单的dll和防止它发生。有没有人对如何实现这一点有任何想法或指示??谢谢,迪帕克:) 最佳答案
我正在为我的网络制作一个安全程序。其中一个实例是检查和监控调用了哪些api和库。执行此操作的dll和与之配套的程序已经完成。但是有一个问题我似乎无法解决。当尝试使用NtCreateThreadEx将我的dll注入(inject)系统进程(例如explorer.exe,我的主要测试系统进程)时,我得到了返回值:C0000022,这意味着:Status_Access_Denied(返回NTSTATUS,但DWORD可以)我不知道该怎么做,我以管理员身份运行,我提升了我的权限,并使用了正确的功能,但我仍然得到c0000022这是我用来注入(inject)的代码#include"main.h"
无论我在哪里看,通过CreateRemoteThread注入(inject)的方法都是一样的,但是获取进程ID的方法却不同......我的函数将返回正确的进程ID,我对这方面的任何帮助都不感兴趣,所以我会将那部分作废,只包括实际注入(inject)。我只是刚刚学习DLL注入(inject),并试图在notepad.exe上进行。如果注入(inject)有效,记事本的标题将从“Untitled-Notepad”变为“Hooked”。#defineDLL_NAME"injectme.dll".....BOOLInjectRemoteThread(DWORDProcessID){HANDLE
我想问一下Windows允许的文件名对于SQL(Oracle和通用)、JS、xml等注入(inject)是否安全。检查并替换以下字符:/:*?"|(还有它们的ascii值等)。长度也不能超过~180个字符检查是在客户端(仅用于可用性)和服务器端(用于安全性)安全地进行的文件名保存到oracleDB中,有oracle->java->xml->xslt->browser这样的流程显示。编辑:@Bohemian的回答指出了SQL注入(inject)的不安全部分(使用准备好的语句可以简单地禁止它)。JS或xml注入(inject)如何?(可能导致XSS或通过xslt访问硬盘)
我有一个遗留应用程序,其中包含一个包含我需要提取的数据的网格。我没有该应用程序的代码,并且无法通过正常方式(例如以编程方式选择所有单元格并将它们复制到剪贴板)从中获取数据。所以我决定按照“II.TheCreateRemoteThread&LoadLibraryTechnique”一节中的描述使用DLL注入(inject)http://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-Proces我的计划是将DLL加载到遗留应用程序的地址空间。让DLL从网格中读取数据并将它们写出(例