2017-02-27 80 views
0

我试图在数码相机固件中禁用某些图像处理代码。从固件转储中,我找到了一些带有魔术数字的* .bin文件,它对应于“Dyalog APL映射文件64位版本19.145”(来自unix文件命令)。如何打开Dyalog APL映射文件

在了解了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在炎热的像素检测..

谢谢!

回答

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 

问候,

文斯