“漂白”文件中的这个 perl 行有什么作用?

2024-01-08

我有一些已被“漂白”的 perl 文件(不知道它是否来自 ACME::Bleach,或类似的东西)。我对 Perl 不太熟悉,我想了解启动文件的单行代码如何解码后面的空格:

$_=<<'';y;\r\n;;d;$_=pack'b*',$_;$_=eval;$@&&die$@;$_

文件的其余部分是空白字符,并且文件本身是可执行的(它放置在 /bin 目录中)。

[解决方案],感谢@JB。

The pack这部分似乎是最复杂的,我花了一段时间才注意到发生了什么。 Pack 正在获取 LSBonly每 8 个字符,并将其解包为二进制的大端字符。因此,制表符变为“0”,空格变为“1”。

    '\t\t   \t  ' => '#'
in binary:
    00001001 00001001 00100000 00100000 00100000 00001001 00100000 0100000
every LSB:
    1 1 0 0 0 1 0 0
convert from from big-endian format:
    0b00100011 == 35 == ord('#')

  • $_ = << '';将文件的其余部分读入累加器。
  • y;\r\n;;d;删除回车符和换行符。
  • $_ = pack 'b*', $_;将字符转换为位$_,最低有效位在前。
  • $_ = eval;执行$_作为 Perl 代码。
  • $@ && die $@; $_优雅地处理异常和返回代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“漂白”文件中的这个 perl 行有什么作用? 的相关文章

  • 如何使用 Time::Piece strptime 解析微秒?

    我有一个时间戳 看起来像25 OCT 10 04 11 00 000000 AM 我正在尝试将其转换为时间格式 Time Piece gt strptime 25 OCT 10 04 11 00 000000 AM d b y I M S
  • 在 Perl 中确定范围重叠的最快方法

    我有两组范围 每个范围都是一对整数 开始和结束 表示单个较大范围的某些子范围 两组范围的结构与此类似 当然 将替换为实际数字 a ranges a 1 gt start gt end gt a 2 gt start gt end gt a
  • 从 HoA 值中获取独特元素并打印

    我有一个 HoA 其中包含某些值 我只需要 HoA 中的独特元素 预期结果 Key 1 Element ABC DEF Key 2 Element XYZ RST Key 3 Element LMN 下面是我的脚本 usr bin perl
  • 我们应该聘请用 Perl 编写 C 的人吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的一位同事最近面试了一些求职者 其中一位说他们有非常好的 Perl 经验 由于我的同事不懂 Perl 他要求我对那位潜在雇员编写的 场外 一些代码进
  • 如何在 Perl 中将多个哈希值合并为一个哈希值?

    在 Perl 中 我如何得到这个 VAR1 999 gt 998 gt 908 906 0 998 907 VAR1 999 gt 991 gt 913 920 918 998 916 919 917 915 912 914 VAR1 99
  • 缓存施瓦茨变换

    我正在学习 中级 Perl 它非常酷 我刚刚读完 施瓦茨变换 部分 在理解它之后 我开始想知道为什么变换不使用缓存 在具有多个重复值的列表中 转换会重新计算每个值的值 因此我想为什么不使用哈希来缓存结果 这是一些代码 a place to
  • 如何在 Perl 中的不同包之间共享全局值?

    是否有一种标准方法可以对模块进行编码以保存要包含在每个其他包中的全局应用程序参数 例如 use Config 一个简单的包 只包含our变量 只读变量怎么样 已经有一个标准配置模块 http perldoc perl org Config
  • api网关CORS设置

    我正在尝试在部署脚本中使用 aws cli 从命令行设置 aws CORS 我使用以下 perl to shell 命令创建了 POST 资源 我正在尝试将集成响应设置为 就像启用核心一样 aws apigateway put method
  • SFTP文件同时上传和下载

    cronjob 每 3 小时运行一次 使用 SFTP 下载文件 调度程序是用Perl编写的 使用的模块是Net SFTP Foreign Can the Net SFTP Foreign下载仅使用 SFTP 部分上传的文件 如果是这样 我们
  • 为什么Perl的SUPER调用不使用箭头方法?

    我注意到 当您调用超类的方法时 您需要执行以下操作 my self class gt SUPER new 为什么不是这样 my self class gt SUPER gt new 我怀疑是因为 class gt SUPER gt new
  • Perl Moose TypeDecorator 错误。我该如何调试?

    我最近遇到了一个问题 非常感谢您的见解 我在圣诞节前在 PerlMonks 上发布了类似的问题 并提供了一些从 MooseX Declare 切换的反馈 http www perlmonks org node id 877703 1 我现在
  • Perl - 以相反的顺序逐行读取文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Perl 中从文件末尾读取行 https stackoverflow com questions 303053 how can i read lines from the end of fil
  • 如何在没有循环的情况下初始化哈希中的值?

    我正在尝试找出一种无需经过循环即可初始化哈希的方法 我希望使用切片来实现这一点 但它似乎没有产生预期的结果 考虑以下代码 usr bin perl use Data Dumper my hash hash currency symbol B
  • Perl:LWP::UserAgent 对于重定向 URL 始终返回代码 200

    我有一个简单的 url 它执行 302 临时错误 移至另一页 我尝试在 URL 返回代码 200 表示 OK 时检索它 并在返回 200 以外的其他内容时停止 My code my ua LWP UserAgent gt new env p
  • 如何使用 Net::SSH::Perl 和公钥?

    我正在尝试使用Net SSH Perl使用公钥与此代码进行连接 my ssh Net SSH Perl gt new host debug gt 1 die 我将密钥放在 root ssh id rsa 和 root ssh identit
  • 如何为不同的 Perl 应用程序安装专门的环境?

    就功能而言是否有与 Python 相同或接近的东西虚拟环境 http pypi python org pypi virtualenv what it does 但是对于 Perl 来说呢 我已经用 Python 进行了一些开发 并且将非系统
  • Perl Tk 模块有哪些缺点?

    与在 Perl 中创建 GUI 的其他解决方案相比 Tk 模块有哪些缺点 我最近浏览了 Perl 的各种 gui 模块 这是我的总结 免责声明 最终我发现现有模块都不能满足我的需求 所以我开始编写自己的 gui 工具包 Tk 工作起来很不错
  • Path::Class::File 或 ::Dir & Moose 初始化和强制

    目前有 package Local use warnings use Moose use Method Signatures Simple use Path Class File use Path Class Dir method buil
  • 在压缩存档内的文本文件上运行“head”,而不解压存档

    问候 我接手了之前的团队并编写了处理 csv 文件的 ETL 作业 我在 ubuntu 上结合使用 shell 脚本和 perl csv 文件很大 它们以压缩档案形式到达 解压后 很多都超过 30Gb 是的 那是 G 旧进程是在 cron
  • Perl YAML 模块无法识别标量类型

    我加载以下 yaml 文件 foo bar s 1 hx 0x34 用这段代码 use YAML qw LoadFile Dump use Data Dumper my d LoadFile test yaml print Dumper d

随机推荐

  • 为什么Intellij IDEA说已使用的属性未使用?

    我的 Java Maven 项目中有一个属性文件 我有一个类加载这些属性并将它们存储为常量 Constants java file has this code Properties properties new Properties bla
  • 测试假存储库有什么意义?

    当我在家开发时 我一直在努力让自己的心态更加面向 TDD 和一点 DDD 我不明白的一件事是为什么你要创建一个假存储库来测试 我还没有真正研究过它 但测试的想法肯定是帮助解耦你的代码 给你更多的灵活性 减少所需的代码并减少错误的数量 那么有
  • 从数据库中选择、分组和求和结果

    我有一个数据库 其中有一些我想求和的字段 但这不是大问题 我想按这些字段的创建月份对它们进行分组 ActiveRecord 自动创建一个名为 created at 的字段 所以我的问题是 如何按月对结果进行分组 然后对每个月的字段求和 更新
  • Android 应用程序中的布局充气器是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 中的 Layout Inflater 是做什么的 https stackoverflow com questions 3477422 what does layout inflater
  • 检查文件扩展名是否为图像的好方法

    我有这个文件类型过滤器 public const string Png PNG Portable Network Graphics png png public const string Jpg JPEG File Interchange
  • 为什么是“特质T”? C级; class X extends (C with T)` 无法编译?

    斯卡拉代码 trait T class C type W C with T class X extends W W是一个类型别名 但我想定义一个类来扩展它 为什么以及如何解决它 我很难以一种很好的方式构建我的答案 但这里仍然试图解释正在发生
  • Perseo fe docker 实例无法启动

    我面临以下问题 我正在尝试将 FIWARE Perseo 作为 docker 实例部署到我的 Centos 7 服务器 尽管 perseocore 实例运行没有问题 但 perseo 前端的情况却不同 它已创建但无法启动 从日志中可以清楚地
  • PHP 致命错误:调用布尔值上的成员函数 format()

    崩溃于 PHP 致命错误 调用布尔值上的成员函数 format 但对于其他日期效果很好 格式错误 这两个示例都不起作用 因为您有多个错误 您忘记了第二个参数Datet
  • 跳出范围解决方案以及不同指令如何影响范围

    我一直在与错误 jmp out of range 作斗争 很多时候我需要从代码的不同部分运行子程序 就像在 C 中运行函数一样 我发现代码的两端都需要跳转到同一个地方 但两者却无法到达那里 解决这个问题的办法是什么 我还注意到 PRINT
  • 使用自定义模式呈现处理通话状态栏

    问题 我在演示时注意到一些奇怪的行为UINavigationController 使用根视图控制器 自然已经推送 UIViewControllerAnimatedTransitioning打电话期间 如果通话状态栏已启用after当导航控制
  • 更改单个 DataGridView 列中所有单元格的填充

    我的 C 应用程序中有一个 DataGridView 使用设计器 我设置了AlternatingRowsDefaultCellStyle以及DefaultCellStyleDGV 本身的属性 这两种样式的填充值为0 0 5 0 我没有为任何
  • Three.js 使用正交相机将 2D 映射到 3D

    我有一个使用正交相机的 Three js 场景 this camera new THREE OrthographicCamera this width 2 this width 2 this height 2 this height 2 1
  • 表单中的背景颜色

    我试图为 HTML 表单标签设置背景颜色 但它不起作用 我以为这是一个简单的任务 form background color 000 padding 10px 您可以使用内联样式
  • iPhone,如何检测拍摄图像时的方向

    有什么方法可以检测拍摄图像时手机的方向吗 我在 UIView 上有一个 UIImageView 我正在使用 UIImagePicker 来拍照或从相机胶卷中选择一张照片 但是 如果图像是在横向模式下拍摄的 我想检测到这一点并调整图像视图的大
  • 异步 - 留在当前线程上?

    我读过埃里克 利珀特的article http blogs msdn com b ericlippert archive 2010 10 29 asynchronous programming in c 5 0 part two whenc
  • 设置 Vaadin 会话超时参数

    我正在使用 Vaadin 7 1 7 但我不知道如何设置session timeout参数 例如 1 分钟 据我所知 Vaadin 7 x x 不会产生web xml 它用 VaadinServletConfiguration注释 但似乎没
  • 如何使用 browserify 包含非节点模块

    我想在应用程序中使用依赖项管理 并遇到了 require js 和 browserify 我无法决定选择哪一个 这将是一个决定性因素 任何人都可以告诉我如何将定制的 javascript 模块 非节点模块 包含到我的 js 中 我发现 br
  • Android 上的自定义鼠标指针

    当使用现代版本的 Android Honeycomb 或更高版本 时 如果硬件合适 则支持显示鼠标指针 例如 在 ASUS Transformer 或 Toshiba AC100 笔记本电脑上 是否有任何 API 允许在这些设备之一上运行的
  • 如何使用 Mocha 和 Nock 重新测试相同的 URL?

    我正在使用 Mocha Chai Sinon Proxyquire 和 Nock 对于这个特定的测试场景 针对该场景提出这个问题 希望多次测试完全相同的 URL 每次都在一个单独的测试中 期望得到不同的响应 例如 没有商家 Feed 的响应
  • “漂白”文件中的这个 perl 行有什么作用?

    我有一些已被 漂白 的 perl 文件 不知道它是否来自 ACME Bleach 或类似的东西 我对 Perl 不太熟悉 我想了解启动文件的单行代码如何解码后面的空格 lt lt y r n d pack b eval die 文件的其余部