├── .github ├── FUNDING.yml └── workflows │ └── ci-mac.yaml ├── .gitignore ├── .gitmodules ├── CODE_OF_CONDUCT.md ├── DCE-GUI ├── Classes │ ├── AboutWindowController.h │ ├── AboutWindowController.m │ ├── ApplicationDelegate.h │ ├── ApplicationDelegate.m │ ├── FileItem.h │ ├── FileItem.m │ ├── FileWindowController.h │ ├── FileWindowController.m │ ├── HexNumberFormatter.h │ ├── HexNumberFormatter.m │ ├── ImageItem.h │ ├── ImageItem.m │ ├── MainWindowController.h │ ├── MainWindowController.m │ ├── ObjectPair.h │ ├── ObjectPair.m │ ├── Preferences.h │ ├── Preferences.m │ ├── UnsignedNumberFormatter.h │ ├── UnsignedNumberFormatter.m │ ├── WhiteView.h │ └── WhiteView.m ├── Defaults.plist ├── Info.plist ├── Interface │ ├── Images │ │ ├── Bundle.png │ │ ├── Framework.png │ │ ├── Icon.icns │ │ └── Library.png │ └── en.lproj │ │ ├── AboutWindowController.xib │ │ ├── FileWindowController.xib │ │ ├── MainMenu.xib │ │ └── MainWindowController.xib └── main.m ├── DCE ├── include │ └── DCE │ │ ├── BinaryStream.hpp │ │ ├── CacheFile.hpp │ │ ├── ImageInfo.hpp │ │ ├── MachO │ │ ├── Commands │ │ │ ├── DyLibCommand.hpp │ │ │ ├── DyLinkerCommand.hpp │ │ │ ├── DySymTabCommand.hpp │ │ │ ├── DyldInfoCommand.hpp │ │ │ ├── EncryptionInfoCommand.hpp │ │ │ ├── EncryptionInfoCommand64.hpp │ │ │ ├── EntryPointCommand.hpp │ │ │ ├── FVMFileCommand.hpp │ │ │ ├── FVMLibCommand.hpp │ │ │ ├── IdentCommand.hpp │ │ │ ├── LinkEditDataCommand.hpp │ │ │ ├── LinkerOptionCommand.hpp │ │ │ ├── PrebindCKSumCommand.hpp │ │ │ ├── PreboundDyLibCommand.hpp │ │ │ ├── RPathCommand.hpp │ │ │ ├── RoutinesCommand.hpp │ │ │ ├── RoutinesCommand64.hpp │ │ │ ├── SegmentCommand.hpp │ │ │ ├── SegmentCommand64.hpp │ │ │ ├── SourceVersionCommand.hpp │ │ │ ├── SubClientCommand.hpp │ │ │ ├── SubFrameworkCommand.hpp │ │ │ ├── SubLibraryCommand.hpp │ │ │ ├── SubUmbrellaCommand.hpp │ │ │ ├── SymSegCommand.hpp │ │ │ ├── SymTabCommand.hpp │ │ │ ├── ThreadCommand.hpp │ │ │ ├── TwoLevelHintsCommand.hpp │ │ │ ├── UUIDCommand.hpp │ │ │ └── VersionMinCommand.hpp │ │ ├── File.hpp │ │ ├── Header.hpp │ │ └── LoadCommand.hpp │ │ ├── MappingInfo.hpp │ │ └── Objective-C │ │ ├── DCECacheFile.h │ │ ├── DCEImageInfo.h │ │ ├── DCEMachOFile.h │ │ └── DCEMappingInfo.h └── source │ ├── BinaryStream.cpp │ ├── CacheFile.cpp │ ├── ImageInfo.cpp │ ├── MachO │ ├── Commands │ │ ├── DyLibCommand.cpp │ │ ├── DyLinkerCommand.cpp │ │ ├── DySymTabCommand.cpp │ │ ├── DyldInfoCommand.cpp │ │ ├── EncryptionInfoCommand.cpp │ │ ├── EncryptionInfoCommand64.cpp │ │ ├── EntryPointCommand.cpp │ │ ├── FVMFileCommand.cpp │ │ ├── FVMLibCommand.cpp │ │ ├── IdentCommand.cpp │ │ ├── LinkEditDataCommand.cpp │ │ ├── LinkerOptionCommand.cpp │ │ ├── PrebindCKSumCommand.cpp │ │ ├── PreboundDyLibCommand.cpp │ │ ├── RPathCommand.cpp │ │ ├── RoutinesCommand.cpp │ │ ├── RoutinesCommand64.cpp │ │ ├── SegmentCommand.cpp │ │ ├── SegmentCommand64.cpp │ │ ├── SourceVersionCommand.cpp │ │ ├── SubClientCommand.cpp │ │ ├── SubFrameworkCommand.cpp │ │ ├── SubLibraryCommand.cpp │ │ ├── SubUmbrellaCommand.cpp │ │ ├── SymSegCommand.cpp │ │ ├── SymTabCommand.cpp │ │ ├── ThreadCommand.cpp │ │ ├── TwoLevelHintsCommand.cpp │ │ ├── UUIDCommand.cpp │ │ └── VersionMinCommand.cpp │ ├── File.cpp │ ├── Header.cpp │ └── LoadCommand.cpp │ ├── MappingInfo.cpp │ └── Objective-C │ ├── DCECacheFile.mm │ ├── DCEImageInfo.mm │ ├── DCEMachOFile.mm │ └── DCEMappingInfo.mm ├── LICENSE ├── README.md ├── Resources ├── FileWindow.png ├── Icon.psd └── MainWindow.png ├── dyld_cache_extract.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcshareddata │ └── xcschemes │ ├── DCE-GUI.xcscheme │ ├── DCE.xcscheme │ └── dyld_cache_extract.xcscheme └── dyld_cache_extract ├── Arguments.cpp ├── Arguments.hpp └── main.cpp /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: macmade 2 | -------------------------------------------------------------------------------- /.github/workflows/ci-mac.yaml: -------------------------------------------------------------------------------- 1 | name: ci-mac 2 | on: [push] 3 | jobs: 4 | ci: 5 | runs-on: macos-latest 6 | strategy: 7 | matrix: 8 | run-config: 9 | - { scheme: 'dyld_cache_extract', configuration: 'Debug', project: 'dyld_cache_extract.xcodeproj', build: 1, analyze: 1, test: 0, info: 1, destination: 'platform=macOS' } 10 | - { scheme: 'dyld_cache_extract', configuration: 'Release', project: 'dyld_cache_extract.xcodeproj', build: 1, analyze: 1, test: 0, info: 1, destination: 'platform=macOS' } 11 | - { scheme: 'DCE-GUI', configuration: 'Debug', project: 'dyld_cache_extract.xcodeproj', build: 1, analyze: 1, test: 0, info: 1, destination: 'platform=macOS' } 12 | - { scheme: 'DCE-GUI', configuration: 'Release', project: 'dyld_cache_extract.xcodeproj', build: 1, analyze: 1, test: 0, info: 1, destination: 'platform=macOS' } 13 | steps: 14 | 15 | - uses: actions/checkout@v1 16 | with: 17 | submodules: 'recursive' 18 | 19 | - uses: macmade/action-xcodebuild@v1.0.0 20 | 21 | - uses: macmade/action-slack@v1.0.0 22 | if: ${{ always() }} 23 | env: 24 | SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} 25 | with: 26 | channel: '#ci' 27 | status: ${{ job.status }} 28 | title: ${{ matrix.run-config[ 'scheme' ] }} - ${{ matrix.run-config[ 'configuration' ] }} 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Mac Finder 2 | .DS_Store 3 | .Trashes 4 | Icon? 5 | 6 | # Thumbnails 7 | ._* 8 | 9 | # Files that might appear on external disk 10 | .Spotlight-V100 11 | .Trashes 12 | 13 | # Windows 14 | Thumbs.db 15 | 16 | # Xcode 17 | *.pbxuser 18 | *.mode1v3 19 | *.mode2v3 20 | *.perspectivev3 21 | *.xccheckout 22 | *.profraw 23 | !default.pbxuser 24 | !default.mode1v3 25 | !default.mode2v3 26 | !default.perspectivev3 27 | xcuserdata 28 | 29 | # VisualStudio 30 | *.suo 31 | *.sdf 32 | *.opensdf 33 | *.vcxproj.user 34 | *.csproj.user 35 | *.VC.db 36 | *.VC.opendb 37 | ipch 38 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Submodules/PIMPL"] 2 | path = Submodules/PIMPL 3 | url = https://github.com/macmade/PIMPL.git 4 | [submodule "Submodules/GitHubUpdates"] 5 | path = Submodules/GitHubUpdates 6 | url = https://github.com/macmade/GitHubUpdates.git 7 | [submodule "Submodules/xcconfig"] 8 | path = Submodules/xcconfig 9 | url = https://github.com/macmade/xcconfig.git 10 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/AboutWindowController.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2015 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header AboutWindowController.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface AboutWindowController: NSWindowController 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/AboutWindowController.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2015 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file AboutWindowController.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "AboutWindowController.h" 31 | 32 | @interface AboutWindowController() 33 | 34 | @property( atomic, readwrite, strong ) NSString * name; 35 | @property( atomic, readwrite, strong ) NSString * version; 36 | @property( atomic, readwrite, strong ) NSString * copyright; 37 | 38 | @end 39 | 40 | @implementation AboutWindowController 41 | 42 | - ( instancetype )init 43 | { 44 | return [ self initWithWindowNibName: NSStringFromClass( self.class ) ]; 45 | } 46 | 47 | - ( void )windowDidLoad 48 | { 49 | self.window.titlebarAppearsTransparent = YES; 50 | self.window.titleVisibility = NSWindowTitleHidden; 51 | 52 | self.name = [ [ NSBundle mainBundle ] objectForInfoDictionaryKey: @"CFBundleName" ]; 53 | self.version = [ [ NSBundle mainBundle ] objectForInfoDictionaryKey: @"CFBundleShortVersionString" ]; 54 | self.copyright = [ [ NSBundle mainBundle ] objectForInfoDictionaryKey: @"NSHumanReadableCopyright" ]; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/ApplicationDelegate.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header ApplicationDelegate.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface ApplicationDelegate: NSObject < NSApplicationDelegate > 35 | 36 | - ( void )openURL: ( NSURL * )url; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/FileItem.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header FileItem.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface FileItem: NSObject 35 | 36 | @property( atomic, readwrite, strong ) NSString * title; 37 | @property( atomic, readwrite, strong ) NSString * subtitle; 38 | @property( atomic, readwrite, strong, nullable ) NSImage * icon; 39 | @property( atomic, readwrite, strong ) NSString * path; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/FileItem.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file FileItem.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "FileItem.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface FileItem() 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | @implementation FileItem 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/FileWindowController.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header FileWindowController.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface FileWindowController: NSWindowController 35 | 36 | - ( nullable instancetype )initWithURL: ( NSURL * )url; 37 | 38 | @end 39 | 40 | NS_ASSUME_NONNULL_END 41 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/HexNumberFormatter.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header HexNumberFormatter.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface HexNumberFormatter: NSNumberFormatter 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/HexNumberFormatter.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file HexNumberFormatter.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "HexNumberFormatter.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface HexNumberFormatter() 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | @implementation HexNumberFormatter 41 | 42 | - ( NSString * )stringFromNumber: ( NSNumber * )number 43 | { 44 | return [ NSString stringWithFormat: @"0x%llX", number.unsignedLongLongValue ]; 45 | } 46 | 47 | - ( nullable NSString * )stringForObjectValue: ( id )obj 48 | { 49 | if( [ obj isKindOfClass: [ NSNumber class ] ] ) 50 | { 51 | return [ self stringFromNumber: obj ]; 52 | } 53 | 54 | return [ super stringForObjectValue: obj ]; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/ImageItem.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header ImageItem.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | #include 33 | 34 | NS_ASSUME_NONNULL_BEGIN 35 | 36 | @interface ImageItem: NSObject 37 | 38 | @property( atomic, readonly, nullable ) NSString * title; 39 | @property( atomic, readonly, nullable ) NSString * subtitle; 40 | @property( atomic, readonly, nullable ) NSImage * icon; 41 | @property( atomic, readonly ) DCEImageInfo * info; 42 | 43 | - ( instancetype )initWithImageInfo: ( DCEImageInfo * )info; 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/ImageItem.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file ImageItem.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "ImageItem.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface ImageItem() 35 | 36 | @property( atomic, readwrite, strong, nullable ) NSString * title; 37 | @property( atomic, readwrite, strong, nullable ) NSString * subtitle; 38 | @property( atomic, readwrite, strong, nullable ) NSImage * icon; 39 | @property( atomic, readwrite, strong ) DCEImageInfo * info; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | 45 | @implementation ImageItem 46 | 47 | - ( instancetype )initWithImageInfo: ( DCEImageInfo * )info 48 | { 49 | if( ( self = [ self init ] ) ) 50 | { 51 | self.info = info; 52 | self.title = info.path.lastPathComponent; 53 | self.subtitle = [ info.path stringByDeletingLastPathComponent ]; 54 | 55 | if( [ info.path containsString: [ NSString stringWithFormat: @"/%@.framework", info.path.lastPathComponent ] ] ) 56 | { 57 | self.icon = [ NSImage imageNamed: @"Framework" ]; 58 | } 59 | else if( [ info.path containsString: [ NSString stringWithFormat: @"/%@.bundle", info.path.lastPathComponent ] ] ) 60 | { 61 | self.icon = [ NSImage imageNamed: @"Bundle" ]; 62 | } 63 | else if( [ info.path.pathExtension isEqualToString: @"dylib" ] ) 64 | { 65 | self.icon = [ NSImage imageNamed: @"Library" ]; 66 | } 67 | else 68 | { 69 | NSString * path = info.path; 70 | 71 | if( path != nil ) 72 | { 73 | self.icon = [ [ NSWorkspace sharedWorkspace ] iconForFile: path ]; 74 | } 75 | else 76 | { 77 | self.icon = [ NSImage imageNamed: @"Library" ]; 78 | } 79 | } 80 | } 81 | 82 | return self; 83 | } 84 | 85 | @end 86 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/MainWindowController.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header MainWindowController.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface MainWindowController: NSWindowController 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/ObjectPair.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header ObjectPair.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface ObjectPair: NSObject 35 | 36 | @property( atomic, readwrite, strong ) id first; 37 | @property( atomic, readwrite, strong ) id second; 38 | 39 | - ( instancetype )initWithFirst: ( id )first second: ( id )second; 40 | 41 | @end 42 | 43 | NS_ASSUME_NONNULL_END 44 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/ObjectPair.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file ObjectPair.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "ObjectPair.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface ObjectPair() 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | @implementation ObjectPair 41 | 42 | - ( instancetype )initWithFirst: ( id )first second: ( id )second 43 | { 44 | if( ( self = [ self init ] ) ) 45 | { 46 | self.first = first; 47 | self.second = second; 48 | } 49 | 50 | return self; 51 | } 52 | 53 | @end 54 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/Preferences.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header Preferences.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | FOUNDATION_EXPORT NSString * const PreferencesNotificationDefaultsChanged; 35 | FOUNDATION_EXPORT NSString * const PreferencesKeyRecentFiles; 36 | 37 | @interface Preferences: NSObject 38 | 39 | @property( atomic, readwrite, strong ) NSArray< NSString * > * recentFiles; 40 | 41 | + ( instancetype )sharedInstance; 42 | - ( void )addRecentFile: ( NSString * )path; 43 | 44 | @end 45 | 46 | NS_ASSUME_NONNULL_END 47 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/UnsignedNumberFormatter.h: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************************* 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | * THE SOFTWARE. 24 | ******************************************************************************/ 25 | 26 | /*! 27 | * @header UnsignedNumberFormatter.h 28 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 29 | */ 30 | 31 | @import Cocoa; 32 | 33 | NS_ASSUME_NONNULL_BEGIN 34 | 35 | @interface UnsignedNumberFormatter: NSNumberFormatter 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/UnsignedNumberFormatter.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file UnsignedNumberFormatter.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "UnsignedNumberFormatter.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface UnsignedNumberFormatter() 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | @implementation UnsignedNumberFormatter 41 | 42 | - ( NSString * )stringFromNumber: ( NSNumber * )number 43 | { 44 | return [ NSString stringWithFormat: @"%llu", number.unsignedLongLongValue ]; 45 | } 46 | 47 | - ( nullable NSString * )stringForObjectValue: ( id )obj 48 | { 49 | if( [ obj isKindOfClass: [ NSNumber class ] ] ) 50 | { 51 | return [ self stringFromNumber: obj ]; 52 | } 53 | 54 | return [ super stringForObjectValue: obj ]; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/WhiteView.h: -------------------------------------------------------------------------------- 1 | 2 | /******************************************************************************* 3 | * The MIT License (MIT) 4 | * 5 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy 8 | * of this software and associated documentation files (the "Software"), to deal 9 | * in the Software without restriction, including without limitation the rights 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | * copies of the Software, and to permit persons to whom the Software is 12 | * furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | * THE SOFTWARE. 24 | ******************************************************************************/ 25 | 26 | /*! 27 | * @header WhiteView.h 28 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 29 | */ 30 | 31 | @import Cocoa; 32 | 33 | NS_ASSUME_NONNULL_BEGIN 34 | 35 | @interface WhiteView: NSView 36 | 37 | @end 38 | 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /DCE-GUI/Classes/WhiteView.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file WhiteView.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import "WhiteView.h" 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface WhiteView() 35 | 36 | @end 37 | 38 | NS_ASSUME_NONNULL_END 39 | 40 | @implementation WhiteView 41 | 42 | - ( void )drawRect: ( NSRect )rect 43 | { 44 | [ [ NSColor whiteColor ] setFill ]; 45 | 46 | NSRectFill( rect ); 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /DCE-GUI/Defaults.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RecentFiles 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /DCE-GUI/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | Icon.icns 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 0.1.1 21 | CFBundleVersion 22 | 79 23 | LSApplicationCategoryType 24 | public.app-category.developer-tools 25 | LSMinimumSystemVersion 26 | $(MACOSX_DEPLOYMENT_TARGET) 27 | NSHumanReadableCopyright 28 | Copyright © 2016 XS-Labs. All rights reserved. 29 | NSMainNibFile 30 | MainMenu 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /DCE-GUI/Interface/Images/Bundle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/DCE-GUI/Interface/Images/Bundle.png -------------------------------------------------------------------------------- /DCE-GUI/Interface/Images/Framework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/DCE-GUI/Interface/Images/Framework.png -------------------------------------------------------------------------------- /DCE-GUI/Interface/Images/Icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/DCE-GUI/Interface/Images/Icon.icns -------------------------------------------------------------------------------- /DCE-GUI/Interface/Images/Library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/DCE-GUI/Interface/Images/Library.png -------------------------------------------------------------------------------- /DCE-GUI/main.m: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file main.m 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | @import Cocoa; 31 | 32 | int main( int argc, const char * argv[] ) 33 | { 34 | return NSApplicationMain( argc, argv ); 35 | } 36 | -------------------------------------------------------------------------------- /DCE/include/DCE/ImageInfo.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header ImageInfo.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_IMAGE_INFO_H 31 | #define DCE_IMAGE_INFO_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | namespace DCE 38 | { 39 | class ImageInfo: public XS::PIMPL::Object< ImageInfo > 40 | { 41 | public: 42 | 43 | using XS::PIMPL::Object< ImageInfo >::impl; 44 | 45 | ImageInfo( void ); 46 | 47 | uint64_t GetAddress( void ) const; 48 | uint64_t GetModificationTime( void ) const; 49 | uint64_t GetInode( void ) const; 50 | std::string GetPath( void ) const; 51 | std::string GetModificationDate( void ) const; 52 | 53 | void SetAddress( uint64_t value ); 54 | void SetModificationTime( uint64_t value ); 55 | void SetInode( uint64_t value ); 56 | void SetPath( const std::string & value ); 57 | }; 58 | } 59 | 60 | #endif /* DCE_IMAGE_INFO_H */ 61 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/DyLibCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DyLibCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_DYLIB_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_DYLIB_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class DyLibCommand: public LoadCommand, public XS::PIMPL::Object< DyLibCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< DyLibCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_DYLIB_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/DyLinkerCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DyLinkerCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_DYLINKER_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_DYLINKER_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class DyLinkerCommand: public LoadCommand, public XS::PIMPL::Object< DyLinkerCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< DyLinkerCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_DYLINKER_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/DySymTabCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DySymTabCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_DYSYMTAB_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_DYSYMTAB_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class DySymTabCommand: public LoadCommand, public XS::PIMPL::Object< DySymTabCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< DySymTabCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_DYSYMTAB_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/DyldInfoCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DyldInfoCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_DYLD_INFO_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_DYLD_INFO_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class DyldInfoCommand: public LoadCommand, public XS::PIMPL::Object< DyldInfoCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< DyldInfoCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_DYLD_INFO_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/EncryptionInfoCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header EncryptionInfoCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class EncryptionInfoCommand: public LoadCommand, public XS::PIMPL::Object< EncryptionInfoCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< EncryptionInfoCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/EncryptionInfoCommand64.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header EncryptionInfoCommand64.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_64_H 31 | #define DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_64_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class EncryptionInfoCommand64: public LoadCommand, public XS::PIMPL::Object< EncryptionInfoCommand64 > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< EncryptionInfoCommand64 >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_ENCRYPTION_INFO_COMMAND_64_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/EntryPointCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header EntryPointCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_ENTRY_POINT_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_ENTRY_POINT_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class EntryPointCommand: public LoadCommand, public XS::PIMPL::Object< EntryPointCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< EntryPointCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_ENTRY_POINT_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/FVMFileCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header FVMFileCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_FVM_FILE_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_FVM_FILE_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class FVMFileCommand: public LoadCommand, public XS::PIMPL::Object< FVMFileCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< FVMFileCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_FVM_FILE_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/FVMLibCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header FVMLibCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_FVM_LIB_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_FVM_LIB_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class FVMLibCommand: public LoadCommand, public XS::PIMPL::Object< FVMLibCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< FVMLibCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_FVM_LIB_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/IdentCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header IdentCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_IDENT_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_IDENT_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class IdentCommand: public LoadCommand, public XS::PIMPL::Object< IdentCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< IdentCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_IDENT_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/LinkEditDataCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header LinkEditDataCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_LINK_EDIT_DATA_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_LINK_EDIT_DATA_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class LinkEditDataCommand: public LoadCommand, public XS::PIMPL::Object< LinkEditDataCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< LinkEditDataCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_LINK_EDIT_DATA_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/LinkerOptionCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header LinkerOptionCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_LINKER_OPTION_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_LINKER_OPTION_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class LinkerOptionCommand: public LoadCommand, public XS::PIMPL::Object< LinkerOptionCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< LinkerOptionCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_LINKER_OPTION_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/PrebindCKSumCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header PrebindCKSumCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_PREBIND_CKSUM_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_PREBIND_CKSUM_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class PrebindCKSumCommand: public LoadCommand, public XS::PIMPL::Object< PrebindCKSumCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< PrebindCKSumCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_PREBIND_CKSUM_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/PreboundDyLibCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header PreboundDyLibCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_PREBOUND_DYLIB_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_PREBOUND_DYLIB_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class PreboundDyLibCommand: public LoadCommand, public XS::PIMPL::Object< PreboundDyLibCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< PreboundDyLibCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_PREBOUND_DYLIB_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/RPathCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header RPathCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_RPATH_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_RPATH_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class RPathCommand: public LoadCommand, public XS::PIMPL::Object< RPathCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< RPathCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_RPATH_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/RoutinesCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header RoutinesCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class RoutinesCommand: public LoadCommand, public XS::PIMPL::Object< RoutinesCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< RoutinesCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/RoutinesCommand64.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header RoutinesCommand64.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_64_H 31 | #define DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_64_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class RoutinesCommand64: public LoadCommand, public XS::PIMPL::Object< RoutinesCommand64 > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< RoutinesCommand64 >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_ROUTINES_COMMAND_64_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SegmentCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SegmentCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SegmentCommand: public LoadCommand, public XS::PIMPL::Object< SegmentCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SegmentCommand >::impl; 49 | 50 | bool Read( const Header & header, BinaryStream & stream ) override; 51 | 52 | uint32_t GetCommand( void ) const override; 53 | uint32_t GetCommandSize( void ) const override; 54 | 55 | std::string GetName( void ) const; 56 | uint32_t GetVMAddress( void ) const; 57 | uint32_t GetVMSize( void ) const; 58 | uint32_t GetFileOffset( void ) const; 59 | uint32_t GetFileSize( void ) const; 60 | uint32_t GetMaxProt( void ) const; 61 | uint32_t GetInitProt( void ) const; 62 | uint32_t GetSectionsCount( void ) const; 63 | uint32_t GetFlags( void ) const; 64 | }; 65 | } 66 | } 67 | } 68 | 69 | #endif /* DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_H */ 70 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SegmentCommand64.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SegmentCommand64.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_64_H 31 | #define DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_64_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SegmentCommand64: public LoadCommand, public XS::PIMPL::Object< SegmentCommand64 > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SegmentCommand64 >::impl; 49 | 50 | bool Read( const Header & header, BinaryStream & stream ) override; 51 | 52 | uint32_t GetCommand( void ) const override; 53 | uint32_t GetCommandSize( void ) const override; 54 | 55 | std::string GetName( void ) const; 56 | uint64_t GetVMAddress( void ) const; 57 | uint64_t GetVMSize( void ) const; 58 | uint64_t GetFileOffset( void ) const; 59 | uint64_t GetFileSize( void ) const; 60 | uint32_t GetMaxProt( void ) const; 61 | uint32_t GetInitProt( void ) const; 62 | uint32_t GetSectionsCount( void ) const; 63 | uint32_t GetFlags( void ) const; 64 | }; 65 | } 66 | } 67 | } 68 | 69 | #endif /* DCE_MACH_O_COMMANDS_SEGMENT_COMMAND_64_H */ 70 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SourceVersionCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SourceVersionCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SOURCE_VERSION_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SOURCE_VERSION_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SourceVersionCommand: public LoadCommand, public XS::PIMPL::Object< SourceVersionCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SourceVersionCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SOURCE_VERSION_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SubClientCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SubClientCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SUB_CLIENT_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SUB_CLIENT_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SubClientCommand: public LoadCommand, public XS::PIMPL::Object< SubClientCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SubClientCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SUB_CLIENT_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SubFrameworkCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SubFrameworkCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SUB_FRAMEWORK_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SUB_FRAMEWORK_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SubFrameworkCommand: public LoadCommand, public XS::PIMPL::Object< SubFrameworkCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SubFrameworkCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SUB_FRAMEWORK_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SubLibraryCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SubLibraryCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SUB_LIBRARY_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SUB_LIBRARY_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SubLibraryCommand: public LoadCommand, public XS::PIMPL::Object< SubLibraryCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SubLibraryCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SUB_LIBRARY_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SubUmbrellaCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SubUmbrellaCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SUB_UMBRELLA_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SUB_UMBRELLA_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SubUmbrellaCommand: public LoadCommand, public XS::PIMPL::Object< SubUmbrellaCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SubUmbrellaCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SUB_UMBRELLA_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SymSegCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SymSegCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SYM_SEG_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SYM_SEG_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SymSegCommand: public LoadCommand, public XS::PIMPL::Object< SymSegCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SymSegCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_SYM_SEG_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/SymTabCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header SymTabCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_SYM_TAB_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_SYM_TAB_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class SymTabCommand: public LoadCommand, public XS::PIMPL::Object< SymTabCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< SymTabCommand >::impl; 49 | 50 | bool Read( const Header & header, BinaryStream & stream ) override; 51 | 52 | uint32_t GetCommand( void ) const override; 53 | uint32_t GetCommandSize( void ) const override; 54 | uint32_t GetSymbolsOffset( void ) const; 55 | uint32_t GetSymbolsCount( void ) const; 56 | uint32_t GetStringsOffset( void ) const; 57 | uint32_t GetStringsSize( void ) const; 58 | }; 59 | } 60 | } 61 | } 62 | 63 | #endif /* DCE_MACH_O_COMMANDS_SYM_TAB_COMMAND_H */ 64 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/ThreadCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header ThreadCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_THREAD_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_THREAD_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class ThreadCommand: public LoadCommand, public XS::PIMPL::Object< ThreadCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< ThreadCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_THREAD_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/TwoLevelHintsCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header TwoLevelHintsCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_TWO_LEVEL_HINTS_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_TWO_LEVEL_HINTS_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class TwoLevelHintsCommand: public LoadCommand, public XS::PIMPL::Object< TwoLevelHintsCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< TwoLevelHintsCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_TWO_LEVEL_HINTS_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/UUIDCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header UUIDCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_UUID_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_UUID_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class UUIDCommand: public LoadCommand, public XS::PIMPL::Object< UUIDCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< UUIDCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_UUID_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Commands/VersionMinCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header VersionMinCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_COMMANDS_VERSION_MIN_COMMAND_H 31 | #define DCE_MACH_O_COMMANDS_VERSION_MIN_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | namespace DCE 39 | { 40 | namespace MachO 41 | { 42 | namespace Commands 43 | { 44 | class VersionMinCommand: public LoadCommand, public XS::PIMPL::Object< VersionMinCommand > 45 | { 46 | public: 47 | 48 | using XS::PIMPL::Object< VersionMinCommand >::impl; 49 | }; 50 | } 51 | } 52 | } 53 | 54 | #endif /* DCE_MACH_O_COMMANDS_VERSION_MIN_COMMAND_H */ 55 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/File.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header File.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_FILE_H 31 | #define DCE_MACH_O_FILE_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | namespace DCE 42 | { 43 | class BinaryStream; 44 | 45 | namespace MachO 46 | { 47 | class File: public XS::PIMPL::Object< File > 48 | { 49 | public: 50 | 51 | using XS::PIMPL::Object< File >::impl; 52 | 53 | bool Read( BinaryStream & stream ); 54 | 55 | Header GetHeader( void ) const; 56 | std::vector< std::shared_ptr< LoadCommand > > GetLoadCommands( void ) const; 57 | }; 58 | } 59 | } 60 | 61 | #endif /* DCE_MACH_O_FILE_H */ 62 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/Header.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header Header.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_HEADER_H 31 | #define DCE_MACH_O_HEADER_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | namespace DCE 38 | { 39 | class BinaryStream; 40 | 41 | namespace MachO 42 | { 43 | class Header: public XS::PIMPL::Object< Header > 44 | { 45 | public: 46 | 47 | using XS::PIMPL::Object< Header >::impl; 48 | 49 | bool Read( BinaryStream & stream ); 50 | 51 | bool Is32Bits( void ) const; 52 | bool Is64Bits( void ) const; 53 | 54 | uint32_t GetMagic( void ) const; 55 | uint32_t GetCPUType( void ) const; 56 | uint32_t GetCPUSubType( void ) const; 57 | uint32_t GetFileType( void ) const; 58 | uint32_t GetCommandsCount( void ) const; 59 | uint32_t GetCommandsSize( void ) const; 60 | uint32_t GetFlags( void ) const; 61 | }; 62 | } 63 | } 64 | 65 | #endif /* DCE_MACH_O_HEADER_H */ 66 | -------------------------------------------------------------------------------- /DCE/include/DCE/MachO/LoadCommand.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header LoadCommand.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MACH_O_LOAD_COMMAND_H 31 | #define DCE_MACH_O_LOAD_COMMAND_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | namespace DCE 38 | { 39 | class BinaryStream; 40 | 41 | namespace MachO 42 | { 43 | class Header; 44 | 45 | class LoadCommand: public XS::PIMPL::Object< LoadCommand > 46 | { 47 | public: 48 | 49 | using XS::PIMPL::Object< LoadCommand >::impl; 50 | 51 | static std::shared_ptr< LoadCommand > FromStream( const Header & header, BinaryStream & stream ); 52 | 53 | virtual bool Read( const Header & header, BinaryStream & stream ); 54 | 55 | virtual uint32_t GetCommand( void ) const; 56 | virtual uint32_t GetCommandSize( void ) const; 57 | }; 58 | } 59 | } 60 | 61 | #endif /* DCE_MACH_O_LOAD_COMMAND_H */ 62 | -------------------------------------------------------------------------------- /DCE/include/DCE/MappingInfo.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header MappingInfo.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef DCE_MAPPING_INFO_H 31 | #define DCE_MAPPING_INFO_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | namespace DCE 38 | { 39 | class MappingInfo: public XS::PIMPL::Object< MappingInfo > 40 | { 41 | public: 42 | 43 | using XS::PIMPL::Object< MappingInfo >::impl; 44 | 45 | MappingInfo( void ); 46 | 47 | uint64_t GetAddress( void ) const; 48 | uint64_t GetSize( void ) const; 49 | uint64_t GetFileOffset( void ) const; 50 | uint32_t GetMaxProt( void ) const; 51 | uint32_t GetInitProt( void ) const; 52 | 53 | void SetAddress( uint64_t value ); 54 | void SetSize( uint64_t value ); 55 | void SetFileOffset( uint64_t value ); 56 | void SetMaxProt( uint32_t value ); 57 | void SetInitProt( uint32_t value ); 58 | }; 59 | } 60 | 61 | #endif /* DCE_MAPPING_INFO_H */ 62 | -------------------------------------------------------------------------------- /DCE/include/DCE/Objective-C/DCEImageInfo.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DCEImageInfo.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifdef __cplusplus 31 | #import 32 | #import 33 | #else 34 | @import Foundation; 35 | #endif 36 | 37 | NS_ASSUME_NONNULL_BEGIN 38 | 39 | @interface DCEImageInfo: NSObject 40 | 41 | @property( atomic, readonly ) uint64_t address; 42 | @property( atomic, readonly ) uint64_t modificationTime; 43 | @property( atomic, readonly ) uint64_t inode; 44 | @property( atomic, readonly, nullable ) NSString * path; 45 | @property( atomic, readonly ) NSDate * modificationDate; 46 | 47 | #ifdef __cplusplus 48 | - ( instancetype )initWithCPPObject: ( const DCE::ImageInfo & )o; 49 | #endif 50 | 51 | @end 52 | 53 | NS_ASSUME_NONNULL_END 54 | -------------------------------------------------------------------------------- /DCE/include/DCE/Objective-C/DCEMachOFile.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DCEMachOFile.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifdef __cplusplus 31 | #import 32 | #import 33 | #else 34 | @import Foundation; 35 | #endif 36 | 37 | NS_ASSUME_NONNULL_BEGIN 38 | 39 | @interface DCEMachOFile: NSObject 40 | 41 | #ifdef __cplusplus 42 | - ( instancetype )initWithCPPObject: ( const DCE::MachO::File & )o; 43 | #endif 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /DCE/include/DCE/Objective-C/DCEMappingInfo.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header DCEMappingInfo.h 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifdef __cplusplus 31 | #import 32 | #import 33 | #else 34 | @import Foundation; 35 | #endif 36 | 37 | NS_ASSUME_NONNULL_BEGIN 38 | 39 | @interface DCEMappingInfo: NSObject 40 | 41 | #ifdef __cplusplus 42 | - ( instancetype )initWithCPPObject: ( const DCE::MappingInfo & )o; 43 | #endif 44 | 45 | @end 46 | 47 | NS_ASSUME_NONNULL_END 48 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/DyLibCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DyLibCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::DyLibCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::DyLibCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::DyLibCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::DyLibCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::DyLibCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/DyLinkerCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DyLinkerCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::DyLinkerCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::DyLinkerCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::DyLinkerCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::DyLinkerCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::DyLinkerCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/DySymTabCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DySymTabCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::DySymTabCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::DySymTabCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::DySymTabCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::DySymTabCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::DySymTabCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/DyldInfoCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DyldInfoCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::DyldInfoCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::DyldInfoCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::DyldInfoCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::DyldInfoCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::DyldInfoCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/EncryptionInfoCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file EncryptionInfoCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::EncryptionInfoCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/EncryptionInfoCommand64.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file EncryptionInfoCommand64.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand64 >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::EncryptionInfoCommand64 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand64 >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand64 >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::EncryptionInfoCommand64 >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/EntryPointCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file EntryPointCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::EntryPointCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::EntryPointCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::EntryPointCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::EntryPointCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::EntryPointCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/FVMFileCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file FVMFileCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::FVMFileCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::FVMFileCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::FVMFileCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::FVMFileCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::FVMFileCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/FVMLibCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file FVMLibCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::FVMLibCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::FVMLibCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::FVMLibCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::FVMLibCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::FVMLibCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/IdentCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file IdentCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::IdentCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::IdentCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::IdentCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::IdentCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::IdentCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/LinkEditDataCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file LinkEditDataCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::LinkEditDataCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::LinkEditDataCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::LinkEditDataCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::LinkEditDataCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::LinkEditDataCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/LinkerOptionCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file LinkerOptionCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::LinkerOptionCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::LinkerOptionCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::LinkerOptionCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::LinkerOptionCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::LinkerOptionCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/PrebindCKSumCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file PrebindCKSumCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::PrebindCKSumCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::PrebindCKSumCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::PrebindCKSumCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::PrebindCKSumCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::PrebindCKSumCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/PreboundDyLibCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file PreboundDyLibCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::PreboundDyLibCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::PreboundDyLibCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::PreboundDyLibCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::PreboundDyLibCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::PreboundDyLibCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/RPathCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file RPathCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::RPathCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::RPathCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::RPathCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::RPathCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::RPathCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/RoutinesCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file RoutinesCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::RoutinesCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/RoutinesCommand64.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file RoutinesCommand64.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand64 >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::RoutinesCommand64 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand64 >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand64 >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::RoutinesCommand64 >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SourceVersionCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SourceVersionCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SourceVersionCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SourceVersionCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SourceVersionCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SourceVersionCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SourceVersionCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SubClientCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SubClientCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SubClientCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SubClientCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SubClientCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SubClientCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SubClientCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SubFrameworkCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SubFrameworkCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SubFrameworkCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SubFrameworkCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SubFrameworkCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SubFrameworkCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SubFrameworkCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SubLibraryCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SubLibraryCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SubLibraryCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SubLibraryCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SubLibraryCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SubLibraryCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SubLibraryCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SubUmbrellaCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SubUmbrellaCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SubUmbrellaCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SubUmbrellaCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SubUmbrellaCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SubUmbrellaCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SubUmbrellaCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/SymSegCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file SymSegCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::SymSegCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::SymSegCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::SymSegCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::SymSegCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::SymSegCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/ThreadCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file ThreadCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::ThreadCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::ThreadCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::ThreadCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::ThreadCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::ThreadCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/TwoLevelHintsCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file TwoLevelHintsCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::TwoLevelHintsCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::TwoLevelHintsCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::TwoLevelHintsCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::TwoLevelHintsCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::TwoLevelHintsCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/UUIDCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file UUIDCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::UUIDCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::UUIDCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::UUIDCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::UUIDCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::UUIDCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/MachO/Commands/VersionMinCommand.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file VersionMinCommand.cpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | #ifdef __clang__ 35 | #pragma clang diagnostic push 36 | #pragma clang diagnostic ignored "-Wpadded" 37 | #endif 38 | 39 | template<> 40 | class XS::PIMPL::Object< DCE::MachO::Commands::VersionMinCommand >::IMPL 41 | { 42 | public: 43 | 44 | IMPL( void ); 45 | IMPL( const IMPL & o ); 46 | ~IMPL( void ); 47 | }; 48 | 49 | #ifdef __clang__ 50 | #pragma clang diagnostic pop 51 | #endif 52 | 53 | #define XS_PIMPL_CLASS DCE::MachO::Commands::VersionMinCommand 54 | #include 55 | 56 | namespace DCE 57 | { 58 | namespace MachO 59 | {} 60 | } 61 | 62 | XS::PIMPL::Object< DCE::MachO::Commands::VersionMinCommand >::IMPL::IMPL( void ) 63 | {} 64 | 65 | XS::PIMPL::Object< DCE::MachO::Commands::VersionMinCommand >::IMPL::IMPL( const IMPL & o ) 66 | { 67 | ( void )o; 68 | } 69 | 70 | XS::PIMPL::Object< DCE::MachO::Commands::VersionMinCommand >::IMPL::~IMPL( void ) 71 | {} 72 | -------------------------------------------------------------------------------- /DCE/source/Objective-C/DCEImageInfo.mm: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DCEImageInfo.mm 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface DCEImageInfo() 35 | { 36 | DCE::ImageInfo _info; 37 | } 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | 43 | @implementation DCEImageInfo 44 | 45 | - ( instancetype )initWithCPPObject: ( const DCE::ImageInfo & )o 46 | { 47 | if( ( self = [ self init ] ) ) 48 | { 49 | _info = o; 50 | } 51 | 52 | return self; 53 | } 54 | 55 | - ( uint64_t )address 56 | { 57 | @synchronized( self ) 58 | { 59 | return _info.GetAddress(); 60 | } 61 | } 62 | 63 | - ( uint64_t )modificationTime 64 | { 65 | @synchronized( self ) 66 | { 67 | return _info.GetModificationTime(); 68 | } 69 | } 70 | 71 | - ( uint64_t )inode 72 | { 73 | @synchronized( self ) 74 | { 75 | return _info.GetInode(); 76 | } 77 | } 78 | 79 | - ( NSString * )path 80 | { 81 | @synchronized( self ) 82 | { 83 | return [ NSString stringWithUTF8String: _info.GetPath().c_str() ]; 84 | } 85 | } 86 | 87 | - ( NSDate * )modificationDate 88 | { 89 | @synchronized( self ) 90 | { 91 | return [ NSDate dateWithTimeIntervalSince1970: self.modificationTime ]; 92 | } 93 | } 94 | 95 | @end 96 | -------------------------------------------------------------------------------- /DCE/source/Objective-C/DCEMachOFile.mm: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DCEMachOFile.mm 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface DCEMachOFile() 35 | { 36 | DCE::MachO::File _file; 37 | } 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | 43 | @implementation DCEMachOFile 44 | 45 | - ( instancetype )initWithCPPObject: ( const DCE::MachO::File & )o 46 | { 47 | if( ( self = [ self init ] ) ) 48 | { 49 | _file = o; 50 | } 51 | 52 | return self; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /DCE/source/Objective-C/DCEMappingInfo.mm: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @file DCEMappingInfo.mm 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #import 31 | 32 | NS_ASSUME_NONNULL_BEGIN 33 | 34 | @interface DCEMappingInfo() 35 | { 36 | DCE::MappingInfo _info; 37 | } 38 | 39 | @end 40 | 41 | NS_ASSUME_NONNULL_END 42 | 43 | @implementation DCEMappingInfo 44 | 45 | - ( instancetype )initWithCPPObject: ( const DCE::MappingInfo & )o 46 | { 47 | if( ( self = [ self init ] ) ) 48 | { 49 | _info = o; 50 | } 51 | 52 | return self; 53 | } 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Jean-David Gadina - www.xs-labs.com 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | dyld_cache_extract 2 | ================== 3 | 4 | [![Build Status](https://img.shields.io/github/actions/workflow/status/macmade/dyld_cache_extract/ci-mac.yaml?label=macOS&logo=apple)](https://github.com/macmade/dyld_cache_extract/actions/workflows/ci-mac.yaml) 5 | [![Issues](http://img.shields.io/github/issues/macmade/dyld_cache_extract.svg?logo=github)](https://github.com/macmade/dyld_cache_extract/issues) 6 | ![Status](https://img.shields.io/badge/status-obsolete-red.svg?logo=git) 7 | ![License](https://img.shields.io/badge/license-mit-brightgreen.svg?logo=open-source-initiative) 8 | [![Contact](https://img.shields.io/badge/follow-@macmade-blue.svg?logo=twitter&style=social)](https://twitter.com/macmade) 9 | [![Sponsor](https://img.shields.io/badge/sponsor-macmade-pink.svg?logo=github-sponsors&style=social)](https://github.com/sponsors/macmade) 10 | 11 | ### Notice 12 | 13 | This project is now obsolete. 14 | Please take a look at the [dyld-cache-dump](https://github.com/macmade/dyld-cache-dump) project. 15 | 16 | ### About 17 | 18 | A macOS utility to extract dynamic libraries from the `dyld_shared_cache` of macOS and iOS. 19 | 20 | The project is available as a **macOS application (with GUI)** and as a **command line tool**. 21 | 22 | ![Main Window](Resources/MainWindow.png "Main Window") 23 | ![File Window](Resources/FileWindow.png "File Window") 24 | 25 | ### Command line usage 26 | 27 | dyld_cache_extract - Extractor utility for DYLD shared cache 28 | 29 | Available options: 30 | 31 | --help Shows this help dialog. 32 | --info [PATH] Displays informations about a dyld_shared_cache file. 33 | --extract-all [PATH] [OUT_DIR] Extracts all libraries from a dyld_shared_cache file. 34 | --extract [LIB] [PATH] [OUT_DIR] Extracts a specific library from a dyld_shared_cache file. 35 | 36 | License 37 | ------- 38 | 39 | Project is released under the terms of the MIT License. 40 | 41 | Repository Infos 42 | ---------------- 43 | 44 | Owner: Jean-David Gadina - XS-Labs 45 | Web: www.xs-labs.com 46 | Blog: www.noxeos.com 47 | Twitter: @macmade 48 | GitHub: github.com/macmade 49 | LinkedIn: ch.linkedin.com/in/macmade/ 50 | StackOverflow: stackoverflow.com/users/182676/macmade 51 | -------------------------------------------------------------------------------- /Resources/FileWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/Resources/FileWindow.png -------------------------------------------------------------------------------- /Resources/Icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/Resources/Icon.psd -------------------------------------------------------------------------------- /Resources/MainWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/macmade/dyld_cache_extract/b29fbb9266c3c3b072c37c18bef3251105cd40b6/Resources/MainWindow.png -------------------------------------------------------------------------------- /dyld_cache_extract.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dyld_cache_extract.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /dyld_cache_extract.xcodeproj/xcshareddata/xcschemes/DCE.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 50 | 51 | 52 | 53 | 59 | 60 | 66 | 67 | 68 | 69 | 71 | 72 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /dyld_cache_extract/Arguments.hpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016 Jean-David Gadina - www-xs-labs.com 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | ******************************************************************************/ 24 | 25 | /*! 26 | * @header Arguments.hpp 27 | * @copyright (c) 2016, Jean-David Gadina - www.xs-labs.com 28 | */ 29 | 30 | #ifndef ARGUMENTS_H 31 | #define ARGUMENTS_H 32 | 33 | #include 34 | #include 35 | 36 | class Arguments: public XS::PIMPL::Object< Arguments > 37 | { 38 | public: 39 | 40 | using XS::PIMPL::Object< Arguments >::impl; 41 | 42 | Arguments( void ); 43 | Arguments( int argc, const char ** argv ); 44 | 45 | bool ShowUsage( void ) const; 46 | bool PrintInfo( void ) const; 47 | bool Extract( void ) const; 48 | std::string GetCacheFile( void ) const; 49 | std::string GetOutputDirectory( void ) const; 50 | std::string GetLibraryName( void ) const; 51 | }; 52 | 53 | #endif /* ARGUMENTS_H */ 54 | --------------------------------------------------------------------------------