【问题标题】:How to open Dyalog APL mapped file如何打开 Dyalog APL 映射文件
【发布时间】:2017-07-17 13:43:45
【问题描述】:

我正在尝试禁用数码相机固件中的某些图像处理代码。从固件转储中,我发现了一些 *.bin 文件,其幻数对应于“Dyalog APL 映射文件 64 位版本 19.145”(来自 unix 文件命令)。

在了解了 Dyalog APL 之后,我安装了 Dyalog APL 的非注册版。但是我不知道如何打开文件。我尝试使用 MAP 功能:

⎕MAP'C:\fc.bin'
NONCE ERROR

这是打开文件的正确方法吗?还有另一种方法吗?或者我可以使用其他程序?

如果我的研究到目前为止是准确的,那么大多数 APL 代码都会被解释。所以这些文件不太可能被编译。虽然如果我跑题了,这些文件也可以是 DSP 芯片的编译程序。

下面是文件的前几个字节 hexdump。

00000000: aa0a 1391 0400 0002 01e9 0001 0200 0100  ................
00000010: 0000 0000 5341 4a50 4744 5f43 3078 3032  ....SAJPGD_C0x02
00000020: 0200 0006 0100 0000 0100 0000 5000 0000  ............P...
00000030: 0002 0000 4a50 4744 4543 5f43 3078 3030  ....JPGDEC_C0x00
00000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................

如果有帮助,我正在尝试禁用 Sony ILCE 相机上的内置热像素检测..

谢谢!

【问题讨论】:

    标签: reverse-engineering apl dyalog


    【解决方案1】:

    我强烈怀疑这些 .bin 文件是 Dyalog 映射文件。我相当确定 Dyalog APL 不会在相机内运行。

    不过,我可以告诉你我们的映射文件。 Dyalog 映射文件只包含数据。我们的 ⎕MAP 函数记录在这里:
    http://help.dyalog.com/15.0/Content/Language/System%20Functions/map.htm

      )load util
      (⊃83 323 ⎕DR 2 3 4⍴⍳24)∆MPUT'e:\tmp\myvar'
    
      )clear
    clear ws
    
      var←⎕map 'e:\tmp\myvar' 'w'
      var
     1  2  3  4
     5  6  7  8
     9 10 11 12
    
    13 14 15 16
    17 18 19 20
    21 22 23 24
      ⍴var
    2 3 4
    
    
    od -X e:/tmp/myvar gives this output:
    
    0000000 0fe808aa 00000084 00000000 00000000
    0000020 00000000 00000000 00000000 00000000
    

    (从这里到这里偏移 0x7740 处全为零)

    0007740 00000000 00000000 ffffffe2 00000000
    0007760 0001143f 00000002 00000003 00000004 
    0010000 00000001 00000002 00000003 00000004
    0010020 00000005 00000006 00000007 00000008
    0010040 00000009 0000000a 0000000b 0000000c
    0010060 0000000d 0000000e 0000000f 00000010
    0010100 00000011 00000012 00000013 00000014
    0010120 00000015 00000016 00000017 00000018
    0010140
    

    问候,

    文斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-03
      • 2017-10-29
      • 2020-06-27
      • 2017-08-14
      • 1970-01-01
      • 2019-04-03
      • 2022-01-27
      • 1970-01-01
      相关资源
      最近更新 更多