I disassembled some OS X apps with Hopper and found that all of them contain a lot of zero bytes in a row. What is the use of that?
Is this some OS X ABI specific padding I came across here? What is its use?
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It only takes a minute to sign up.
Sign up to join this communityI disassembled some OS X apps with Hopper and found that all of them contain a lot of zero bytes in a row. What is the use of that?
Is this some OS X ABI specific padding I came across here? What is its use?
Memory is mapped in pages, so if you want data that isn't page-aligned in memory, there'll be a world of either random data (in the case that pages were mapped without zeroing enabled, possible on some platforms) or zeros. From the address I'd say that hopper has identified that your executable has sections that will load at a given address but that the remainder of the page will be zeros. If there is data after it but before the end of the page then it's a buffer, could be used for runtime decryption or anything else in fact.