linux - 如何在 Linux 系统上启动内存中的应用程序
问题描述
我读取了加密文件,在缓冲区中解密。我怎么能运行解密的代码?我应该跳到哪里?我知道,在 DOS 中,跳转到缓冲区偏移量 0x100,这是代码入口点。在linux中怎么样?
谢谢西安
解决方案
尝试使用 tail -c (输出最后 K 个字节)。
完整答案:
首先从十六进制转换为十进制(转换前去掉“0x”)
然后,找到您的输入文件大小。减去 0x100
hex="100"
# convert hex to dec
dec=$(echo "obase=10; ibase=16; ${hex}" | bc)
# input_file size in bytes
file_size=$(stat --printf="%s" input_file)
truncated_file_size=$(($file_size - $dec))
tail -c $truncated_file_size input_file > new_file
推荐阅读
- node.js - 运行“npm install && npm run dev”后出现“ELIFECYCLE”错误
- android - 从 Playstore 更新应用后,Ionic 应用再次请求位置许可
- java - 为什么我只能在 java 接口中定义默认方法和静态方法?
- angular - Angular - 重用组件上的数据绑定
- php - 如何修复 SQLSTATE[42000]:语法错误或访问冲突
- powerbi - 有什么方法可以将我的 mysql 查询转换为 power bi dax?
- node.js - 如何在 DialogFlow 实现 index.js 中创建包含行的表
- mysql - 我们如何链接 MySQL 中的行?
- python - HDF4 错误:不存在的数据集
- reactjs - JSX 中的循环产生一个包含数组的子元素。我想要多个孩子