1 USING: accessors classes.struct fry io io.encodings.binary io.files
2 io.streams.byte-array kernel sequences
3 tools.image-analyzer.code-heap-reader
4 tools.image-analyzer.data-heap-reader tools.image-analyzer.utils
5 tools.image-analyzer.vm ;
6 IN: tools.image-analyzer
8 : code-heap>code-blocks ( code-heap -- code-blocks )
9 binary [ [ read-code-block ] consume-stream>sequence ] with-byte-reader ;
11 : data-heap>objects ( data-relocation-base data-heap -- seq )
12 binary [ '[ _ read-object ] consume-stream>sequence ] with-byte-reader ;
14 : load-image ( image -- header data-heap code-heap )
16 image-header read-struct dup [
17 [ data-relocation-base>> ] [ data-size>> read ] bi
20 [ code-size>> read code-heap>code-blocks ] bi