35 lines
817 B
Protocol Buffer
35 lines
817 B
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
option optimize_for = LITE_RUNTIME;
|
||
|
option go_package = "pkg/protomodel";
|
||
|
|
||
|
package protomodel;
|
||
|
|
||
|
message MachoInfo {
|
||
|
enum PointerSize {
|
||
|
invalid = 0;
|
||
|
p32 = 1;
|
||
|
p64 = 2;
|
||
|
}
|
||
|
|
||
|
message InitPointer {
|
||
|
uint64 offset = 1; // offset relative to the macho header
|
||
|
uint64 value = 2; // address of the init function
|
||
|
}
|
||
|
|
||
|
// iOS library rewrite these as opcodes and dyld processes
|
||
|
// message LazySymbol {
|
||
|
// string name = 1;
|
||
|
// int32 dylib_ordinal = 2; // could be -1 -2
|
||
|
// uint32 segment = 3;
|
||
|
// uint32 segment_offset = 4;
|
||
|
// }
|
||
|
|
||
|
PointerSize pointer_size = 1;
|
||
|
uint64 image_base = 2;
|
||
|
repeated InitPointer init_pointers = 3;
|
||
|
// saved or read from header -> dyld_info -> lazyoff
|
||
|
// uint64 lazy_symbol_address = 4;
|
||
|
// repeated LazySymbol lazy_symbols = 5;
|
||
|
}
|