简体   繁体   English

如何打开Dyalog APL映射文件

[英]How to open Dyalog APL mapped file

I am trying to disable some image processing code in a digital camera firmware. 我试图禁用数码相机固件中的某些图像处理代码。 From the firmware dump, I found some *.bin files with magic number that corresponds to "Dyalog APL mapped file 64-bit version 19.145" (from unix file command). 从固件转储中,我找到了一些* .bin文件,它们的幻数对应于“ Dyalog APL映射文件的64位版本19.145”(来自unix file命令)。

After learning about Dyalog APL, I installed the non-registered version of Dyalog APL. 了解Dyalog APL之后,我安装了Dyalog APL的未注册版本。 However I could not figure out how to open the files. 但是我不知道如何打开文件。 I tried using the MAP function: 我尝试使用MAP函数:

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

Was this the correct way to open the file? 这是打开文件的正确方法吗? Is there another method to do so? 还有其他方法吗? Or perhaps I could use some other program? 或者也许我可以使用其他程序?

If my research is accurate so far, most APL codes are interpreted. 如果到目前为止我的研究是准确的,则可以解释大多数APL代码。 So these files are unlikely to have been compiled. 因此,这些文件不太可能被编译。 Although if I'm off track, these files can also be compiled programs for the DSP chip. 尽管如果我走错了路,这些文件也可以被编译为DSP芯片的程序。

Below is the first few bytes hexdump of the file. 以下是文件的前几个字节的十六进制转储。

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  ................

If it helps, I'm trying to disable the built-in hot pixel detection on Sony ILCE camera.. 如果有帮助,我正尝试在Sony ILCE相机上禁用内置的热像素检测。

Thanks! 谢谢!

I strongly doubt that these .bin files are Dyalog mapped files. 我强烈怀疑这些.bin文件是Dyalog映射文件。 I am fairly sure that Dyalog APL does not run inside a camera. 我相当确定Dyalog APL不会在相机内运行。

I can tell you about our mapped files though. 我可以告诉您有关我们的映射文件的信息。 Dyalog mapped files just contain data. Dyalog映射文件仅包含数据。 Our ⎕MAP function is documented here: 我们的⎕MAP功能记录在这里:
http://help.dyalog.com/15.0/Content/Language/System%20Functions/map.htm 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

(all zeroes from here to here at offset 0x7740) (从此处到此处的所有零在偏移量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

Regards, 问候,

Vince 文斯

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM