Recent Posts

Pages: 1 ... 8 9 [10]
91
Other Discussion / Re: ELF files are confusing.
« Last post by Frank Kotler on August 14, 2023, 01:04:52 PM »
Okay, I'm confused on general principles. :)

Are you straightened out, Ben?

Frank

 
92
Other Discussion / Re: ELF files are confusing.
« Last post by fredericopissarra on August 14, 2023, 12:13:01 PM »
Yeah, I am probably confused. Should have stopped after "I don't know'"

Best,
Frank
Frank, I was talking about the "program headers" in the original post.

[]s
Fred
93
Other Discussion / Re: ELF files are confusing.
« Last post by Frank Kotler on August 13, 2023, 07:58:55 PM »
Thank you!

Frank

94
Other Discussion / Re: ELF files are confusing.
« Last post by vitsoft on August 13, 2023, 07:15:32 PM »
While ELF Sections are used by the linker, ELF Program Segments are used by the (dynamic) loader at the Linux program execution.
Section header tells where is the section's contents located in the file. This is used mostly at link-time.

Program segments instruct the loader at load-time about virtual address where should each segment be memory-mapped at, and what privileges should it be assigned (read,write,execute). See also ELF specification.

If you want to inspect ELF files in Windows, install Linux emulator WSL and use
readelf -aW ElfFile
95
Other Discussion / Re: ELF files are confusing.
« Last post by Frank Kotler on August 12, 2023, 04:01:43 AM »
Yeah, I am probably confused. Should have stopped after "I don't know'"

Best,
Frank

96
Other Discussion / Re: ELF files are confusing.
« Last post by fredericopissarra on August 11, 2023, 11:55:00 AM »
Aren't you confusing with "Program Header Table"?

In general, ELF is simplier then PE (and PE+).
97
Other Discussion / Re: ELF files are confusing.
« Last post by Frank Kotler on August 10, 2023, 01:57:33 AM »
Hi Ben,

I don't know. Where are you seeing this? Possibly 4k (usually) memory "pages"? If ypu can't dp anything  about it, I wouldn't worry about it.

Best,
Frank

 
98
Other Discussion / ELF files are confusing.
« Last post by ben321 on August 09, 2023, 11:16:11 PM »
While Windows PE EXE files just have named sections as defined by section headers, ELF files have named sections, but also something called "program segments", which are unnamed, and are defined by a separate table of headers called program headers. What's up with that?
99
That would return string length + 1....
Ops... sorry... my bad...
100
Example Code / Re: My own 64-bit `puts' instruction (No length required)
« Last post by munair on July 22, 2023, 03:38:17 PM »
So strlen could be implemented as:
Code: [Select]
; Same as: size_t strlen( const char * );
; the function assumes ALL strings will be NUL terminated.
strlen_:
  xor eax,eax
  lea ecx,[rax-1]   ; Limiting the string size to 2³²-1, max.
  mov rdx,rdi
  repnz scasb     ; Scan for '\0'...
  sub rdi,rdx
  mov rax,rdi     ; returns size in RAX.
  ret

That would return string length + 1. So alternatively:

Code: [Select]
    xor     eax, eax
    lea     ecx, [rax - 1]
    mov     rdx, rdi
    repnz   scasb
    sub     rdi, rdx
    ;mov     rax, rdi
    lea     rax, [rdi - 1]        ; not counting the null terminator
Pages: 1 ... 8 9 [10]