├── .gitignore ├── HelloElfLoader.sln ├── HelloElfLoader ├── Assembly.asm ├── ElfDefine.h ├── HelloElfLoader.cpp ├── HelloElfLoader.h ├── HelloElfLoader.vcxproj ├── HelloElfLoader.vcxproj.filters ├── LibraryFuncs.cpp ├── LibraryFuncs.h ├── ReadMe.txt ├── main.cpp ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── README.md └── sample ├── a.asm ├── a.hex ├── a.out ├── a.readelf └── hello.c /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # .NET Core 46 | project.lock.json 47 | project.fragment.lock.json 48 | artifacts/ 49 | **/Properties/launchSettings.json 50 | 51 | *_i.c 52 | *_p.c 53 | *_i.h 54 | *.ilk 55 | *.meta 56 | *.obj 57 | *.pch 58 | *.pdb 59 | *.pgc 60 | *.pgd 61 | *.rsp 62 | *.sbr 63 | *.tlb 64 | *.tli 65 | *.tlh 66 | *.tmp 67 | *.tmp_proj 68 | *.log 69 | *.vspscc 70 | *.vssscc 71 | .builds 72 | *.pidb 73 | *.svclog 74 | *.scc 75 | 76 | # Chutzpah Test files 77 | _Chutzpah* 78 | 79 | # Visual C++ cache files 80 | ipch/ 81 | *.aps 82 | *.ncb 83 | *.opendb 84 | *.opensdf 85 | *.sdf 86 | *.cachefile 87 | *.VC.db 88 | *.VC.VC.opendb 89 | 90 | # Visual Studio profiler 91 | *.psess 92 | *.vsp 93 | *.vspx 94 | *.sap 95 | 96 | # TFS 2012 Local Workspace 97 | $tf/ 98 | 99 | # Guidance Automation Toolkit 100 | *.gpState 101 | 102 | # ReSharper is a .NET coding add-in 103 | _ReSharper*/ 104 | *.[Rr]e[Ss]harper 105 | *.DotSettings.user 106 | 107 | # JustCode is a .NET coding add-in 108 | .JustCode 109 | 110 | # TeamCity is a build add-in 111 | _TeamCity* 112 | 113 | # DotCover is a Code Coverage Tool 114 | *.dotCover 115 | 116 | # Visual Studio code coverage results 117 | *.coverage 118 | *.coveragexml 119 | 120 | # NCrunch 121 | _NCrunch_* 122 | .*crunch*.local.xml 123 | nCrunchTemp_* 124 | 125 | # MightyMoose 126 | *.mm.* 127 | AutoTest.Net/ 128 | 129 | # Web workbench (sass) 130 | .sass-cache/ 131 | 132 | # Installshield output folder 133 | [Ee]xpress/ 134 | 135 | # DocProject is a documentation generator add-in 136 | DocProject/buildhelp/ 137 | DocProject/Help/*.HxT 138 | DocProject/Help/*.HxC 139 | DocProject/Help/*.hhc 140 | DocProject/Help/*.hhk 141 | DocProject/Help/*.hhp 142 | DocProject/Help/Html2 143 | DocProject/Help/html 144 | 145 | # Click-Once directory 146 | publish/ 147 | 148 | # Publish Web Output 149 | *.[Pp]ublish.xml 150 | *.azurePubxml 151 | # TODO: Comment the next line if you want to checkin your web deploy settings 152 | # but database connection strings (with potential passwords) will be unencrypted 153 | *.pubxml 154 | *.publishproj 155 | 156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 157 | # checkin your Azure Web App publish settings, but sensitive information contained 158 | # in these scripts will be unencrypted 159 | PublishScripts/ 160 | 161 | # NuGet Packages 162 | *.nupkg 163 | # The packages folder can be ignored because of Package Restore 164 | **/packages/* 165 | # except build/, which is used as an MSBuild target. 166 | !**/packages/build/ 167 | # Uncomment if necessary however generally it will be regenerated when needed 168 | #!**/packages/repositories.config 169 | # NuGet v3's project.json files produces more ignorable files 170 | *.nuget.props 171 | *.nuget.targets 172 | 173 | # Microsoft Azure Build Output 174 | csx/ 175 | *.build.csdef 176 | 177 | # Microsoft Azure Emulator 178 | ecf/ 179 | rcf/ 180 | 181 | # Windows Store app package directories and files 182 | AppPackages/ 183 | BundleArtifacts/ 184 | Package.StoreAssociation.xml 185 | _pkginfo.txt 186 | 187 | # Visual Studio cache files 188 | # files ending in .cache can be ignored 189 | *.[Cc]ache 190 | # but keep track of directories ending in .cache 191 | !*.[Cc]ache/ 192 | 193 | # Others 194 | ClientBin/ 195 | ~$* 196 | *~ 197 | *.dbmdl 198 | *.dbproj.schemaview 199 | *.jfm 200 | *.pfx 201 | *.publishsettings 202 | orleans.codegen.cs 203 | 204 | # Since there are multiple workflows, uncomment next line to ignore bower_components 205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 206 | #bower_components/ 207 | 208 | # RIA/Silverlight projects 209 | Generated_Code/ 210 | 211 | # Backup & report files from converting an old project file 212 | # to a newer Visual Studio version. Backup files are not needed, 213 | # because we have git ;-) 214 | _UpgradeReport_Files/ 215 | Backup*/ 216 | UpgradeLog*.XML 217 | UpgradeLog*.htm 218 | 219 | # SQL Server files 220 | *.mdf 221 | *.ldf 222 | *.ndf 223 | 224 | # Business Intelligence projects 225 | *.rdl.data 226 | *.bim.layout 227 | *.bim_*.settings 228 | 229 | # Microsoft Fakes 230 | FakesAssemblies/ 231 | 232 | # GhostDoc plugin setting file 233 | *.GhostDoc.xml 234 | 235 | # Node.js Tools for Visual Studio 236 | .ntvs_analysis.dat 237 | node_modules/ 238 | 239 | # Typescript v1 declaration files 240 | typings/ 241 | 242 | # Visual Studio 6 build log 243 | *.plg 244 | 245 | # Visual Studio 6 workspace options file 246 | *.opt 247 | 248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 249 | *.vbw 250 | 251 | # Visual Studio LightSwitch build output 252 | **/*.HTMLClient/GeneratedArtifacts 253 | **/*.DesktopClient/GeneratedArtifacts 254 | **/*.DesktopClient/ModelManifest.xml 255 | **/*.Server/GeneratedArtifacts 256 | **/*.Server/ModelManifest.xml 257 | _Pvt_Extensions 258 | 259 | # Paket dependency manager 260 | .paket/paket.exe 261 | paket-files/ 262 | 263 | # FAKE - F# Make 264 | .fake/ 265 | 266 | # JetBrains Rider 267 | .idea/ 268 | *.sln.iml 269 | 270 | # CodeRush 271 | .cr/ 272 | 273 | # Python Tools for Visual Studio (PTVS) 274 | __pycache__/ 275 | *.pyc 276 | 277 | # Cake - Uncomment if you are using it 278 | # tools/** 279 | # !tools/packages.config 280 | 281 | # Telerik's JustMock configuration file 282 | *.jmconfig 283 | 284 | # BizTalk build output 285 | *.btp.cs 286 | *.btm.cs 287 | *.odx.cs 288 | *.xsd.cs 289 | -------------------------------------------------------------------------------- /HelloElfLoader.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloElfLoader", "HelloElfLoader\HelloElfLoader.vcxproj", "{00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Debug|x64.ActiveCfg = Debug|x64 17 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Debug|x64.Build.0 = Debug|x64 18 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Debug|x86.ActiveCfg = Debug|Win32 19 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Debug|x86.Build.0 = Debug|Win32 20 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Release|x64.ActiveCfg = Release|x64 21 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Release|x64.Build.0 = Release|x64 22 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Release|x86.ActiveCfg = Release|Win32 23 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /HelloElfLoader/Assembly.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/Assembly.asm -------------------------------------------------------------------------------- /HelloElfLoader/ElfDefine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/ElfDefine.h -------------------------------------------------------------------------------- /HelloElfLoader/HelloElfLoader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/HelloElfLoader.cpp -------------------------------------------------------------------------------- /HelloElfLoader/HelloElfLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace HelloElfLoader { 6 | class Loader { 7 | std::ifstream fileStream_; 8 | 9 | public: 10 | Loader(const std::string& path); 11 | Loader(std::ifstream&& fileStream); 12 | void execute(); 13 | }; 14 | } 15 | -------------------------------------------------------------------------------- /HelloElfLoader/HelloElfLoader.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {00D6D7E3-CD5D-4A9F-B772-E48AA1B52678} 23 | Win32Proj 24 | HelloElfLoader 25 | 8.1 26 | 27 | 28 | 29 | Application 30 | true 31 | v140 32 | Unicode 33 | 34 | 35 | Application 36 | false 37 | v140 38 | true 39 | Unicode 40 | 41 | 42 | Application 43 | true 44 | v140 45 | Unicode 46 | 47 | 48 | Application 49 | false 50 | v140 51 | true 52 | Unicode 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | true 74 | 75 | 76 | true 77 | 78 | 79 | false 80 | 81 | 82 | false 83 | 84 | 85 | 86 | Use 87 | Level3 88 | Disabled 89 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 90 | true 91 | 92 | 93 | Console 94 | true 95 | 96 | 97 | 98 | 99 | Use 100 | Level3 101 | Disabled 102 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 103 | true 104 | 105 | 106 | Console 107 | true 108 | 109 | 110 | 111 | 112 | Level3 113 | Use 114 | MaxSpeed 115 | true 116 | true 117 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 118 | true 119 | 120 | 121 | Console 122 | true 123 | true 124 | true 125 | 126 | 127 | 128 | 129 | Level3 130 | Use 131 | MaxSpeed 132 | true 133 | true 134 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 135 | true 136 | 137 | 138 | Console 139 | true 140 | true 141 | true 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | Create 160 | Create 161 | Create 162 | Create 163 | 164 | 165 | 166 | 167 | 168 | -------------------------------------------------------------------------------- /HelloElfLoader/HelloElfLoader.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 头文件 23 | 24 | 25 | 头文件 26 | 27 | 28 | 头文件 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 38 | 39 | 源文件 40 | 41 | 42 | 源文件 43 | 44 | 45 | 源文件 46 | 47 | 48 | 源文件 49 | 50 | 51 | -------------------------------------------------------------------------------- /HelloElfLoader/LibraryFuncs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/LibraryFuncs.cpp -------------------------------------------------------------------------------- /HelloElfLoader/LibraryFuncs.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace HelloElfLoader { 6 | std::shared_ptr resolveLibraryFunc(const std::string& name); 7 | } 8 | -------------------------------------------------------------------------------- /HelloElfLoader/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 控制台应用程序:HelloElfLoader 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 HelloElfLoader 应用程序。 6 | 7 | 本文件概要介绍组成 HelloElfLoader 应用程序的每个文件的内容。 8 | 9 | 10 | HelloElfLoader.vcxproj 11 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 12 | 13 | HelloElfLoader.vcxproj.filters 14 | 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。 15 | 16 | HelloElfLoader.cpp 17 | 这是主应用程序源文件。 18 | 19 | ///////////////////////////////////////////////////////////////////////////// 20 | 其他标准文件: 21 | 22 | StdAfx.h, StdAfx.cpp 23 | 这些文件用于生成名为 HelloElfLoader.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 24 | 25 | ///////////////////////////////////////////////////////////////////////////// 26 | 其他注释: 27 | 28 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 29 | 30 | ///////////////////////////////////////////////////////////////////////////// 31 | -------------------------------------------------------------------------------- /HelloElfLoader/main.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "HelloElfLoader.h" 3 | #include 4 | 5 | int main() { 6 | using namespace HelloElfLoader; 7 | try { 8 | Loader loader("../sample/a.out"); 9 | loader.execute(); 10 | } 11 | catch (const std::exception& ex) { 12 | std::cout << "error: " << ex.what() << std::endl; 13 | } 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /HelloElfLoader/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/stdafx.cpp -------------------------------------------------------------------------------- /HelloElfLoader/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/stdafx.h -------------------------------------------------------------------------------- /HelloElfLoader/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/HelloElfLoader/targetver.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Example show how to parse and run linux program on windows 2 | 3 | Also see: [http://www.cnblogs.com/zkweb/p/6856879.html](http://www.cnblogs.com/zkweb/p/6856879.html) 4 | 5 | -------------------------------------------------------------------------------- /sample/a.asm: -------------------------------------------------------------------------------- 1 | 2 | ./a.out: 文件格式 elf64-x86-64 3 | 4 | 5 | Disassembly of section .init: 6 | 7 | 00000000004003c8 <_init>: 8 | 4003c8: 48 83 ec 08 sub $0x8,%rsp 9 | 4003cc: 48 8b 05 25 0c 20 00 mov 0x200c25(%rip),%rax # 600ff8 <_DYNAMIC+0x1d0> 10 | 4003d3: 48 85 c0 test %rax,%rax 11 | 4003d6: 74 05 je 4003dd <_init+0x15> 12 | 4003d8: e8 43 00 00 00 callq 400420 <__libc_start_main@plt+0x10> 13 | 4003dd: 48 83 c4 08 add $0x8,%rsp 14 | 4003e1: c3 retq 15 | 16 | Disassembly of section .plt: 17 | 18 | 00000000004003f0 : 19 | 4003f0: ff 35 12 0c 20 00 pushq 0x200c12(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x8> 20 | 4003f6: ff 25 14 0c 20 00 jmpq *0x200c14(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x10> 21 | 4003fc: 0f 1f 40 00 nopl 0x0(%rax) 22 | 23 | 0000000000400400 : 24 | 400400: ff 25 12 0c 20 00 jmpq *0x200c12(%rip) # 601018 <_GLOBAL_OFFSET_TABLE_+0x18> 25 | 400406: 68 00 00 00 00 pushq $0x0 26 | 40040b: e9 e0 ff ff ff jmpq 4003f0 <_init+0x28> 27 | 28 | 0000000000400410 <__libc_start_main@plt>: 29 | 400410: ff 25 0a 0c 20 00 jmpq *0x200c0a(%rip) # 601020 <_GLOBAL_OFFSET_TABLE_+0x20> 30 | 400416: 68 01 00 00 00 pushq $0x1 31 | 40041b: e9 d0 ff ff ff jmpq 4003f0 <_init+0x28> 32 | 33 | Disassembly of section .plt.got: 34 | 35 | 0000000000400420 <.plt.got>: 36 | 400420: ff 25 d2 0b 20 00 jmpq *0x200bd2(%rip) # 600ff8 <_DYNAMIC+0x1d0> 37 | 400426: 66 90 xchg %ax,%ax 38 | 39 | Disassembly of section .text: 40 | 41 | 0000000000400430 <_start>: 42 | 400430: 31 ed xor %ebp,%ebp 43 | 400432: 49 89 d1 mov %rdx,%r9 44 | 400435: 5e pop %rsi 45 | 400436: 48 89 e2 mov %rsp,%rdx 46 | 400439: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 47 | 40043d: 50 push %rax 48 | 40043e: 54 push %rsp 49 | 40043f: 49 c7 c0 20 06 40 00 mov $0x400620,%r8 50 | 400446: 48 c7 c1 b0 05 40 00 mov $0x4005b0,%rcx 51 | 40044d: 48 c7 c7 3c 05 40 00 mov $0x40053c,%rdi 52 | 400454: e8 b7 ff ff ff callq 400410 <__libc_start_main@plt> 53 | 400459: f4 hlt 54 | 40045a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 55 | 56 | 0000000000400460 : 57 | 400460: b8 3f 10 60 00 mov $0x60103f,%eax 58 | 400465: 55 push %rbp 59 | 400466: 48 2d 38 10 60 00 sub $0x601038,%rax 60 | 40046c: 48 83 f8 0e cmp $0xe,%rax 61 | 400470: 48 89 e5 mov %rsp,%rbp 62 | 400473: 76 1b jbe 400490 63 | 400475: b8 00 00 00 00 mov $0x0,%eax 64 | 40047a: 48 85 c0 test %rax,%rax 65 | 40047d: 74 11 je 400490 66 | 40047f: 5d pop %rbp 67 | 400480: bf 38 10 60 00 mov $0x601038,%edi 68 | 400485: ff e0 jmpq *%rax 69 | 400487: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 70 | 40048e: 00 00 71 | 400490: 5d pop %rbp 72 | 400491: c3 retq 73 | 400492: 0f 1f 40 00 nopl 0x0(%rax) 74 | 400496: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 75 | 40049d: 00 00 00 76 | 77 | 00000000004004a0 : 78 | 4004a0: be 38 10 60 00 mov $0x601038,%esi 79 | 4004a5: 55 push %rbp 80 | 4004a6: 48 81 ee 38 10 60 00 sub $0x601038,%rsi 81 | 4004ad: 48 c1 fe 03 sar $0x3,%rsi 82 | 4004b1: 48 89 e5 mov %rsp,%rbp 83 | 4004b4: 48 89 f0 mov %rsi,%rax 84 | 4004b7: 48 c1 e8 3f shr $0x3f,%rax 85 | 4004bb: 48 01 c6 add %rax,%rsi 86 | 4004be: 48 d1 fe sar %rsi 87 | 4004c1: 74 15 je 4004d8 88 | 4004c3: b8 00 00 00 00 mov $0x0,%eax 89 | 4004c8: 48 85 c0 test %rax,%rax 90 | 4004cb: 74 0b je 4004d8 91 | 4004cd: 5d pop %rbp 92 | 4004ce: bf 38 10 60 00 mov $0x601038,%edi 93 | 4004d3: ff e0 jmpq *%rax 94 | 4004d5: 0f 1f 00 nopl (%rax) 95 | 4004d8: 5d pop %rbp 96 | 4004d9: c3 retq 97 | 4004da: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 98 | 99 | 00000000004004e0 <__do_global_dtors_aux>: 100 | 4004e0: 80 3d 51 0b 20 00 00 cmpb $0x0,0x200b51(%rip) # 601038 <__TMC_END__> 101 | 4004e7: 75 11 jne 4004fa <__do_global_dtors_aux+0x1a> 102 | 4004e9: 55 push %rbp 103 | 4004ea: 48 89 e5 mov %rsp,%rbp 104 | 4004ed: e8 6e ff ff ff callq 400460 105 | 4004f2: 5d pop %rbp 106 | 4004f3: c6 05 3e 0b 20 00 01 movb $0x1,0x200b3e(%rip) # 601038 <__TMC_END__> 107 | 4004fa: f3 c3 repz retq 108 | 4004fc: 0f 1f 40 00 nopl 0x0(%rax) 109 | 110 | 0000000000400500 : 111 | 400500: bf 20 0e 60 00 mov $0x600e20,%edi 112 | 400505: 48 83 3f 00 cmpq $0x0,(%rdi) 113 | 400509: 75 05 jne 400510 114 | 40050b: eb 93 jmp 4004a0 115 | 40050d: 0f 1f 00 nopl (%rax) 116 | 400510: b8 00 00 00 00 mov $0x0,%eax 117 | 400515: 48 85 c0 test %rax,%rax 118 | 400518: 74 f1 je 40050b 119 | 40051a: 55 push %rbp 120 | 40051b: 48 89 e5 mov %rsp,%rbp 121 | 40051e: ff d0 callq *%rax 122 | 400520: 5d pop %rbp 123 | 400521: e9 7a ff ff ff jmpq 4004a0 124 | 125 | 0000000000400526 : 126 | 400526: 55 push %rbp 127 | 400527: 48 89 e5 mov %rsp,%rbp 128 | 40052a: 89 7d fc mov %edi,-0x4(%rbp) 129 | 40052d: 89 75 f8 mov %esi,-0x8(%rbp) 130 | 400530: 8b 45 fc mov -0x4(%rbp),%eax 131 | 400533: 39 45 f8 cmp %eax,-0x8(%rbp) 132 | 400536: 0f 4d 45 f8 cmovge -0x8(%rbp),%eax 133 | 40053a: 5d pop %rbp 134 | 40053b: c3 retq 135 | 136 | 000000000040053c
: 137 | 40053c: 55 push %rbp 138 | 40053d: 48 89 e5 mov %rsp,%rbp 139 | 400540: be 41 01 00 00 mov $0x141,%esi 140 | 400545: bf 7b 00 00 00 mov $0x7b,%edi 141 | 40054a: e8 d7 ff ff ff callq 400526 142 | 40054f: 89 c6 mov %eax,%esi 143 | 400551: bf 38 06 40 00 mov $0x400638,%edi 144 | 400556: b8 00 00 00 00 mov $0x0,%eax 145 | 40055b: e8 a0 fe ff ff callq 400400 146 | 400560: 68 78 06 40 00 pushq $0x400678 147 | 400565: 68 7a 06 40 00 pushq $0x40067a 148 | 40056a: 68 7c 06 40 00 pushq $0x40067c 149 | 40056f: 68 7e 06 40 00 pushq $0x40067e 150 | 400574: 41 b9 43 06 40 00 mov $0x400643,%r9d 151 | 40057a: 41 b8 45 06 40 00 mov $0x400645,%r8d 152 | 400580: b9 03 00 00 00 mov $0x3,%ecx 153 | 400585: ba 02 00 00 00 mov $0x2,%edx 154 | 40058a: be 01 00 00 00 mov $0x1,%esi 155 | 40058f: bf 48 06 40 00 mov $0x400648,%edi 156 | 400594: b8 00 00 00 00 mov $0x0,%eax 157 | 400599: e8 62 fe ff ff callq 400400 158 | 40059e: 48 83 c4 20 add $0x20,%rsp 159 | 4005a2: b8 64 00 00 00 mov $0x64,%eax 160 | 4005a7: c9 leaveq 161 | 4005a8: c3 retq 162 | 4005a9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 163 | 164 | 00000000004005b0 <__libc_csu_init>: 165 | 4005b0: 41 57 push %r15 166 | 4005b2: 41 56 push %r14 167 | 4005b4: 41 89 ff mov %edi,%r15d 168 | 4005b7: 41 55 push %r13 169 | 4005b9: 41 54 push %r12 170 | 4005bb: 4c 8d 25 4e 08 20 00 lea 0x20084e(%rip),%r12 # 600e10 <__frame_dummy_init_array_entry> 171 | 4005c2: 55 push %rbp 172 | 4005c3: 48 8d 2d 4e 08 20 00 lea 0x20084e(%rip),%rbp # 600e18 <__init_array_end> 173 | 4005ca: 53 push %rbx 174 | 4005cb: 49 89 f6 mov %rsi,%r14 175 | 4005ce: 49 89 d5 mov %rdx,%r13 176 | 4005d1: 4c 29 e5 sub %r12,%rbp 177 | 4005d4: 48 83 ec 08 sub $0x8,%rsp 178 | 4005d8: 48 c1 fd 03 sar $0x3,%rbp 179 | 4005dc: e8 e7 fd ff ff callq 4003c8 <_init> 180 | 4005e1: 48 85 ed test %rbp,%rbp 181 | 4005e4: 74 20 je 400606 <__libc_csu_init+0x56> 182 | 4005e6: 31 db xor %ebx,%ebx 183 | 4005e8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 184 | 4005ef: 00 185 | 4005f0: 4c 89 ea mov %r13,%rdx 186 | 4005f3: 4c 89 f6 mov %r14,%rsi 187 | 4005f6: 44 89 ff mov %r15d,%edi 188 | 4005f9: 41 ff 14 dc callq *(%r12,%rbx,8) 189 | 4005fd: 48 83 c3 01 add $0x1,%rbx 190 | 400601: 48 39 eb cmp %rbp,%rbx 191 | 400604: 75 ea jne 4005f0 <__libc_csu_init+0x40> 192 | 400606: 48 83 c4 08 add $0x8,%rsp 193 | 40060a: 5b pop %rbx 194 | 40060b: 5d pop %rbp 195 | 40060c: 41 5c pop %r12 196 | 40060e: 41 5d pop %r13 197 | 400610: 41 5e pop %r14 198 | 400612: 41 5f pop %r15 199 | 400614: c3 retq 200 | 400615: 90 nop 201 | 400616: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 202 | 40061d: 00 00 00 203 | 204 | 0000000000400620 <__libc_csu_fini>: 205 | 400620: f3 c3 repz retq 206 | 207 | Disassembly of section .fini: 208 | 209 | 0000000000400624 <_fini>: 210 | 400624: 48 83 ec 08 sub $0x8,%rsp 211 | 400628: 48 83 c4 08 add $0x8,%rsp 212 | 40062c: c3 retq 213 | -------------------------------------------------------------------------------- /sample/a.hex: -------------------------------------------------------------------------------- 1 | 00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| 2 | 00000010 02 00 3e 00 01 00 00 00 30 04 40 00 00 00 00 00 |..>.....0.@.....| 3 | 00000020 40 00 00 00 00 00 00 00 f8 19 00 00 00 00 00 00 |@...............| 4 | 00000030 00 00 00 00 40 00 38 00 09 00 40 00 1f 00 1c 00 |....@.8...@.....| 5 | 00000040 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00 |........@.......| 6 | 00000050 40 00 40 00 00 00 00 00 40 00 40 00 00 00 00 00 |@.@.....@.@.....| 7 | 00000060 f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00 |................| 8 | 00000070 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 |................| 9 | 00000080 38 02 00 00 00 00 00 00 38 02 40 00 00 00 00 00 |8.......8.@.....| 10 | 00000090 38 02 40 00 00 00 00 00 1c 00 00 00 00 00 00 00 |8.@.............| 11 | 000000a0 1c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 12 | 000000b0 01 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 |................| 13 | 000000c0 00 00 40 00 00 00 00 00 00 00 40 00 00 00 00 00 |..@.......@.....| 14 | 000000d0 d4 07 00 00 00 00 00 00 d4 07 00 00 00 00 00 00 |................| 15 | 000000e0 00 00 20 00 00 00 00 00 01 00 00 00 06 00 00 00 |.. .............| 16 | 000000f0 10 0e 00 00 00 00 00 00 10 0e 60 00 00 00 00 00 |..........`.....| 17 | 00000100 10 0e 60 00 00 00 00 00 28 02 00 00 00 00 00 00 |..`.....(.......| 18 | 00000110 30 02 00 00 00 00 00 00 00 00 20 00 00 00 00 00 |0......... .....| 19 | 00000120 02 00 00 00 06 00 00 00 28 0e 00 00 00 00 00 00 |........(.......| 20 | 00000130 28 0e 60 00 00 00 00 00 28 0e 60 00 00 00 00 00 |(.`.....(.`.....| 21 | 00000140 d0 01 00 00 00 00 00 00 d0 01 00 00 00 00 00 00 |................| 22 | 00000150 08 00 00 00 00 00 00 00 04 00 00 00 04 00 00 00 |................| 23 | 00000160 54 02 00 00 00 00 00 00 54 02 40 00 00 00 00 00 |T.......T.@.....| 24 | 00000170 54 02 40 00 00 00 00 00 44 00 00 00 00 00 00 00 |T.@.....D.......| 25 | 00000180 44 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |D...............| 26 | 00000190 50 e5 74 64 04 00 00 00 80 06 00 00 00 00 00 00 |P.td............| 27 | 000001a0 80 06 40 00 00 00 00 00 80 06 40 00 00 00 00 00 |..@.......@.....| 28 | 000001b0 3c 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 00 |<.......<.......| 29 | 000001c0 04 00 00 00 00 00 00 00 51 e5 74 64 06 00 00 00 |........Q.td....| 30 | 000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 31 | * 32 | 000001f0 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................| 33 | 00000200 52 e5 74 64 04 00 00 00 10 0e 00 00 00 00 00 00 |R.td............| 34 | 00000210 10 0e 60 00 00 00 00 00 10 0e 60 00 00 00 00 00 |..`.......`.....| 35 | 00000220 f0 01 00 00 00 00 00 00 f0 01 00 00 00 00 00 00 |................| 36 | 00000230 01 00 00 00 00 00 00 00 2f 6c 69 62 36 34 2f 6c |......../lib64/l| 37 | 00000240 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73 |d-linux-x86-64.s| 38 | 00000250 6f 2e 32 00 04 00 00 00 10 00 00 00 01 00 00 00 |o.2.............| 39 | 00000260 47 4e 55 00 00 00 00 00 02 00 00 00 06 00 00 00 |GNU.............| 40 | 00000270 20 00 00 00 04 00 00 00 14 00 00 00 03 00 00 00 | ...............| 41 | 00000280 47 4e 55 00 de bd 3d 79 12 be 86 0a 43 2b 5c 68 |GNU...=y....C+\h| 42 | 00000290 5a 6c ff 7f d9 41 85 28 01 00 00 00 01 00 00 00 |Zl...A.(........| 43 | 000002a0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 44 | 000002b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 45 | * 46 | 000002d0 0b 00 00 00 12 00 00 00 00 00 00 00 00 00 00 00 |................| 47 | 000002e0 00 00 00 00 00 00 00 00 12 00 00 00 12 00 00 00 |................| 48 | 000002f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 49 | 00000300 24 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |$... ...........| 50 | 00000310 00 00 00 00 00 00 00 00 00 6c 69 62 63 2e 73 6f |.........libc.so| 51 | 00000320 2e 36 00 70 72 69 6e 74 66 00 5f 5f 6c 69 62 63 |.6.printf.__libc| 52 | 00000330 5f 73 74 61 72 74 5f 6d 61 69 6e 00 5f 5f 67 6d |_start_main.__gm| 53 | 00000340 6f 6e 5f 73 74 61 72 74 5f 5f 00 47 4c 49 42 43 |on_start__.GLIBC| 54 | 00000350 5f 32 2e 32 2e 35 00 00 00 00 02 00 02 00 00 00 |_2.2.5..........| 55 | 00000360 01 00 01 00 01 00 00 00 10 00 00 00 00 00 00 00 |................| 56 | 00000370 75 1a 69 09 00 00 02 00 33 00 00 00 00 00 00 00 |u.i.....3.......| 57 | 00000380 f8 0f 60 00 00 00 00 00 06 00 00 00 03 00 00 00 |..`.............| 58 | 00000390 00 00 00 00 00 00 00 00 18 10 60 00 00 00 00 00 |..........`.....| 59 | 000003a0 07 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 |................| 60 | 000003b0 20 10 60 00 00 00 00 00 07 00 00 00 02 00 00 00 | .`.............| 61 | 000003c0 00 00 00 00 00 00 00 00 48 83 ec 08 48 8b 05 25 |........H...H..%| 62 | 000003d0 0c 20 00 48 85 c0 74 05 e8 43 00 00 00 48 83 c4 |. .H..t..C...H..| 63 | 000003e0 08 c3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 64 | 000003f0 ff 35 12 0c 20 00 ff 25 14 0c 20 00 0f 1f 40 00 |.5.. ..%.. ...@.| 65 | 00000400 ff 25 12 0c 20 00 68 00 00 00 00 e9 e0 ff ff ff |.%.. .h.........| 66 | 00000410 ff 25 0a 0c 20 00 68 01 00 00 00 e9 d0 ff ff ff |.%.. .h.........| 67 | 00000420 ff 25 d2 0b 20 00 66 90 00 00 00 00 00 00 00 00 |.%.. .f.........| 68 | 00000430 31 ed 49 89 d1 5e 48 89 e2 48 83 e4 f0 50 54 49 |1.I..^H..H...PTI| 69 | 00000440 c7 c0 20 06 40 00 48 c7 c1 b0 05 40 00 48 c7 c7 |.. .@.H....@.H..| 70 | 00000450 3c 05 40 00 e8 b7 ff ff ff f4 66 0f 1f 44 00 00 |<.@.......f..D..| 71 | 00000460 b8 3f 10 60 00 55 48 2d 38 10 60 00 48 83 f8 0e |.?.`.UH-8.`.H...| 72 | 00000470 48 89 e5 76 1b b8 00 00 00 00 48 85 c0 74 11 5d |H..v......H..t.]| 73 | 00000480 bf 38 10 60 00 ff e0 66 0f 1f 84 00 00 00 00 00 |.8.`...f........| 74 | 00000490 5d c3 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 |]...@.f.........| 75 | 000004a0 be 38 10 60 00 55 48 81 ee 38 10 60 00 48 c1 fe |.8.`.UH..8.`.H..| 76 | 000004b0 03 48 89 e5 48 89 f0 48 c1 e8 3f 48 01 c6 48 d1 |.H..H..H..?H..H.| 77 | 000004c0 fe 74 15 b8 00 00 00 00 48 85 c0 74 0b 5d bf 38 |.t......H..t.].8| 78 | 000004d0 10 60 00 ff e0 0f 1f 00 5d c3 66 0f 1f 44 00 00 |.`......].f..D..| 79 | 000004e0 80 3d 51 0b 20 00 00 75 11 55 48 89 e5 e8 6e ff |.=Q. ..u.UH...n.| 80 | 000004f0 ff ff 5d c6 05 3e 0b 20 00 01 f3 c3 0f 1f 40 00 |..]..>. ......@.| 81 | 00000500 bf 20 0e 60 00 48 83 3f 00 75 05 eb 93 0f 1f 00 |. .`.H.?.u......| 82 | 00000510 b8 00 00 00 00 48 85 c0 74 f1 55 48 89 e5 ff d0 |.....H..t.UH....| 83 | 00000520 5d e9 7a ff ff ff 55 48 89 e5 89 7d fc 89 75 f8 |].z...UH...}..u.| 84 | 00000530 8b 45 fc 39 45 f8 0f 4d 45 f8 5d c3 55 48 89 e5 |.E.9E..ME.].UH..| 85 | 00000540 be 41 01 00 00 bf 7b 00 00 00 e8 d7 ff ff ff 89 |.A....{.........| 86 | 00000550 c6 bf 38 06 40 00 b8 00 00 00 00 e8 a0 fe ff ff |..8.@...........| 87 | 00000560 68 78 06 40 00 68 7a 06 40 00 68 7c 06 40 00 68 |hx.@.hz.@.h|.@.h| 88 | 00000570 7e 06 40 00 41 b9 43 06 40 00 41 b8 45 06 40 00 |~.@.A.C.@.A.E.@.| 89 | 00000580 b9 03 00 00 00 ba 02 00 00 00 be 01 00 00 00 bf |................| 90 | 00000590 48 06 40 00 b8 00 00 00 00 e8 62 fe ff ff 48 83 |H.@.......b...H.| 91 | 000005a0 c4 20 b8 64 00 00 00 c9 c3 0f 1f 80 00 00 00 00 |. .d............| 92 | 000005b0 41 57 41 56 41 89 ff 41 55 41 54 4c 8d 25 4e 08 |AWAVA..AUATL.%N.| 93 | 000005c0 20 00 55 48 8d 2d 4e 08 20 00 53 49 89 f6 49 89 | .UH.-N. .SI..I.| 94 | 000005d0 d5 4c 29 e5 48 83 ec 08 48 c1 fd 03 e8 e7 fd ff |.L).H...H.......| 95 | 000005e0 ff 48 85 ed 74 20 31 db 0f 1f 84 00 00 00 00 00 |.H..t 1.........| 96 | 000005f0 4c 89 ea 4c 89 f6 44 89 ff 41 ff 14 dc 48 83 c3 |L..L..D..A...H..| 97 | 00000600 01 48 39 eb 75 ea 48 83 c4 08 5b 5d 41 5c 41 5d |.H9.u.H...[]A\A]| 98 | 00000610 41 5e 41 5f c3 90 66 2e 0f 1f 84 00 00 00 00 00 |A^A_..f.........| 99 | 00000620 f3 c3 00 00 48 83 ec 08 48 83 c4 08 c3 00 00 00 |....H...H.......| 100 | 00000630 01 00 02 00 00 00 00 00 6d 61 78 20 69 73 20 25 |........max is %| 101 | 00000640 64 0a 00 62 00 61 00 00 74 65 73 74 20 6d 61 6e |d..b.a..test man| 102 | 00000650 79 20 61 72 67 75 6d 65 6e 74 73 20 25 64 20 25 |y arguments %d %| 103 | 00000660 64 20 25 64 20 25 73 20 25 73 20 25 73 20 25 73 |d %d %s %s %s %s| 104 | 00000670 20 25 73 20 25 73 0a 00 66 00 65 00 64 00 63 00 | %s %s..f.e.d.c.| 105 | 00000680 01 1b 03 3b 3c 00 00 00 06 00 00 00 70 fd ff ff |...;<.......p...| 106 | 00000690 88 00 00 00 b0 fd ff ff 58 00 00 00 a6 fe ff ff |........X.......| 107 | 000006a0 b0 00 00 00 bc fe ff ff d0 00 00 00 30 ff ff ff |............0...| 108 | 000006b0 f0 00 00 00 a0 ff ff ff 38 01 00 00 00 00 00 00 |........8.......| 109 | 000006c0 14 00 00 00 00 00 00 00 01 7a 52 00 01 78 10 01 |.........zR..x..| 110 | 000006d0 1b 0c 07 08 90 01 07 10 14 00 00 00 1c 00 00 00 |................| 111 | 000006e0 50 fd ff ff 2a 00 00 00 00 00 00 00 00 00 00 00 |P...*...........| 112 | 000006f0 14 00 00 00 00 00 00 00 01 7a 52 00 01 78 10 01 |.........zR..x..| 113 | 00000700 1b 0c 07 08 90 01 00 00 24 00 00 00 1c 00 00 00 |........$.......| 114 | 00000710 e0 fc ff ff 30 00 00 00 00 0e 10 46 0e 18 4a 0f |....0......F..J.| 115 | 00000720 0b 77 08 80 00 3f 1a 3b 2a 33 24 22 00 00 00 00 |.w...?.;*3$"....| 116 | 00000730 1c 00 00 00 44 00 00 00 ee fd ff ff 16 00 00 00 |....D...........| 117 | 00000740 00 41 0e 10 86 02 43 0d 06 51 0c 07 08 00 00 00 |.A....C..Q......| 118 | 00000750 1c 00 00 00 64 00 00 00 e4 fd ff ff 6d 00 00 00 |....d.......m...| 119 | 00000760 00 41 0e 10 86 02 43 0d 06 02 68 0c 07 08 00 00 |.A....C...h.....| 120 | 00000770 44 00 00 00 84 00 00 00 38 fe ff ff 65 00 00 00 |D.......8...e...| 121 | 00000780 00 42 0e 10 8f 02 42 0e 18 8e 03 45 0e 20 8d 04 |.B....B....E. ..| 122 | 00000790 42 0e 28 8c 05 48 0e 30 86 06 48 0e 38 83 07 4d |B.(..H.0..H.8..M| 123 | 000007a0 0e 40 72 0e 38 41 0e 30 41 0e 28 42 0e 20 42 0e |.@r.8A.0A.(B. B.| 124 | 000007b0 18 42 0e 10 42 0e 08 00 14 00 00 00 cc 00 00 00 |.B..B...........| 125 | 000007c0 60 fe ff ff 02 00 00 00 00 00 00 00 00 00 00 00 |`...............| 126 | 000007d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 127 | * 128 | 00000e10 00 05 40 00 00 00 00 00 e0 04 40 00 00 00 00 00 |..@.......@.....| 129 | 00000e20 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 130 | 00000e30 01 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 |................| 131 | 00000e40 c8 03 40 00 00 00 00 00 0d 00 00 00 00 00 00 00 |..@.............| 132 | 00000e50 24 06 40 00 00 00 00 00 19 00 00 00 00 00 00 00 |$.@.............| 133 | 00000e60 10 0e 60 00 00 00 00 00 1b 00 00 00 00 00 00 00 |..`.............| 134 | 00000e70 08 00 00 00 00 00 00 00 1a 00 00 00 00 00 00 00 |................| 135 | 00000e80 18 0e 60 00 00 00 00 00 1c 00 00 00 00 00 00 00 |..`.............| 136 | 00000e90 08 00 00 00 00 00 00 00 f5 fe ff 6f 00 00 00 00 |...........o....| 137 | 00000ea0 98 02 40 00 00 00 00 00 05 00 00 00 00 00 00 00 |..@.............| 138 | 00000eb0 18 03 40 00 00 00 00 00 06 00 00 00 00 00 00 00 |..@.............| 139 | 00000ec0 b8 02 40 00 00 00 00 00 0a 00 00 00 00 00 00 00 |..@.............| 140 | 00000ed0 3f 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 |?...............| 141 | 00000ee0 18 00 00 00 00 00 00 00 15 00 00 00 00 00 00 00 |................| 142 | 00000ef0 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 |................| 143 | 00000f00 00 10 60 00 00 00 00 00 02 00 00 00 00 00 00 00 |..`.............| 144 | 00000f10 30 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 |0...............| 145 | 00000f20 07 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 |................| 146 | 00000f30 98 03 40 00 00 00 00 00 07 00 00 00 00 00 00 00 |..@.............| 147 | 00000f40 80 03 40 00 00 00 00 00 08 00 00 00 00 00 00 00 |..@.............| 148 | 00000f50 18 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 |................| 149 | 00000f60 18 00 00 00 00 00 00 00 fe ff ff 6f 00 00 00 00 |...........o....| 150 | 00000f70 60 03 40 00 00 00 00 00 ff ff ff 6f 00 00 00 00 |`.@........o....| 151 | 00000f80 01 00 00 00 00 00 00 00 f0 ff ff 6f 00 00 00 00 |...........o....| 152 | 00000f90 58 03 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |X.@.............| 153 | 00000fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 154 | * 155 | 00001000 28 0e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |(.`.............| 156 | 00001010 00 00 00 00 00 00 00 00 06 04 40 00 00 00 00 00 |..........@.....| 157 | 00001020 16 04 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 158 | 00001030 00 00 00 00 00 00 00 00 47 43 43 3a 20 28 55 62 |........GCC: (Ub| 159 | 00001040 75 6e 74 75 20 35 2e 34 2e 30 2d 36 75 62 75 6e |untu 5.4.0-6ubun| 160 | 00001050 74 75 31 7e 31 36 2e 30 34 2e 34 29 20 35 2e 34 |tu1~16.04.4) 5.4| 161 | 00001060 2e 30 20 32 30 31 36 30 36 30 39 00 00 00 00 00 |.0 20160609.....| 162 | 00001070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 163 | 00001080 00 00 00 00 00 00 00 00 00 00 00 00 03 00 01 00 |................| 164 | 00001090 38 02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |8.@.............| 165 | 000010a0 00 00 00 00 03 00 02 00 54 02 40 00 00 00 00 00 |........T.@.....| 166 | 000010b0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 03 00 |................| 167 | 000010c0 74 02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |t.@.............| 168 | 000010d0 00 00 00 00 03 00 04 00 98 02 40 00 00 00 00 00 |..........@.....| 169 | 000010e0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 05 00 |................| 170 | 000010f0 b8 02 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 171 | 00001100 00 00 00 00 03 00 06 00 18 03 40 00 00 00 00 00 |..........@.....| 172 | 00001110 00 00 00 00 00 00 00 00 00 00 00 00 03 00 07 00 |................| 173 | 00001120 58 03 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |X.@.............| 174 | 00001130 00 00 00 00 03 00 08 00 60 03 40 00 00 00 00 00 |........`.@.....| 175 | 00001140 00 00 00 00 00 00 00 00 00 00 00 00 03 00 09 00 |................| 176 | 00001150 80 03 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 177 | 00001160 00 00 00 00 03 00 0a 00 98 03 40 00 00 00 00 00 |..........@.....| 178 | 00001170 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0b 00 |................| 179 | 00001180 c8 03 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 180 | 00001190 00 00 00 00 03 00 0c 00 f0 03 40 00 00 00 00 00 |..........@.....| 181 | 000011a0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0d 00 |................| 182 | 000011b0 20 04 40 00 00 00 00 00 00 00 00 00 00 00 00 00 | .@.............| 183 | 000011c0 00 00 00 00 03 00 0e 00 30 04 40 00 00 00 00 00 |........0.@.....| 184 | 000011d0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 0f 00 |................| 185 | 000011e0 24 06 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |$.@.............| 186 | 000011f0 00 00 00 00 03 00 10 00 30 06 40 00 00 00 00 00 |........0.@.....| 187 | 00001200 00 00 00 00 00 00 00 00 00 00 00 00 03 00 11 00 |................| 188 | 00001210 80 06 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 189 | 00001220 00 00 00 00 03 00 12 00 c0 06 40 00 00 00 00 00 |..........@.....| 190 | 00001230 00 00 00 00 00 00 00 00 00 00 00 00 03 00 13 00 |................| 191 | 00001240 10 0e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |..`.............| 192 | 00001250 00 00 00 00 03 00 14 00 18 0e 60 00 00 00 00 00 |..........`.....| 193 | 00001260 00 00 00 00 00 00 00 00 00 00 00 00 03 00 15 00 |................| 194 | 00001270 20 0e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 | .`.............| 195 | 00001280 00 00 00 00 03 00 16 00 28 0e 60 00 00 00 00 00 |........(.`.....| 196 | 00001290 00 00 00 00 00 00 00 00 00 00 00 00 03 00 17 00 |................| 197 | 000012a0 f8 0f 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |..`.............| 198 | 000012b0 00 00 00 00 03 00 18 00 00 10 60 00 00 00 00 00 |..........`.....| 199 | 000012c0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 19 00 |................| 200 | 000012d0 28 10 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |(.`.............| 201 | 000012e0 00 00 00 00 03 00 1a 00 38 10 60 00 00 00 00 00 |........8.`.....| 202 | 000012f0 00 00 00 00 00 00 00 00 00 00 00 00 03 00 1b 00 |................| 203 | 00001300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 204 | 00001310 01 00 00 00 04 00 f1 ff 00 00 00 00 00 00 00 00 |................| 205 | 00001320 00 00 00 00 00 00 00 00 0c 00 00 00 01 00 15 00 |................| 206 | 00001330 20 0e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 | .`.............| 207 | 00001340 19 00 00 00 02 00 0e 00 60 04 40 00 00 00 00 00 |........`.@.....| 208 | 00001350 00 00 00 00 00 00 00 00 1b 00 00 00 02 00 0e 00 |................| 209 | 00001360 a0 04 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 210 | 00001370 2e 00 00 00 02 00 0e 00 e0 04 40 00 00 00 00 00 |..........@.....| 211 | 00001380 00 00 00 00 00 00 00 00 44 00 00 00 01 00 1a 00 |........D.......| 212 | 00001390 38 10 60 00 00 00 00 00 01 00 00 00 00 00 00 00 |8.`.............| 213 | 000013a0 53 00 00 00 01 00 14 00 18 0e 60 00 00 00 00 00 |S.........`.....| 214 | 000013b0 00 00 00 00 00 00 00 00 7a 00 00 00 02 00 0e 00 |........z.......| 215 | 000013c0 00 05 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 216 | 000013d0 86 00 00 00 01 00 13 00 10 0e 60 00 00 00 00 00 |..........`.....| 217 | 000013e0 00 00 00 00 00 00 00 00 a5 00 00 00 04 00 f1 ff |................| 218 | 000013f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 219 | 00001400 01 00 00 00 04 00 f1 ff 00 00 00 00 00 00 00 00 |................| 220 | 00001410 00 00 00 00 00 00 00 00 ad 00 00 00 01 00 12 00 |................| 221 | 00001420 d0 07 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 222 | 00001430 bb 00 00 00 01 00 15 00 20 0e 60 00 00 00 00 00 |........ .`.....| 223 | 00001440 00 00 00 00 00 00 00 00 00 00 00 00 04 00 f1 ff |................| 224 | 00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 225 | 00001460 c7 00 00 00 00 00 13 00 18 0e 60 00 00 00 00 00 |..........`.....| 226 | 00001470 00 00 00 00 00 00 00 00 d8 00 00 00 01 00 16 00 |................| 227 | 00001480 28 0e 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |(.`.............| 228 | 00001490 e1 00 00 00 00 00 13 00 10 0e 60 00 00 00 00 00 |..........`.....| 229 | 000014a0 00 00 00 00 00 00 00 00 f4 00 00 00 00 00 11 00 |................| 230 | 000014b0 80 06 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 231 | 000014c0 07 01 00 00 01 00 18 00 00 10 60 00 00 00 00 00 |..........`.....| 232 | 000014d0 00 00 00 00 00 00 00 00 1d 01 00 00 12 00 0e 00 |................| 233 | 000014e0 20 06 40 00 00 00 00 00 02 00 00 00 00 00 00 00 | .@.............| 234 | 000014f0 2d 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |-... ...........| 235 | 00001500 00 00 00 00 00 00 00 00 89 01 00 00 20 00 19 00 |............ ...| 236 | 00001510 28 10 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |(.`.............| 237 | 00001520 49 01 00 00 10 00 19 00 38 10 60 00 00 00 00 00 |I.......8.`.....| 238 | 00001530 00 00 00 00 00 00 00 00 27 01 00 00 12 00 0f 00 |........'.......| 239 | 00001540 24 06 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |$.@.............| 240 | 00001550 50 01 00 00 12 00 00 00 00 00 00 00 00 00 00 00 |P...............| 241 | 00001560 00 00 00 00 00 00 00 00 64 01 00 00 12 00 0e 00 |........d.......| 242 | 00001570 26 05 40 00 00 00 00 00 16 00 00 00 00 00 00 00 |&.@.............| 243 | 00001580 68 01 00 00 12 00 00 00 00 00 00 00 00 00 00 00 |h...............| 244 | 00001590 00 00 00 00 00 00 00 00 87 01 00 00 10 00 19 00 |................| 245 | 000015a0 28 10 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |(.`.............| 246 | 000015b0 94 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |.... ...........| 247 | 000015c0 00 00 00 00 00 00 00 00 a3 01 00 00 11 02 19 00 |................| 248 | 000015d0 30 10 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |0.`.............| 249 | 000015e0 b0 01 00 00 11 00 10 00 30 06 40 00 00 00 00 00 |........0.@.....| 250 | 000015f0 04 00 00 00 00 00 00 00 bf 01 00 00 12 00 0e 00 |................| 251 | 00001600 b0 05 40 00 00 00 00 00 65 00 00 00 00 00 00 00 |..@.....e.......| 252 | 00001610 d3 00 00 00 10 00 1a 00 40 10 60 00 00 00 00 00 |........@.`.....| 253 | 00001620 00 00 00 00 00 00 00 00 8d 01 00 00 12 00 0e 00 |................| 254 | 00001630 30 04 40 00 00 00 00 00 2a 00 00 00 00 00 00 00 |0.@.....*.......| 255 | 00001640 cf 01 00 00 10 00 1a 00 38 10 60 00 00 00 00 00 |........8.`.....| 256 | 00001650 00 00 00 00 00 00 00 00 db 01 00 00 12 00 0e 00 |................| 257 | 00001660 3c 05 40 00 00 00 00 00 6d 00 00 00 00 00 00 00 |<.@.....m.......| 258 | 00001670 e0 01 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |.... ...........| 259 | 00001680 00 00 00 00 00 00 00 00 f4 01 00 00 11 02 19 00 |................| 260 | 00001690 38 10 60 00 00 00 00 00 00 00 00 00 00 00 00 00 |8.`.............| 261 | 000016a0 00 02 00 00 20 00 00 00 00 00 00 00 00 00 00 00 |.... ...........| 262 | 000016b0 00 00 00 00 00 00 00 00 c9 01 00 00 12 00 0b 00 |................| 263 | 000016c0 c8 03 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| 264 | 000016d0 00 63 72 74 73 74 75 66 66 2e 63 00 5f 5f 4a 43 |.crtstuff.c.__JC| 265 | 000016e0 52 5f 4c 49 53 54 5f 5f 00 64 65 72 65 67 69 73 |R_LIST__.deregis| 266 | 000016f0 74 65 72 5f 74 6d 5f 63 6c 6f 6e 65 73 00 5f 5f |ter_tm_clones.__| 267 | 00001700 64 6f 5f 67 6c 6f 62 61 6c 5f 64 74 6f 72 73 5f |do_global_dtors_| 268 | 00001710 61 75 78 00 63 6f 6d 70 6c 65 74 65 64 2e 37 35 |aux.completed.75| 269 | 00001720 38 35 00 5f 5f 64 6f 5f 67 6c 6f 62 61 6c 5f 64 |85.__do_global_d| 270 | 00001730 74 6f 72 73 5f 61 75 78 5f 66 69 6e 69 5f 61 72 |tors_aux_fini_ar| 271 | 00001740 72 61 79 5f 65 6e 74 72 79 00 66 72 61 6d 65 5f |ray_entry.frame_| 272 | 00001750 64 75 6d 6d 79 00 5f 5f 66 72 61 6d 65 5f 64 75 |dummy.__frame_du| 273 | 00001760 6d 6d 79 5f 69 6e 69 74 5f 61 72 72 61 79 5f 65 |mmy_init_array_e| 274 | 00001770 6e 74 72 79 00 68 65 6c 6c 6f 2e 63 00 5f 5f 46 |ntry.hello.c.__F| 275 | 00001780 52 41 4d 45 5f 45 4e 44 5f 5f 00 5f 5f 4a 43 52 |RAME_END__.__JCR| 276 | 00001790 5f 45 4e 44 5f 5f 00 5f 5f 69 6e 69 74 5f 61 72 |_END__.__init_ar| 277 | 000017a0 72 61 79 5f 65 6e 64 00 5f 44 59 4e 41 4d 49 43 |ray_end._DYNAMIC| 278 | 000017b0 00 5f 5f 69 6e 69 74 5f 61 72 72 61 79 5f 73 74 |.__init_array_st| 279 | 000017c0 61 72 74 00 5f 5f 47 4e 55 5f 45 48 5f 46 52 41 |art.__GNU_EH_FRA| 280 | 000017d0 4d 45 5f 48 44 52 00 5f 47 4c 4f 42 41 4c 5f 4f |ME_HDR._GLOBAL_O| 281 | 000017e0 46 46 53 45 54 5f 54 41 42 4c 45 5f 00 5f 5f 6c |FFSET_TABLE_.__l| 282 | 000017f0 69 62 63 5f 63 73 75 5f 66 69 6e 69 00 5f 49 54 |ibc_csu_fini._IT| 283 | 00001800 4d 5f 64 65 72 65 67 69 73 74 65 72 54 4d 43 6c |M_deregisterTMCl| 284 | 00001810 6f 6e 65 54 61 62 6c 65 00 5f 65 64 61 74 61 00 |oneTable._edata.| 285 | 00001820 70 72 69 6e 74 66 40 40 47 4c 49 42 43 5f 32 2e |printf@@GLIBC_2.| 286 | 00001830 32 2e 35 00 6d 61 78 00 5f 5f 6c 69 62 63 5f 73 |2.5.max.__libc_s| 287 | 00001840 74 61 72 74 5f 6d 61 69 6e 40 40 47 4c 49 42 43 |tart_main@@GLIBC| 288 | 00001850 5f 32 2e 32 2e 35 00 5f 5f 64 61 74 61 5f 73 74 |_2.2.5.__data_st| 289 | 00001860 61 72 74 00 5f 5f 67 6d 6f 6e 5f 73 74 61 72 74 |art.__gmon_start| 290 | 00001870 5f 5f 00 5f 5f 64 73 6f 5f 68 61 6e 64 6c 65 00 |__.__dso_handle.| 291 | 00001880 5f 49 4f 5f 73 74 64 69 6e 5f 75 73 65 64 00 5f |_IO_stdin_used._| 292 | 00001890 5f 6c 69 62 63 5f 63 73 75 5f 69 6e 69 74 00 5f |_libc_csu_init._| 293 | 000018a0 5f 62 73 73 5f 73 74 61 72 74 00 6d 61 69 6e 00 |_bss_start.main.| 294 | 000018b0 5f 4a 76 5f 52 65 67 69 73 74 65 72 43 6c 61 73 |_Jv_RegisterClas| 295 | 000018c0 73 65 73 00 5f 5f 54 4d 43 5f 45 4e 44 5f 5f 00 |ses.__TMC_END__.| 296 | 000018d0 5f 49 54 4d 5f 72 65 67 69 73 74 65 72 54 4d 43 |_ITM_registerTMC| 297 | 000018e0 6c 6f 6e 65 54 61 62 6c 65 00 00 2e 73 79 6d 74 |loneTable...symt| 298 | 000018f0 61 62 00 2e 73 74 72 74 61 62 00 2e 73 68 73 74 |ab..strtab..shst| 299 | 00001900 72 74 61 62 00 2e 69 6e 74 65 72 70 00 2e 6e 6f |rtab..interp..no| 300 | 00001910 74 65 2e 41 42 49 2d 74 61 67 00 2e 6e 6f 74 65 |te.ABI-tag..note| 301 | 00001920 2e 67 6e 75 2e 62 75 69 6c 64 2d 69 64 00 2e 67 |.gnu.build-id..g| 302 | 00001930 6e 75 2e 68 61 73 68 00 2e 64 79 6e 73 79 6d 00 |nu.hash..dynsym.| 303 | 00001940 2e 64 79 6e 73 74 72 00 2e 67 6e 75 2e 76 65 72 |.dynstr..gnu.ver| 304 | 00001950 73 69 6f 6e 00 2e 67 6e 75 2e 76 65 72 73 69 6f |sion..gnu.versio| 305 | 00001960 6e 5f 72 00 2e 72 65 6c 61 2e 64 79 6e 00 2e 72 |n_r..rela.dyn..r| 306 | 00001970 65 6c 61 2e 70 6c 74 00 2e 69 6e 69 74 00 2e 70 |ela.plt..init..p| 307 | 00001980 6c 74 2e 67 6f 74 00 2e 74 65 78 74 00 2e 66 69 |lt.got..text..fi| 308 | 00001990 6e 69 00 2e 72 6f 64 61 74 61 00 2e 65 68 5f 66 |ni..rodata..eh_f| 309 | 000019a0 72 61 6d 65 5f 68 64 72 00 2e 65 68 5f 66 72 61 |rame_hdr..eh_fra| 310 | 000019b0 6d 65 00 2e 69 6e 69 74 5f 61 72 72 61 79 00 2e |me..init_array..| 311 | 000019c0 66 69 6e 69 5f 61 72 72 61 79 00 2e 6a 63 72 00 |fini_array..jcr.| 312 | 000019d0 2e 64 79 6e 61 6d 69 63 00 2e 67 6f 74 2e 70 6c |.dynamic..got.pl| 313 | 000019e0 74 00 2e 64 61 74 61 00 2e 62 73 73 00 2e 63 6f |t..data..bss..co| 314 | 000019f0 6d 6d 65 6e 74 00 00 00 00 00 00 00 00 00 00 00 |mment...........| 315 | 00001a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 316 | * 317 | 00001a30 00 00 00 00 00 00 00 00 1b 00 00 00 01 00 00 00 |................| 318 | 00001a40 02 00 00 00 00 00 00 00 38 02 40 00 00 00 00 00 |........8.@.....| 319 | 00001a50 38 02 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 |8...............| 320 | 00001a60 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 321 | 00001a70 00 00 00 00 00 00 00 00 23 00 00 00 07 00 00 00 |........#.......| 322 | 00001a80 02 00 00 00 00 00 00 00 54 02 40 00 00 00 00 00 |........T.@.....| 323 | 00001a90 54 02 00 00 00 00 00 00 20 00 00 00 00 00 00 00 |T....... .......| 324 | 00001aa0 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................| 325 | 00001ab0 00 00 00 00 00 00 00 00 31 00 00 00 07 00 00 00 |........1.......| 326 | 00001ac0 02 00 00 00 00 00 00 00 74 02 40 00 00 00 00 00 |........t.@.....| 327 | 00001ad0 74 02 00 00 00 00 00 00 24 00 00 00 00 00 00 00 |t.......$.......| 328 | 00001ae0 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................| 329 | 00001af0 00 00 00 00 00 00 00 00 44 00 00 00 f6 ff ff 6f |........D......o| 330 | 00001b00 02 00 00 00 00 00 00 00 98 02 40 00 00 00 00 00 |..........@.....| 331 | 00001b10 98 02 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 |................| 332 | 00001b20 05 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 333 | 00001b30 00 00 00 00 00 00 00 00 4e 00 00 00 0b 00 00 00 |........N.......| 334 | 00001b40 02 00 00 00 00 00 00 00 b8 02 40 00 00 00 00 00 |..........@.....| 335 | 00001b50 b8 02 00 00 00 00 00 00 60 00 00 00 00 00 00 00 |........`.......| 336 | 00001b60 06 00 00 00 01 00 00 00 08 00 00 00 00 00 00 00 |................| 337 | 00001b70 18 00 00 00 00 00 00 00 56 00 00 00 03 00 00 00 |........V.......| 338 | 00001b80 02 00 00 00 00 00 00 00 18 03 40 00 00 00 00 00 |..........@.....| 339 | 00001b90 18 03 00 00 00 00 00 00 3f 00 00 00 00 00 00 00 |........?.......| 340 | 00001ba0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 341 | 00001bb0 00 00 00 00 00 00 00 00 5e 00 00 00 ff ff ff 6f |........^......o| 342 | 00001bc0 02 00 00 00 00 00 00 00 58 03 40 00 00 00 00 00 |........X.@.....| 343 | 00001bd0 58 03 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |X...............| 344 | 00001be0 05 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 |................| 345 | 00001bf0 02 00 00 00 00 00 00 00 6b 00 00 00 fe ff ff 6f |........k......o| 346 | 00001c00 02 00 00 00 00 00 00 00 60 03 40 00 00 00 00 00 |........`.@.....| 347 | 00001c10 60 03 00 00 00 00 00 00 20 00 00 00 00 00 00 00 |`....... .......| 348 | 00001c20 06 00 00 00 01 00 00 00 08 00 00 00 00 00 00 00 |................| 349 | 00001c30 00 00 00 00 00 00 00 00 7a 00 00 00 04 00 00 00 |........z.......| 350 | 00001c40 02 00 00 00 00 00 00 00 80 03 40 00 00 00 00 00 |..........@.....| 351 | 00001c50 80 03 00 00 00 00 00 00 18 00 00 00 00 00 00 00 |................| 352 | 00001c60 05 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 353 | 00001c70 18 00 00 00 00 00 00 00 84 00 00 00 04 00 00 00 |................| 354 | 00001c80 42 00 00 00 00 00 00 00 98 03 40 00 00 00 00 00 |B.........@.....| 355 | 00001c90 98 03 00 00 00 00 00 00 30 00 00 00 00 00 00 00 |........0.......| 356 | 00001ca0 05 00 00 00 18 00 00 00 08 00 00 00 00 00 00 00 |................| 357 | 00001cb0 18 00 00 00 00 00 00 00 8e 00 00 00 01 00 00 00 |................| 358 | 00001cc0 06 00 00 00 00 00 00 00 c8 03 40 00 00 00 00 00 |..........@.....| 359 | 00001cd0 c8 03 00 00 00 00 00 00 1a 00 00 00 00 00 00 00 |................| 360 | 00001ce0 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................| 361 | 00001cf0 00 00 00 00 00 00 00 00 89 00 00 00 01 00 00 00 |................| 362 | 00001d00 06 00 00 00 00 00 00 00 f0 03 40 00 00 00 00 00 |..........@.....| 363 | 00001d10 f0 03 00 00 00 00 00 00 30 00 00 00 00 00 00 00 |........0.......| 364 | 00001d20 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................| 365 | 00001d30 10 00 00 00 00 00 00 00 94 00 00 00 01 00 00 00 |................| 366 | 00001d40 06 00 00 00 00 00 00 00 20 04 40 00 00 00 00 00 |........ .@.....| 367 | 00001d50 20 04 00 00 00 00 00 00 08 00 00 00 00 00 00 00 | ...............| 368 | 00001d60 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 369 | 00001d70 00 00 00 00 00 00 00 00 9d 00 00 00 01 00 00 00 |................| 370 | 00001d80 06 00 00 00 00 00 00 00 30 04 40 00 00 00 00 00 |........0.@.....| 371 | 00001d90 30 04 00 00 00 00 00 00 f2 01 00 00 00 00 00 00 |0...............| 372 | 00001da0 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |................| 373 | 00001db0 00 00 00 00 00 00 00 00 a3 00 00 00 01 00 00 00 |................| 374 | 00001dc0 06 00 00 00 00 00 00 00 24 06 40 00 00 00 00 00 |........$.@.....| 375 | 00001dd0 24 06 00 00 00 00 00 00 09 00 00 00 00 00 00 00 |$...............| 376 | 00001de0 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................| 377 | 00001df0 00 00 00 00 00 00 00 00 a9 00 00 00 01 00 00 00 |................| 378 | 00001e00 02 00 00 00 00 00 00 00 30 06 40 00 00 00 00 00 |........0.@.....| 379 | 00001e10 30 06 00 00 00 00 00 00 50 00 00 00 00 00 00 00 |0.......P.......| 380 | 00001e20 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 381 | 00001e30 00 00 00 00 00 00 00 00 b1 00 00 00 01 00 00 00 |................| 382 | 00001e40 02 00 00 00 00 00 00 00 80 06 40 00 00 00 00 00 |..........@.....| 383 | 00001e50 80 06 00 00 00 00 00 00 3c 00 00 00 00 00 00 00 |........<.......| 384 | 00001e60 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................| 385 | 00001e70 00 00 00 00 00 00 00 00 bf 00 00 00 01 00 00 00 |................| 386 | 00001e80 02 00 00 00 00 00 00 00 c0 06 40 00 00 00 00 00 |..........@.....| 387 | 00001e90 c0 06 00 00 00 00 00 00 14 01 00 00 00 00 00 00 |................| 388 | 00001ea0 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 389 | 00001eb0 00 00 00 00 00 00 00 00 c9 00 00 00 0e 00 00 00 |................| 390 | 00001ec0 03 00 00 00 00 00 00 00 10 0e 60 00 00 00 00 00 |..........`.....| 391 | 00001ed0 10 0e 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 392 | 00001ee0 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 393 | 00001ef0 00 00 00 00 00 00 00 00 d5 00 00 00 0f 00 00 00 |................| 394 | 00001f00 03 00 00 00 00 00 00 00 18 0e 60 00 00 00 00 00 |..........`.....| 395 | 00001f10 18 0e 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 396 | 00001f20 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 397 | 00001f30 00 00 00 00 00 00 00 00 e1 00 00 00 01 00 00 00 |................| 398 | 00001f40 03 00 00 00 00 00 00 00 20 0e 60 00 00 00 00 00 |........ .`.....| 399 | 00001f50 20 0e 00 00 00 00 00 00 08 00 00 00 00 00 00 00 | ...............| 400 | 00001f60 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 401 | 00001f70 00 00 00 00 00 00 00 00 e6 00 00 00 06 00 00 00 |................| 402 | 00001f80 03 00 00 00 00 00 00 00 28 0e 60 00 00 00 00 00 |........(.`.....| 403 | 00001f90 28 0e 00 00 00 00 00 00 d0 01 00 00 00 00 00 00 |(...............| 404 | 00001fa0 06 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 405 | 00001fb0 10 00 00 00 00 00 00 00 98 00 00 00 01 00 00 00 |................| 406 | 00001fc0 03 00 00 00 00 00 00 00 f8 0f 60 00 00 00 00 00 |..........`.....| 407 | 00001fd0 f8 0f 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 408 | 00001fe0 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 409 | 00001ff0 08 00 00 00 00 00 00 00 ef 00 00 00 01 00 00 00 |................| 410 | 00002000 03 00 00 00 00 00 00 00 00 10 60 00 00 00 00 00 |..........`.....| 411 | 00002010 00 10 00 00 00 00 00 00 28 00 00 00 00 00 00 00 |........(.......| 412 | 00002020 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 413 | 00002030 08 00 00 00 00 00 00 00 f8 00 00 00 01 00 00 00 |................| 414 | 00002040 03 00 00 00 00 00 00 00 28 10 60 00 00 00 00 00 |........(.`.....| 415 | 00002050 28 10 00 00 00 00 00 00 10 00 00 00 00 00 00 00 |(...............| 416 | 00002060 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |................| 417 | 00002070 00 00 00 00 00 00 00 00 fe 00 00 00 08 00 00 00 |................| 418 | 00002080 03 00 00 00 00 00 00 00 38 10 60 00 00 00 00 00 |........8.`.....| 419 | 00002090 38 10 00 00 00 00 00 00 08 00 00 00 00 00 00 00 |8...............| 420 | 000020a0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 421 | 000020b0 00 00 00 00 00 00 00 00 03 01 00 00 01 00 00 00 |................| 422 | 000020c0 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |0...............| 423 | 000020d0 38 10 00 00 00 00 00 00 34 00 00 00 00 00 00 00 |8.......4.......| 424 | 000020e0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 425 | 000020f0 01 00 00 00 00 00 00 00 11 00 00 00 03 00 00 00 |................| 426 | 00002100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 427 | 00002110 ea 18 00 00 00 00 00 00 0c 01 00 00 00 00 00 00 |................| 428 | 00002120 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 429 | 00002130 00 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 |................| 430 | 00002140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 431 | 00002150 70 10 00 00 00 00 00 00 60 06 00 00 00 00 00 00 |p.......`.......| 432 | 00002160 1e 00 00 00 2f 00 00 00 08 00 00 00 00 00 00 00 |..../...........| 433 | 00002170 18 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 |................| 434 | 00002180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 435 | 00002190 d0 16 00 00 00 00 00 00 1a 02 00 00 00 00 00 00 |................| 436 | 000021a0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 437 | * 438 | 000021b8 439 | -------------------------------------------------------------------------------- /sample/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/303248153/HelloElfLoader/7aac6ae5b3c8a4f3ee0323594b64964adc17d809/sample/a.out -------------------------------------------------------------------------------- /sample/a.readelf: -------------------------------------------------------------------------------- 1 | ELF 头: 2 | Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 3 | 类别: ELF64 4 | 数据: 2 补码,小端序 (little endian) 5 | 版本: 1 (current) 6 | OS/ABI: UNIX - System V 7 | ABI 版本: 0 8 | 类型: EXEC (可执行文件) 9 | 系统架构: Advanced Micro Devices X86-64 10 | 版本: 0x1 11 | 入口点地址: 0x400430 12 | 程序头起点: 64 (bytes into file) 13 | Start of section headers: 6648 (bytes into file) 14 | 标志: 0x0 15 | 本头的大小: 64 (字节) 16 | 程序头大小: 56 (字节) 17 | Number of program headers: 9 18 | 节头大小: 64 (字节) 19 | 节头数量: 31 20 | 字符串表索引节头: 28 21 | 22 | 节头: 23 | [号] 名称 类型 地址 偏移量 24 | 大小 全体大小 旗标 链接 信息 对齐 25 | [ 0] NULL 0000000000000000 00000000 26 | 0000000000000000 0000000000000000 0 0 0 27 | [ 1] .interp PROGBITS 0000000000400238 00000238 28 | 000000000000001c 0000000000000000 A 0 0 1 29 | [ 2] .note.ABI-tag NOTE 0000000000400254 00000254 30 | 0000000000000020 0000000000000000 A 0 0 4 31 | [ 3] .note.gnu.build-i NOTE 0000000000400274 00000274 32 | 0000000000000024 0000000000000000 A 0 0 4 33 | [ 4] .gnu.hash GNU_HASH 0000000000400298 00000298 34 | 000000000000001c 0000000000000000 A 5 0 8 35 | [ 5] .dynsym DYNSYM 00000000004002b8 000002b8 36 | 0000000000000060 0000000000000018 A 6 1 8 37 | [ 6] .dynstr STRTAB 0000000000400318 00000318 38 | 000000000000003f 0000000000000000 A 0 0 1 39 | [ 7] .gnu.version VERSYM 0000000000400358 00000358 40 | 0000000000000008 0000000000000002 A 5 0 2 41 | [ 8] .gnu.version_r VERNEED 0000000000400360 00000360 42 | 0000000000000020 0000000000000000 A 6 1 8 43 | [ 9] .rela.dyn RELA 0000000000400380 00000380 44 | 0000000000000018 0000000000000018 A 5 0 8 45 | [10] .rela.plt RELA 0000000000400398 00000398 46 | 0000000000000030 0000000000000018 AI 5 24 8 47 | [11] .init PROGBITS 00000000004003c8 000003c8 48 | 000000000000001a 0000000000000000 AX 0 0 4 49 | [12] .plt PROGBITS 00000000004003f0 000003f0 50 | 0000000000000030 0000000000000010 AX 0 0 16 51 | [13] .plt.got PROGBITS 0000000000400420 00000420 52 | 0000000000000008 0000000000000000 AX 0 0 8 53 | [14] .text PROGBITS 0000000000400430 00000430 54 | 00000000000001f2 0000000000000000 AX 0 0 16 55 | [15] .fini PROGBITS 0000000000400624 00000624 56 | 0000000000000009 0000000000000000 AX 0 0 4 57 | [16] .rodata PROGBITS 0000000000400630 00000630 58 | 0000000000000050 0000000000000000 A 0 0 8 59 | [17] .eh_frame_hdr PROGBITS 0000000000400680 00000680 60 | 000000000000003c 0000000000000000 A 0 0 4 61 | [18] .eh_frame PROGBITS 00000000004006c0 000006c0 62 | 0000000000000114 0000000000000000 A 0 0 8 63 | [19] .init_array INIT_ARRAY 0000000000600e10 00000e10 64 | 0000000000000008 0000000000000000 WA 0 0 8 65 | [20] .fini_array FINI_ARRAY 0000000000600e18 00000e18 66 | 0000000000000008 0000000000000000 WA 0 0 8 67 | [21] .jcr PROGBITS 0000000000600e20 00000e20 68 | 0000000000000008 0000000000000000 WA 0 0 8 69 | [22] .dynamic DYNAMIC 0000000000600e28 00000e28 70 | 00000000000001d0 0000000000000010 WA 6 0 8 71 | [23] .got PROGBITS 0000000000600ff8 00000ff8 72 | 0000000000000008 0000000000000008 WA 0 0 8 73 | [24] .got.plt PROGBITS 0000000000601000 00001000 74 | 0000000000000028 0000000000000008 WA 0 0 8 75 | [25] .data PROGBITS 0000000000601028 00001028 76 | 0000000000000010 0000000000000000 WA 0 0 8 77 | [26] .bss NOBITS 0000000000601038 00001038 78 | 0000000000000008 0000000000000000 WA 0 0 1 79 | [27] .comment PROGBITS 0000000000000000 00001038 80 | 0000000000000034 0000000000000001 MS 0 0 1 81 | [28] .shstrtab STRTAB 0000000000000000 000018ea 82 | 000000000000010c 0000000000000000 0 0 1 83 | [29] .symtab SYMTAB 0000000000000000 00001070 84 | 0000000000000660 0000000000000018 30 47 8 85 | [30] .strtab STRTAB 0000000000000000 000016d0 86 | 000000000000021a 0000000000000000 0 0 1 87 | Key to Flags: 88 | W (write), A (alloc), X (execute), M (merge), S (strings), l (large) 89 | I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown) 90 | O (extra OS processing required) o (OS specific), p (processor specific) 91 | 92 | There are no section groups in this file. 93 | 94 | 程序头: 95 | Type Offset VirtAddr PhysAddr 96 | FileSiz MemSiz Flags Align 97 | PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040 98 | 0x00000000000001f8 0x00000000000001f8 R E 8 99 | INTERP 0x0000000000000238 0x0000000000400238 0x0000000000400238 100 | 0x000000000000001c 0x000000000000001c R 1 101 | [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] 102 | LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000 103 | 0x00000000000007d4 0x00000000000007d4 R E 200000 104 | LOAD 0x0000000000000e10 0x0000000000600e10 0x0000000000600e10 105 | 0x0000000000000228 0x0000000000000230 RW 200000 106 | DYNAMIC 0x0000000000000e28 0x0000000000600e28 0x0000000000600e28 107 | 0x00000000000001d0 0x00000000000001d0 RW 8 108 | NOTE 0x0000000000000254 0x0000000000400254 0x0000000000400254 109 | 0x0000000000000044 0x0000000000000044 R 4 110 | GNU_EH_FRAME 0x0000000000000680 0x0000000000400680 0x0000000000400680 111 | 0x000000000000003c 0x000000000000003c R 4 112 | GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 113 | 0x0000000000000000 0x0000000000000000 RW 10 114 | GNU_RELRO 0x0000000000000e10 0x0000000000600e10 0x0000000000600e10 115 | 0x00000000000001f0 0x00000000000001f0 R 1 116 | 117 | Section to Segment mapping: 118 | 段节... 119 | 00 120 | 01 .interp 121 | 02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame 122 | 03 .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss 123 | 04 .dynamic 124 | 05 .note.ABI-tag .note.gnu.build-id 125 | 06 .eh_frame_hdr 126 | 07 127 | 08 .init_array .fini_array .jcr .dynamic .got 128 | 129 | Dynamic section at offset 0xe28 contains 24 entries: 130 | 标记 类型 名称/值 131 | 0x0000000000000001 (NEEDED) 共享库:[libc.so.6] 132 | 0x000000000000000c (INIT) 0x4003c8 133 | 0x000000000000000d (FINI) 0x400624 134 | 0x0000000000000019 (INIT_ARRAY) 0x600e10 135 | 0x000000000000001b (INIT_ARRAYSZ) 8 (bytes) 136 | 0x000000000000001a (FINI_ARRAY) 0x600e18 137 | 0x000000000000001c (FINI_ARRAYSZ) 8 (bytes) 138 | 0x000000006ffffef5 (GNU_HASH) 0x400298 139 | 0x0000000000000005 (STRTAB) 0x400318 140 | 0x0000000000000006 (SYMTAB) 0x4002b8 141 | 0x000000000000000a (STRSZ) 63 (bytes) 142 | 0x000000000000000b (SYMENT) 24 (bytes) 143 | 0x0000000000000015 (DEBUG) 0x0 144 | 0x0000000000000003 (PLTGOT) 0x601000 145 | 0x0000000000000002 (PLTRELSZ) 48 (bytes) 146 | 0x0000000000000014 (PLTREL) RELA 147 | 0x0000000000000017 (JMPREL) 0x400398 148 | 0x0000000000000007 (RELA) 0x400380 149 | 0x0000000000000008 (RELASZ) 24 (bytes) 150 | 0x0000000000000009 (RELAENT) 24 (bytes) 151 | 0x000000006ffffffe (VERNEED) 0x400360 152 | 0x000000006fffffff (VERNEEDNUM) 1 153 | 0x000000006ffffff0 (VERSYM) 0x400358 154 | 0x0000000000000000 (NULL) 0x0 155 | 156 | 重定位节 '.rela.dyn' 位于偏移量 0x380 含有 1 个条目: 157 | 偏移量 信息 类型 符号值 符号名称 + 加数 158 | 000000600ff8 000300000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 159 | 160 | 重定位节 '.rela.plt' 位于偏移量 0x398 含有 2 个条目: 161 | 偏移量 信息 类型 符号值 符号名称 + 加数 162 | 000000601018 000100000007 R_X86_64_JUMP_SLO 0000000000000000 printf@GLIBC_2.2.5 + 0 163 | 000000601020 000200000007 R_X86_64_JUMP_SLO 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 0 164 | 165 | The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported. 166 | 167 | Symbol table '.dynsym' contains 4 entries: 168 | Num: Value Size Type Bind Vis Ndx Name 169 | 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 170 | 1: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.2.5 (2) 171 | 2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.2.5 (2) 172 | 3: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 173 | 174 | Symbol table '.symtab' contains 68 entries: 175 | Num: Value Size Type Bind Vis Ndx Name 176 | 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 177 | 1: 0000000000400238 0 SECTION LOCAL DEFAULT 1 178 | 2: 0000000000400254 0 SECTION LOCAL DEFAULT 2 179 | 3: 0000000000400274 0 SECTION LOCAL DEFAULT 3 180 | 4: 0000000000400298 0 SECTION LOCAL DEFAULT 4 181 | 5: 00000000004002b8 0 SECTION LOCAL DEFAULT 5 182 | 6: 0000000000400318 0 SECTION LOCAL DEFAULT 6 183 | 7: 0000000000400358 0 SECTION LOCAL DEFAULT 7 184 | 8: 0000000000400360 0 SECTION LOCAL DEFAULT 8 185 | 9: 0000000000400380 0 SECTION LOCAL DEFAULT 9 186 | 10: 0000000000400398 0 SECTION LOCAL DEFAULT 10 187 | 11: 00000000004003c8 0 SECTION LOCAL DEFAULT 11 188 | 12: 00000000004003f0 0 SECTION LOCAL DEFAULT 12 189 | 13: 0000000000400420 0 SECTION LOCAL DEFAULT 13 190 | 14: 0000000000400430 0 SECTION LOCAL DEFAULT 14 191 | 15: 0000000000400624 0 SECTION LOCAL DEFAULT 15 192 | 16: 0000000000400630 0 SECTION LOCAL DEFAULT 16 193 | 17: 0000000000400680 0 SECTION LOCAL DEFAULT 17 194 | 18: 00000000004006c0 0 SECTION LOCAL DEFAULT 18 195 | 19: 0000000000600e10 0 SECTION LOCAL DEFAULT 19 196 | 20: 0000000000600e18 0 SECTION LOCAL DEFAULT 20 197 | 21: 0000000000600e20 0 SECTION LOCAL DEFAULT 21 198 | 22: 0000000000600e28 0 SECTION LOCAL DEFAULT 22 199 | 23: 0000000000600ff8 0 SECTION LOCAL DEFAULT 23 200 | 24: 0000000000601000 0 SECTION LOCAL DEFAULT 24 201 | 25: 0000000000601028 0 SECTION LOCAL DEFAULT 25 202 | 26: 0000000000601038 0 SECTION LOCAL DEFAULT 26 203 | 27: 0000000000000000 0 SECTION LOCAL DEFAULT 27 204 | 28: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 205 | 29: 0000000000600e20 0 OBJECT LOCAL DEFAULT 21 __JCR_LIST__ 206 | 30: 0000000000400460 0 FUNC LOCAL DEFAULT 14 deregister_tm_clones 207 | 31: 00000000004004a0 0 FUNC LOCAL DEFAULT 14 register_tm_clones 208 | 32: 00000000004004e0 0 FUNC LOCAL DEFAULT 14 __do_global_dtors_aux 209 | 33: 0000000000601038 1 OBJECT LOCAL DEFAULT 26 completed.7585 210 | 34: 0000000000600e18 0 OBJECT LOCAL DEFAULT 20 __do_global_dtors_aux_fin 211 | 35: 0000000000400500 0 FUNC LOCAL DEFAULT 14 frame_dummy 212 | 36: 0000000000600e10 0 OBJECT LOCAL DEFAULT 19 __frame_dummy_init_array_ 213 | 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS hello.c 214 | 38: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c 215 | 39: 00000000004007d0 0 OBJECT LOCAL DEFAULT 18 __FRAME_END__ 216 | 40: 0000000000600e20 0 OBJECT LOCAL DEFAULT 21 __JCR_END__ 217 | 41: 0000000000000000 0 FILE LOCAL DEFAULT ABS 218 | 42: 0000000000600e18 0 NOTYPE LOCAL DEFAULT 19 __init_array_end 219 | 43: 0000000000600e28 0 OBJECT LOCAL DEFAULT 22 _DYNAMIC 220 | 44: 0000000000600e10 0 NOTYPE LOCAL DEFAULT 19 __init_array_start 221 | 45: 0000000000400680 0 NOTYPE LOCAL DEFAULT 17 __GNU_EH_FRAME_HDR 222 | 46: 0000000000601000 0 OBJECT LOCAL DEFAULT 24 _GLOBAL_OFFSET_TABLE_ 223 | 47: 0000000000400620 2 FUNC GLOBAL DEFAULT 14 __libc_csu_fini 224 | 48: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTab 225 | 49: 0000000000601028 0 NOTYPE WEAK DEFAULT 25 data_start 226 | 50: 0000000000601038 0 NOTYPE GLOBAL DEFAULT 25 _edata 227 | 51: 0000000000400624 0 FUNC GLOBAL DEFAULT 15 _fini 228 | 52: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@@GLIBC_2.2.5 229 | 53: 0000000000400526 22 FUNC GLOBAL DEFAULT 14 max 230 | 54: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_ 231 | 55: 0000000000601028 0 NOTYPE GLOBAL DEFAULT 25 __data_start 232 | 56: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ 233 | 57: 0000000000601030 0 OBJECT GLOBAL HIDDEN 25 __dso_handle 234 | 58: 0000000000400630 4 OBJECT GLOBAL DEFAULT 16 _IO_stdin_used 235 | 59: 00000000004005b0 101 FUNC GLOBAL DEFAULT 14 __libc_csu_init 236 | 60: 0000000000601040 0 NOTYPE GLOBAL DEFAULT 26 _end 237 | 61: 0000000000400430 42 FUNC GLOBAL DEFAULT 14 _start 238 | 62: 0000000000601038 0 NOTYPE GLOBAL DEFAULT 26 __bss_start 239 | 63: 000000000040053c 109 FUNC GLOBAL DEFAULT 14 main 240 | 64: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses 241 | 65: 0000000000601038 0 OBJECT GLOBAL HIDDEN 25 __TMC_END__ 242 | 66: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable 243 | 67: 00000000004003c8 0 FUNC GLOBAL DEFAULT 11 _init 244 | 245 | Version symbols section '.gnu.version' contains 4 entries: 246 | 地址: 0000000000400358 Offset: 0x000358 Link: 5 (.dynsym) 247 | 000: 0 (*本地*) 2 (GLIBC_2.2.5) 2 (GLIBC_2.2.5) 0 (*本地*) 248 | 249 | Version needs section '.gnu.version_r' contains 1 entries: 250 | 地址:0x0000000000400360 Offset: 0x000360 Link: 6 (.dynstr) 251 | 000000: 版本: 1 文件:libc.so.6 计数:1 252 | 0x0010:名称:GLIBC_2.2.5 标志:无 版本:2 253 | 254 | Displaying notes found at file offset 0x00000254 with length 0x00000020: 255 | Owner Data size Description 256 | GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) 257 | OS: Linux, ABI: 2.6.32 258 | 259 | Displaying notes found at file offset 0x00000274 with length 0x00000024: 260 | Owner Data size Description 261 | GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) 262 | Build ID: debd3d7912be860a432b5c685a6cff7fd9418528 263 | -------------------------------------------------------------------------------- /sample/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int max(int x, int y) { 4 | return x > y ? x : y; 5 | } 6 | 7 | int main() { 8 | printf("max is %d\n", max(123, 321)); 9 | printf("test many arguments %d %d %d %s %s %s %s %s %s\n", 1, 2, 3, "a", "b", "c", "d", "e", "f"); 10 | return 100; 11 | } 12 | --------------------------------------------------------------------------------