如何打开 Dyalog APL 映射文件
How to open Dyalog APL mapped file
我正在尝试禁用数码相机固件中的某些图像处理代码。从固件转储中,我发现了一些 *.bin 文件,其幻数对应于 "Dyalog APL mapped file 64-bit version 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 相机上的内置热像素检测..
谢谢!
我强烈怀疑这些 .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
此致,
文斯
我正在尝试禁用数码相机固件中的某些图像处理代码。从固件转储中,我发现了一些 *.bin 文件,其幻数对应于 "Dyalog APL mapped file 64-bit version 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 相机上的内置热像素检测..
谢谢!
我强烈怀疑这些 .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
此致,
文斯