1

我正在尝试禁用数码相机固件中的一些图像处理代码。从固件转储中,我发现了一些 *.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  ................

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

谢谢!

4

1 回答 1

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

问候,

文斯

于 2017-03-02T13:38:35.423 回答