读取内存中的exe文件并执行

2023-11-30

是否可以使用Windows将文件读入内存(将数据保存在字节数组中),从文件系统中删除原始文件并从内存中执行它?


EDIT

我的目标是保护我的 java 代码免受逆向工程的影响。

我用 C++ 编写了一个启动器,它获取加密的 jar 文件,解密并启动它。 小问题是我必须将解密的 jar 文件写入文件系统中的某个位置,以便可以轻松捕获和反编译它...没有办法阻止这种情况吗?


不,不可能那样做。没有系统调用说“取出我的这块内存并仅使用其中的一部分作为新进程的映像”。

您可以将代码加载到内存中并在当前进程中跳转到它,但这是一件很难看的事情,因为您必须处理所有重定位。

关于Java特定部分:

You can 在 C++ 中嵌入 Java 解释器可执行的。您可以编写自己的 Java 类加载器(通过 JVM 的 C++ 接口),该加载器将从加密的 Jar 文件加载类。这样您就可以避免将未加密的 Jar 文件写入磁盘。当然,任何拥有调试器的人都可以在内存中看到它......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取内存中的exe文件并执行 的相关文章

  • 禁用除滚动之外的 DataGridView

    我如何配置 datagridview 以便用户只能在行中移动并使用滚动 而没有其他 如果我禁用网格不允许我使用滚动 将您的 datagridview 设置为只读 这将禁用任何编辑 dataGridView1 ReadOnly true 在你
  • Android Studio错误的含义:未注释的参数覆盖@NonNull参数

    我正在尝试 Android Studio 创建新项目并添加默认值后onSaveInstanceState方法创建 MyActivity 类 当我尝试将代码提交到 Git 时 我收到一个我不明白的奇怪错误 代码是这样的 我得到的错误是这样的
  • 将 JPanel 添加到 JFrame

    我有一个程序 其中将 JPanel 添加到 JFrame public class Test Test2 test new Test2 JFrame frame new JFrame Test frame setLayout new Bor
  • 避免加密和编码的 URL 字符串中的换行符

    我正在尝试实现一个简单的字符串编码器来混淆 URL 字符串的某些部分 以防止它们被用户弄乱 我使用的代码几乎与示例中的相同JCA指南 http docs oracle com javase 6 docs technotes guides s
  • 如何在 Windows 上使用 Java Hotspot JVM 禁用小型转储 (mdmp) 文件生成

    目前 我有一个已部署的可执行 jar 文件 该文件在崩溃时会创建大型 7 Gb 小型转储文件 我想要一个导致崩溃原因的文本表示 而不是 JVM 状态的二进制文件 我尝试使用中找到的信息这个 CodeRanch 帖子 http www cod
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • 在 C# 中生成随机值

    如何使用以下命令生成随机 Int64 和 UInt64 值RandomC 中的类 这应该可以解决问题 这是一个扩展方法 因此您可以像调用普通方法一样调用它Next or NextDouble上的方法Random目的 public stati
  • Java:易失性足以使类线程安全?

    我有一个关于 Java 中 volatile 语句的问题 请看这个构造的例子 class Master Foo is a class with thread safe methods public volatile Foo foo clas
  • 打破条件变量死锁

    我遇到这样的情况 线程 1 正在等待条件变量 A 该变量应该由线程 2 唤醒 现在线程 2 正在等待条件变量 B 该变量应该由线程 1 唤醒 在我使用的场景中条件变量 我无法避免这样的死锁情况 我检测到循环 死锁 并终止死锁参与者的线程之一
  • IEnumerable.比带中断的 for 循环更快吗?

    我们的代码打开表单时遇到了一些缓慢的情况 这可能是由于for循环与break这需要很长时间才能执行 我把它切换到IEnumerable Any 并看到表格很快打开 我现在试图弄清楚是否单独进行此更改会提高性能 或者是否正在访问Product
  • 如何在不下载子项的情况下从 Firebase 获取子项密钥?

    我有一个 Firebase 数据库 其中的节点 items 有很多子项 我想导入子项键的列表 由于每个子项都包含相当多我对此不感兴趣的数据 因此我想仅下载子项密钥 以最大程度地减少传输的数据量 为了便于说明 假设我有以下数据结构 然后我想获
  • 为什么我的 ITexthandler 不工作?我正在尝试将 XML 解析为 ITextSharp 文档

    我正在使用 Visual Developer 2010 MVC 3 c 我正在尝试将 XML 解析为 iTextSharp 文档 如下所示 ITextHandler textHandler new ITextHandler doc text
  • 如何在 Android 应用程序退出之前进行一些清理?

    当我的 Android 应用程序终止时 是否有某种 onTerminate 方法可以进行一些清理 我想清除一些 SharedPreferences 我有一个活动 它保持几个数字的运行平均值 并将其存储在 SharedPreference 中
  • 为什么从绑定返回的对象会忽略额外的参数?

    假设我有一个带有两个参数的函数 void f int x int y 我想绑定其中之一 我可以用std bind如下 auto partiallyBoundF std bind f 10 1 partiallyBoundF仅需要一个参数 但
  • Java Media API:java media api 下载

    我在哪里可以找到javax media jar 文件 在sun站点它下载一个安装程序 有没有可用的java媒体jar 没有 javax media 具体是 jar 文件 该包位于 jmf jar 文件中 您需要运行安装程序并取出 jar 或
  • 确保 MAVEN_HOME 设置正确

    这里是 Java 和 Maven 菜鸟 使用 OSX 10 8 并使用 HomeBrew 安装 Maven 1 如果我说which mvn我会得到这个 usr local bin mvn 2 如果我说echo MAVEN HOME我不会得到
  • 无效的模板相关成员函数模板推导 - 认为我正在尝试使用 std::set

    我有一个继承自基类模板的类模板 基类模板有一个数据成员和一个成员函数模板 我想从我的超类中调用它 我知道为了消除对成员函数模板的调用的歧义 我必须使用template关键字 我必须明确引用this在超级班里 this gt base mem
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3
  • Crypto++ 和压缩 EC 密钥

    如何在 Crypto 中生成压缩的 ECDSA 密钥 AutoSeededRandomPool prng ECDSA
  • 项目级别的@PowerMockIgnore

    在 Maven 中运行时 我的 powermock 测试用例出现以下错误 java lang LinkageError loader constraint violation loader instance of org powermock

随机推荐

  • 为什么这会产生 StackOverflow 错误?

    我最近开始使用 Haskell 并定义了这个看似简单的函数 f 0 1 f x x f x 1 然而 它的结果是这样的 GHCi version 8 2 1 http www haskell org ghc for help Prelude
  • 用于 MATLAB 的 Java JPA 类

    我在 Windows XP Pro SP3 上使用 MATLAB R2007b Java 1 6 SE Eclipse Helios 和 MySql 5 我正在尝试创建一个使用 JPA 注释访问 MySql 5 数据库的类库 这个想法是 M
  • 使用 PubSubclient 在 esp8266 和 arduino 之间进行 mqtt

    我正在使用 WiFiEsp 库将 ESP8266 与 arduino 结合使用 我想与 arduino 建立 MQTT 连接 所以我使用 PubSubclient 库 我收到错误 正在尝试 MQTT 连接 失败 rc 2 5 秒后重试 我的
  • 批量分割文本文件

    我有这个批处理文件来分割txt文件 echo off for f tokens 1 delims a in findstr n PASSWORD txt do for f delims c in b do gt text a txt ech
  • 使用异步方法等待 Task.Run 不会在正确的线程上引发异常

    当运行下面的测试方法时 我发现即使我等待一个抛出异常的任务 测试也会通过 此外 还会弹出一个单独的窗口 提示 QTAgent exe 已停止工作 这表明异常不会传播到运行测试的线程 而是杀死一个单独的线程 我想知道为什么会发生这种情况 另外
  • 在 Struts 2 中从 Java 获取 JSON 对象

    我正在尝试使用 Java 服务器获取响应文本getJSON jQuery 方法 虽然 当Java类是简单格式时我可以获得响应数据 String List and Map 使用其他Java对象时无法获取成功数据 以下是使用简单类型的 Java
  • PHP:file_get_contents 无法打开流:连接被拒绝

    我正在尝试访问第二台服务器file get contents和 simple load xml 我得到 无法打开流 连接被拒绝 结果会怎样呢 allow url fopen Yes allow url include Off 是我的 php
  • 在 Swift 中转换为不同的 C 结构不安全指针

    我想调用 Posix 套接字函数socket and bind来自斯威夫特 socket很容易 需要Int32s but bind造成了问题 因为我有一个sockaddr in指针 但它需要一个sockaddr指针 在 C 语言中 这将是一
  • 了解 NodeJS WebSocket 服务器的对象创建和垃圾收集

    我正在使用wsNodejs 中用于 Web 套接字服务器的模块 代码的简化版本是这样的 var WebSocketServer require ws Server var wss new WebSocketServer port 9001
  • 如何将字符串日期转换为长毫秒

    我在字符串中有一个日期 例如 12 December 2012 如何将其转换为毫秒 长 Using 简单日期格式 String string date 12 December 2012 SimpleDateFormat f new Simp
  • 为数据表中的计算列定义 DateDiff

    我有 日期时间已过期 列 我想创建另一个名为 已过期 的列 该列将根据过期日期显示 是 或 否 如果日期已过 则显示 是 我写了这个 DataColumn colExpirationDate new DataColumn DateTimeE
  • 重新计算动态布局属性

    这是一个可调整大小的窗口 设置动态布局属性 以便顶部组框调整宽度大小 下部组 框和树以及 3 个按钮在两个维度上调整大小 对于高级复选框 我添加了代码来隐藏额外的控件并调整关联框的高度 所以它看起来像这样 用于切换控制值的代码是 void
  • 删除或更新模拟器上的 Google Play 服务

    我编写了一个使用谷歌地图 API v2 的 Android 应用程序 我想在模拟器上测试它 但为了显示地图它有一点问题 我用谷歌搜索并找到了文章 我必须将其安装到软件包 vending apk android gms apk 中 我下载了软
  • Hammer.js 无法删除事件监听器

    我创建了一个锤子实例 如下所示 var el document getElementById el var hammertime Hammer el 然后我可以添加一个监听器 hammertime on touch function e c
  • jQuery :使用已弃用的 .toggle() 替代方法

    我有一些类名为 mute btn 的图像 当我单击它们时 我的图像源正在更改 mute btn toggle function var clicked false var src this attr src src src replace
  • Winform 应用程序名称在 Windows 10 任务管理器的“启动”选项卡上显示为 _alphanumeric

    在 Windows 10 上 我的表单应用程序显示为字母数字字符 1F036AE84FF792FB79A74F 启动选项卡 in 任务管理器 它是一个MSI安装文件 以下是运行 exe 的路径 C Users win10user AppDa
  • jQuery 如果 DIV 没有类“x”

    在 jQuery 中 我需要执行一个 if 语句来查看 this 是否不包含类 selected thumbs hover function this stop fadeTo normal 1 0 function this stop fa
  • PCM:无法访问合作伙伴

    按照快速入门指南操作时 合作伙伴连接管理器 PCM 出现问题 采取的步骤 启用智能设备管理API 配置 OAuth 权限屏幕 添加了 智能设备管理 API auth sdm service 的范围 为新的 Web 服务器创建 OAuth 令
  • JavaScript函数将unicode伪字母转换为常规字符?

    我正在尝试编写一个函数 该函数接受包含 unicode 伪字母表中的字符的任何字符串 并返回一个等效字符串 其中这些字符已替换为 ASCII 中的常规字符 const toRegularCharacters s gt toRegularCh
  • 读取内存中的exe文件并执行

    是否可以使用Windows将文件读入内存 将数据保存在字节数组中 从文件系统中删除原始文件并从内存中执行它 EDIT 我的目标是保护我的 java 代码免受逆向工程的影响 我用 C 编写了一个启动器 它获取加密的 jar 文件 解密并启动它