简体   繁体   中英

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

After learning about Dyalog APL, I installed the non-registered version of Dyalog APL. However I could not figure out how to open the files. I tried using the MAP function:

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

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

Thanks!

I strongly doubt that these .bin files are Dyalog mapped files. I am fairly sure that Dyalog APL does not run inside a camera.

I can tell you about our mapped files though. Dyalog mapped files just contain data. Our ⎕MAP function is documented here:
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)

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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