macho/macho-go/proto/macho_info.proto

35 lines
817 B
Protocol Buffer
Raw Normal View History

2023-05-31 16:17:03 +07:00
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;
}