ELF கோப்பு வடிவத்தைப் புரிந்துகொள்வது

Understanding Elf File Format



மூலக் குறியீட்டிலிருந்து பைனரி குறியீடு வரை

புரோகிராமிங் ஒரு புத்திசாலித்தனமான யோசனையுடன் தொடங்குகிறது, மேலும் உங்களுக்கு விருப்பமான ஒரு நிரலாக்க மொழியில் மூலக் குறியீட்டை எழுதுதல், எடுத்துக்காட்டாக சி, மற்றும் ஒரு கோப்பில் மூலக் குறியீட்டைச் சேமித்தல். போதுமான தொகுப்பாளரின் உதவியுடன், எடுத்துக்காட்டாக GCC, உங்கள் மூலக் குறியீடு முதலில் பொருள் குறியீடாக மொழிபெயர்க்கப்பட்டுள்ளது. இறுதியில், இணைப்பாளர் பொருள் குறியீட்டை ஒரு பைனரி கோப்பாக மொழிபெயர்க்கிறார், இது பொருள் குறியீட்டை குறிப்பிடப்பட்ட நூலகங்களுடன் இணைக்கிறது. இந்த கோப்பில் சிபியுவால் புரிந்துகொள்ளப்பட்ட இயந்திரக் குறியீடாக ஒற்றை அறிவுறுத்தல்கள் உள்ளன, மேலும் தொகுக்கப்பட்ட நிரல் இயக்கப்பட்டவுடன் செயல்படுத்தப்படும்.

மேலே குறிப்பிடப்பட்ட பைனரி கோப்பு ஒரு குறிப்பிட்ட கட்டமைப்பைப் பின்பற்றுகிறது, மேலும் மிகவும் பொதுவான ஒன்று ELF என பெயரிடப்பட்டுள்ளது, இது இயங்கக்கூடிய மற்றும் இணைக்கப்பட்ட வடிவத்தை சுருக்கமாகக் கூறுகிறது. இது இயங்கக்கூடிய கோப்புகள், இடமாற்றம் செய்யக்கூடிய பொருள் கோப்புகள், பகிரப்பட்ட நூலகங்கள் மற்றும் முக்கிய திணிப்புகளுக்கு பரவலாகப் பயன்படுத்தப்படுகிறது.







இருபது வருடங்களுக்கு முன்பு-1999 இல்-86 ஓபன் திட்டம் ELF ஐ x86 செயலிகளில் யூனிக்ஸ் மற்றும் யூனிக்ஸ் போன்ற அமைப்புகளுக்கான நிலையான பைனரி கோப்பு வடிவமாக தேர்ந்தெடுத்தது. அதிர்ஷ்டவசமாக, ELF வடிவம் முன்பு சிஸ்டம் V அப்ளிகேஷன் பைனரி இன்டர்ஃபேஸ் மற்றும் டூல் இன்டர்ஃபேஸ் ஸ்டாண்டர்ட் [4] இரண்டிலும் ஆவணப்படுத்தப்பட்டது. இந்த உண்மை யுனிக்ஸ் அடிப்படையிலான இயக்க முறைமைகளின் வெவ்வேறு விற்பனையாளர்கள் மற்றும் டெவலப்பர்களுக்கிடையேயான தரப்படுத்தல் ஒப்பந்தத்தை பெரிதும் எளிதாக்கியது.



அந்த முடிவுக்குப் பின்னால் உள்ள காரணம் ELF-நெகிழ்வுத்தன்மை, விரிவாக்கம் மற்றும் குறுக்கு-மேடை ஆதரவு வெவ்வேறு எண்டியன் வடிவங்கள் மற்றும் முகவரி அளவுகள். ELF இன் வடிவமைப்பு ஒரு குறிப்பிட்ட செயலி, அறிவுறுத்தல் தொகுப்பு அல்லது வன்பொருள் கட்டமைப்பிற்கு மட்டும் அல்ல. இயங்கக்கூடிய கோப்பு வடிவங்களின் விரிவான ஒப்பீட்டிற்கு, இங்கே பாருங்கள் [3].



அப்போதிருந்து, ELF வடிவம் பல்வேறு இயக்க முறைமைகளால் பயன்படுத்தப்படுகிறது. மற்றவற்றுடன், இதில் லினக்ஸ், சோலாரிஸ்/இல்லுமோஸ், ஃப்ரீ-, நெட்- மற்றும் ஓபன் பிஎஸ்டி, கியூஎன்எக்ஸ், பீஓஎஸ்/ஹைகு மற்றும் ஃபுச்ச்சியா ஓஎஸ் ஆகியவை அடங்கும் [2]. மேலும், Android, Maemo அல்லது Meego OS/Sailfish OS இயங்கும் மொபைல் சாதனங்கள் மற்றும் பிளேஸ்டேஷன் போர்ட்டபிள், ட்ரீம்காஸ்ட் மற்றும் Wii போன்ற கேம் கன்சோல்களில் இதை நீங்கள் காணலாம்.





ELF கோப்புகளுக்கான கோப்பு பெயர் நீட்டிப்பை விவரக்குறிப்பு தெளிவுபடுத்தவில்லை. .Axf.

ஒரு ELF கோப்பின் அமைப்பு

ஒரு லினக்ஸ் முனையத்தில், ELF கோப்பின் கட்டமைப்பைப் பற்றி ஒரு எளிமையான சுருக்கத்தை மேன் எல்ஃப் என்ற கட்டளை உங்களுக்கு வழங்குகிறது:



பட்டியல் 1: ELF கட்டமைப்பின் மேன்பேஜ்

$ மனிதன் பதினொன்று

ELF (5) லினக்ஸ் புரோகிராமரின் கையேடு ELF (5)

பெயர்
elf - இயங்கக்கூடிய மற்றும் இணைப்பு வடிவம் (ELF) கோப்புகளின் வடிவம்

சினோபிஸிஸ்
#சேர்க்கிறது

விளக்கம்
தலைப்பு கோப்பு ELF இயங்கக்கூடிய பைனரியின் வடிவத்தை வரையறுக்கிறது
கோப்புகள். இந்த கோப்புகளில் சாதாரணமாக இயங்கக்கூடிய கோப்புகள், இடமாற்றம் செய்யக்கூடியவை
பொருள் கோப்புகள், முக்கிய கோப்புகள் மற்றும் பகிரப்பட்ட நூலகங்கள்.

ELF கோப்பு வடிவத்தைப் பயன்படுத்தி இயங்கக்கூடிய கோப்பு ELF தலைப்பைக் கொண்டுள்ளது,
நிரல் தலைப்பு அட்டவணை அல்லது பிரிவு தலைப்பு அட்டவணை அல்லது இரண்டும்.
ELF தலைப்பு எப்போதும் கோப்பின் ஆஃப்செட் பூஜ்ஜியத்தில் இருக்கும். நிகழ்ச்சி
கோப்பில் தலைப்பு அட்டவணை மற்றும் பிரிவு தலைப்பு அட்டவணையின் ஆஃப்செட் உள்ளன
ELF தலைப்பில் வரையறுக்கப்பட்டுள்ளது. இரண்டு அட்டவணைகள் மீதமுள்ளவற்றை விவரிக்கின்றன
கோப்பின் தனித்தன்மை.

...

மேலே உள்ள விளக்கத்திலிருந்து நீங்கள் பார்க்க முடியும் என, ஒரு ELF கோப்பு இரண்டு பிரிவுகளைக் கொண்டுள்ளது - ஒரு ELF தலைப்பு மற்றும் கோப்பு தரவு. கோப்பு தரவு பிரிவில் பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட பிரிவுகளை விவரிக்கும் ஒரு நிரல் தலைப்பு அட்டவணை, பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட பிரிவுகளை விவரிக்கும் ஒரு பிரிவு தலைப்பு அட்டவணை, அதைத் தொடர்ந்து நிரல் தலைப்பு அட்டவணை மற்றும் பிரிவு தலைப்பு அட்டவணை ஆகியவற்றால் குறிப்பிடப்படும் தரவு ஆகியவை அடங்கும். ஒவ்வொரு பிரிவிலும் கோப்பின் இயக்க நேர செயல்பாட்டிற்குத் தேவையான தகவல்கள் உள்ளன, அதே நேரத்தில் பிரிவுகள் இணைப்பு மற்றும் இடமாற்றத்திற்கான முக்கியமான தரவுகளைக் கொண்டுள்ளன. படம் 1 இதை திட்டவட்டமாக விளக்குகிறது.

ELF தலைப்பு

ELF தலைப்பு 32 பைட்டுகள் நீளமானது மற்றும் கோப்பின் வடிவமைப்பை அடையாளம் காட்டுகிறது. இது 0x7F மற்றும் 0x45, 0x4c, மற்றும் 0x46 ஆகிய நான்கு தனித்துவமான பைட்டுகளின் வரிசையுடன் தொடங்குகிறது, இது E, L மற்றும் F ஆகிய மூன்று எழுத்துக்களாக மொழிபெயர்க்கப்பட்டுள்ளது. மற்ற மதிப்புகளில், அது 32 அல்லது ELF கோப்பு என்பதை தலைப்பு குறிக்கிறது 64-பிட் வடிவம், சிறிய அல்லது பெரிய இடைவெளியைப் பயன்படுத்துகிறது, சரியான பயன்பாட்டு பைனரி இடைமுகம் (ஏபிஐ) மற்றும் சிபியு அறிவுறுத்தல் தொகுப்புடன் செயல்படுவதற்காக கோப்பு எந்த இயக்க முறைமைக்காக தொகுக்கப்பட்டது என்பதை ELF பதிப்பையும் காட்டுகிறது.

பைனரி கோப்பு தொடுதலின் அறுகோணம் பின்வருமாறு தெரிகிறது:

.பட்டியல் 2: பைனரி கோப்பின் ஹெக்ஸ்டம்ப்

$ hd/usr/bin/touch | தலை -5
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 | .ELF ........... |
00000010 02 00 3e 00 01 00 00 00 e3 25 40 00 00 00 00 00 | ..> ......% @ ..... |
00000020 40 00 00 00 00 00 00 00 00 28 e4 00 00 00 00 00 00 | @ ....... (....... .......
00000030 00 00 00 00 40 40 00 38 00 09 00 40 00 1 பி 00 1 அ 00 | [மின்னஞ்சல் பாதுகாக்கப்பட்டது] @..... |
00000040 06 00 00 00 05 05 00 00 00 40 00 00 00 00 00 00 00 | [மின்னஞ்சல் பாதுகாக்கப்பட்டது] |

டெபியன் குனு/லினக்ஸ் ஜிஎன்யு 'பினுடில்ஸ்' தொகுப்பில் வழங்கப்படும் ரீடெல்ஃப் கட்டளையை வழங்குகிறது. சுவிட்ச் -எச் உடன் (ஃபைல் -ஹெடருக்கான குறுகிய பதிப்பு) இது ஒரு ELF கோப்பின் தலைப்பை நன்றாகக் காட்டுகிறது. கட்டளைத் தொடுதலுக்காக பட்டியல் 3 இதை விளக்குகிறது.

.பட்டியல் 3: ELF கோப்பின் தலைப்பைக் காட்டுகிறது

$ readelf -h/usr/bin/touch
ELF தலைப்பு:
மந்திரம்: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
வகுப்பு: ELF64
தரவு: 2 இன் நிரப்பு, சிறிய எண்டியன்
பதிப்பு: 1 (தற்போதைய)
ஓஎஸ் / ஏபிஐ: யுனிக்ஸ் - சிஸ்டம் வி
ஏபிஐ பதிப்பு: 0
வகை: EXEC (இயங்கக்கூடிய கோப்பு)
இயந்திரம்: மேம்பட்ட மைக்ரோ சாதனங்கள் X86-64
பதிப்பு: 0x1
நுழைவுப் புள்ளி முகவரி: 0x4025e3
நிரல் தலைப்புகளின் தொடக்கம்: 64 (பைட்டிற்கு பைட்டுகள்)
பிரிவு தலைப்புகளின் தொடக்கம்: 58408 (பைட்டிற்கு பைட்டுகள்)
கொடிகள்: 0x0
இந்த தலைப்பின் அளவு: 64 (பைட்டுகள்)
நிரல் தலைப்புகளின் அளவு: 56 (பைட்டுகள்)
நிரல் தலைப்புகளின் எண்ணிக்கை: 9
பிரிவு தலைப்புகளின் அளவு: 64 (பைட்டுகள்)
பிரிவு தலைப்புகளின் எண்ணிக்கை: 27
பிரிவு தலைப்பு சரம் அட்டவணை குறியீடு: 26

நிகழ்ச்சித் தலைப்பு

நிரல் தலைப்பு இயக்க நேரத்தில் பயன்படுத்தப்படும் பிரிவுகளைக் காட்டுகிறது, மேலும் செயல்முறை படத்தை எவ்வாறு உருவாக்குவது என்பதை கணினியிடம் கூறுகிறது. பட்டியல் 2 இலிருந்து வரும் தலைப்பு, ELF கோப்பில் 9 நிரல் தலைப்புகள் உள்ளன, அவை ஒவ்வொன்றும் 56 பைட்டுகள் அளவைக் கொண்டுள்ளன, மேலும் முதல் தலைப்பு பைட் 64 இல் தொடங்குகிறது.

மீண்டும், ரீஎல்எஃப் கட்டளை ELF கோப்பிலிருந்து தகவல்களைப் பிரித்தெடுக்க உதவுகிறது. சுவிட்ச் -எல் (–பிராக்ரம் -தலைப்புகள் அல்லது –பொருட்களுக்கான சுருக்கமானது) பட்டியல் 4 ல் காட்டப்பட்டுள்ளபடி மேலும் விவரங்களை வெளிப்படுத்துகிறது.

.பட்டியல் 4: நிரல் தலைப்புகள் பற்றிய தகவலைக் காண்பி

$ readelf -l/usr/bin/touch

எல்ஃப் கோப்பு வகை EXEC (இயங்கக்கூடிய கோப்பு)
நுழைவு புள்ளி 0x4025e3
ஆஃப்செட் 64 இல் தொடங்கி 9 நிரல் தலைப்புகள் உள்ளன

நிரல் தலைப்புகள்:
வகை ஆஃப்செட் VirtAddr PhysAddr
FileSiz MemSiz கொடிகள் சீரமை
PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040
0x00000000000001f8 0x00000000000001f8 ஆர் இ 8
INTERP 0x0000000000000238 0x0000000000400238 0x0000000000400238
0x000000000000001c 0x000000000000001c ஆர் 1
[நிரல் மொழிபெயர்ப்பாளரைக் கோருகிறது: /lib64/ld-linux-x86-64.so.2]
ஏற்ற 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x000000000000d494 0x000000000000d494 ஆர் இ 200000
ஏற்றி 0x000000000000de10 0x000000000060de10 0x000000000060de10
0x0000000000000524 0x0000000000000748 RW 200000
டைனமிக் 0x000000000000de28 0x000000000060de28 0x000000000060de28
0x00000000000001d0 0x00000000000001d0 RW 8
குறிப்பு 0x0000000000000254 0x0000000000400254 0x0000000000400254
0x0000000000000044 0x0000000000000044 ஆர் 4
GNU_EH_FRAME 0x000000000000bc40 0x00000000000040bc40 0x00000000000040bc40
0x00000000000003a4 0x00000000000003a4 ஆர் 4
GNU_STACK 0x000000000000000000xx0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 10
GNU_RELRO 0x000000000000de10 0x000000000000de10 0x000000000060de10
0x00000000000001f0 0x00000000000001f0 ஆர் 1

பிரிவு வரைபடத்தின் பகுதி:
பிரிவு பிரிவுகள் ...
00
01. இன்டர்ப்
02. இன்டெர்ப். குறிப்பு. ஏபிஐ-டேக். குறிப்பு. இக்னு.பில்ட்-ஐடி. இக்னு.ஹாஷ். டைன்சிம். rodata .eh_frame_hdr .eh_frame
03 .init_array .fini_array .jcr. Dynamic .got .got.plt .data .bss
04. டைனமிக்
05. குறிப்பு.அபிஐ-குறி. குறிப்பு. இக்னு.பில்ட்-ஐடி
06 .eh_frame_hdr
07
08 .ஐனிட்_அரே .fini_array .jcr. டைனமிக் .காட்

பிரிவு தலைப்பு

ELF கட்டமைப்பின் மூன்றாவது பகுதி பிரிவு தலைப்பு. இது பைனரியின் ஒற்றை பிரிவுகளை பட்டியலிடுவதாகும். சுவிட்ச் -எஸ் (பிரிவு -தலைப்புகள் அல்லது பிரிவுகளுக்கு சுருக்கமாக) வெவ்வேறு தலைப்புகளை பட்டியலிடுகிறது. தொடு கட்டளையைப் பொறுத்தவரை, 27 பிரிவு தலைப்புகள் உள்ளன, மேலும் பட்டியல் 5 அவற்றில் முதல் நான்கையும் கடைசி ஒன்றையும் மட்டுமே காட்டுகிறது. ஒவ்வொரு வரியும் பிரிவு அளவு, பிரிவு வகை மற்றும் அதன் முகவரி மற்றும் நினைவக ஆஃப்செட் ஆகியவற்றை உள்ளடக்கியது.

.பட்டியல் 5: பிரிவு விவரங்கள் readelf மூலம் வெளிப்படுத்தப்பட்டது

$ readelf -S/usr/bin/touch
0xe428 ஆஃப்செட்டில் தொடங்கி 27 பிரிவு தலைப்புகள் உள்ளன:

பிரிவு தலைப்புகள்:
பெயர் பெயர் முகவரி ஆஃப்செட்
அளவு EntSize கொடிகள் இணைப்பு தகவல் சீரமைப்பு
[0] முழு 000000000000000000000000
0000000000000000 0000000000000000 0 0 0
[1] .இன்டெர்ப் ப்ரோஜிபிட்ஸ் 0000000000400238 00000238
000000000000001 சி 0000000000000000 ஏ 0 0 1
[2]. குறிப்பு. ஏபிஐ-டேக் குறிப்பு 0000000000400254 00000254
0000000000000020 0000000000000000 ஏ 0 0 4
[3] .note.gnu.build-i குறிப்பு 0000000000400274 00000274
...
...
[26] .shstrtab STRTAB 00000000000000000000e334
00000000000000ef 0000000000000000 0 0 1
கொடியின் திறவுகோல்:
டபுள்யூ
I (தகவல்), L (இணைப்பு வரிசை), G (குழு), T (TLS), E (விலக்கு), x (தெரியவில்லை)
O (கூடுதல் OS செயலாக்கம் தேவை) o (OS குறிப்பிட்டது), p (செயலி குறிப்பிட்டது)

ஒரு ELF கோப்பை பகுப்பாய்வு செய்வதற்கான கருவிகள்

மேலே உள்ள உதாரணங்களிலிருந்து நீங்கள் குறிப்பிட்டிருக்கிறபடி, GNU/Linux பல ELF கோப்புகளைப் பகுப்பாய்வு செய்ய உதவும் பல பயனுள்ள கருவிகளைக் கொண்டுள்ளது. நாம் பார்க்கும் முதல் வேட்பாளர் கோப்பு பயன்பாடு.

கோப்பு ELF கோப்புகளைப் பற்றிய அடிப்படை தகவல்களைக் காட்டுகிறது 6 வது பட்டியலில்/bin/touch என்பது லினக்ஸ் ஸ்டாண்டர்ட் பேஸ் (LSB) ஐத் தொடர்ந்து 64-பிட் இயங்கக்கூடிய கோப்பாகும், இது மாறும் வகையில் இணைக்கப்பட்டு, GNU/Linux கர்னல் பதிப்பு 2.6.32 க்காக உருவாக்கப்பட்டது.

.பட்டியல் 6: கோப்பைப் பயன்படுத்தி அடிப்படைத் தகவல்

$ கோப்பு /பின் /தொடுதல்
/பின்/தொடுதல்: ELF 64-bit LSB இயங்கக்கூடியது, x86-64, பதிப்பு 1 (SYSV), மாறும் இணைக்கப்பட்ட, மொழிபெயர்ப்பாளர்/lib64/l,
GNU/Linux 2.6.32 க்கு, BuildID [sha1] = ec08d609e9e8e73d4be6134541a472ad0ea34502, அகற்றப்பட்டது
$

இரண்டாவது வேட்பாளர் வாசகர். இது ஒரு ELF கோப்பைப் பற்றிய விரிவான தகவல்களைக் காட்டுகிறது. சுவிட்சுகளின் பட்டியல் ஒப்பீட்டளவில் நீளமானது மற்றும் ELF வடிவமைப்பின் அனைத்து அம்சங்களையும் உள்ளடக்கியது. ஏவிஐ பதிப்பு குறி மற்றும் பில்ட் ஐடி பிட்ஸ்ட்ரிங் -கோப்பு தொடுதலில் இருக்கும் குறிப்புப் பிரிவுகளை மட்டும் பட்டியல் -7 (குறிப்புகளுக்கான சுருக்கமான) பட்டியல் 7 ஐக் காட்டுகிறது.

. பட்டியல் 7: ஒரு ELF கோப்பின் தேர்ந்தெடுக்கப்பட்ட பிரிவுகளைக் காண்பி

$ readelf -n/usr/bin/touch

0x00000254 கோப்பு ஆஃப்செட் 0x00000020 நீளத்துடன் காணப்படும் குறிப்புகளைக் காட்டுகிறது:
உரிமையாளர் தரவு அளவு விளக்கம்
GNU 0x00000010 NT_GNU_ABI_TAG (ABI பதிப்பு குறி)
ஓஎஸ்: லினக்ஸ், ஏபிஐ: 2.6.32

0x00000274 கோப்பு ஆஃப்செட் 0x00000024 நீளத்துடன் காணப்படும் குறிப்புகளைக் காட்டுகிறது:
உரிமையாளர் தரவு அளவு விளக்கம்
GNU 0x00000014 NT_GNU_BUILD_ID (தனிப்பட்ட உருவாக்க ஐடி பிட்ஸ்ட்ரிங்)
உருவாக்க ஐடி: ec08d609e9e8e73d4be6134541a472ad0ea34502

சோலாரிஸ் மற்றும் ஃப்ரீபிஎஸ்டியின் கீழ், எல்ஃப்டம்ப் பயன்பாடு [7] ரீடெல்ஃப் உடன் ஒத்துப்போகிறது என்பதை நினைவில் கொள்க. 2019 ஆம் ஆண்டு நிலவரப்படி, 2003 முதல் புதிய வெளியீடு அல்லது புதுப்பிப்பு இல்லை.

எண் மூன்று என்பது எல்ஃபூட்டில்ஸ் [6] என்ற பெயரிடப்பட்ட தொகுப்பாகும், இது லினக்ஸுக்கு முற்றிலும் கிடைக்கிறது. இது GNU Binutils க்கு மாற்று கருவிகளை வழங்குகிறது, மேலும் ELF கோப்புகளை சரிபார்க்கவும் அனுமதிக்கிறது. தொகுப்பில் வழங்கப்பட்ட அனைத்துப் பயன்பாடுகளின் பெயர்களும் 'elf utils' க்கான eu உடன் தொடங்குகின்றன.

கடைசியாக ஆனால் குறைந்தபட்சம் நாம் பொருளை குறிப்பிடுவோம். இந்த கருவி ரீடெல்ஃப் போன்றது ஆனால் பொருள் கோப்புகளில் கவனம் செலுத்துகிறது. இது ELF கோப்புகள் மற்றும் பிற ஆப்ஜெக்ட் வடிவங்களைப் பற்றிய தகவல்களின் அதே வரம்பை வழங்குகிறது.

.பட்டியல் 8: கோப்பு தகவல் ஆப்ஜ்டம்ப் மூலம் பிரித்தெடுக்கப்பட்டது

$ Obdump -f /bin /touch

/பின்/தொடுதல்: கோப்பு வடிவம் elf64-x86-64
கட்டமைப்பு: i386: x86-64, கொடிகள் 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
தொடக்க முகவரி 0x00000000004025e3

$

ஒரு ELF கோப்பின் உள்ளடக்கங்களைப் படிப்பதற்கும் அதை கையாளுவதற்கும் கருவிகள் அடங்கிய 'elfkickers' [9] என்ற மென்பொருள் தொகுப்பும் உள்ளது. துரதிர்ஷ்டவசமாக, வெளியீடுகளின் எண்ணிக்கை குறைவாக உள்ளது, அதனால்தான் நாங்கள் அதை குறிப்பிடுகிறோம், மேலும் எடுத்துக்காட்டுகளைக் காட்ட வேண்டாம்.

ஒரு டெவலப்பராக நீங்கள் அதற்கு பதிலாக 'பாக்ஸ்-யூட்டில்களை' [10,11] பார்க்கலாம். இந்த தொகுப்பு பயன்பாடுகள் ELF கோப்புகளை சரிபார்க்க உதவும் பல கருவிகளை வழங்குகிறது. உதாரணமாக, டம்பல்ஃப் ELF கோப்பை பகுப்பாய்வு செய்து, விவரங்கள் அடங்கிய C தலைப்பு கோப்பைத் தருகிறது - படம் 2 ஐப் பார்க்கவும்.

முடிவுரை

புத்திசாலித்தனமான வடிவமைப்பு மற்றும் சிறந்த ஆவணங்களின் கலவையால் ELF வடிவம் நன்றாக வேலை செய்கிறது, மேலும் 20 ஆண்டுகளுக்குப் பிறகும் பயன்பாட்டில் உள்ளது. மேலே காட்டப்பட்டுள்ள பயன்பாடுகள் ஒரு ELF கோப்பில் ஒரு நுண்ணறிவு பார்வையை அனுமதிக்கின்றன, மேலும் ஒரு நிரல் என்ன செய்கிறது என்பதை நீங்கள் கண்டுபிடிக்கலாம். மென்பொருளை பகுப்பாய்வு செய்வதற்கான முதல் படிகள் இவை - மகிழ்ச்சியான ஹேக்கிங்!

இணைப்புகள் மற்றும் குறிப்புகள்
ஒப்புதல்கள்

இந்தக் கட்டுரையைத் தயாரிப்பது தொடர்பாக ஆக்ஸல் பெக்கர்ட் அளித்த ஆதரவுக்கு எழுத்தாளர் நன்றி தெரிவிக்க விரும்புகிறார்.