{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":58722558,"defaultBranch":"master","name":"goblin","ownerLogin":"m4b","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-05-13T09:18:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1920204?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714243398.0","currentOid":""},"activityList":{"items":[{"before":"6c5b3e89534ec62caa033459b1cdb897c0cdede6","after":"f025d4995d83c17e5df9d50d2567fe0a06926d83","ref":"refs/heads/master","pushedAt":"2024-04-27T18:43:36.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: remove te from keywords can not publish with > 5 keywords per crate","shortMessageHtmlLink":"build: remove te from keywords can not publish with > 5 keywords per …"}},{"before":null,"after":"d2b962b257b9dc22f10739ce8a0a67684d157fb7","ref":"refs/heads/v0_8_1","pushedAt":"2024-04-27T18:43:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: remove te from keywords can not publish with > 5 keywords per crate","shortMessageHtmlLink":"build: remove te from keywords can not publish with > 5 keywords per …"}},{"before":"eda1be7150d308627b860b809868b1b7e7184f03","after":"6c5b3e89534ec62caa033459b1cdb897c0cdede6","ref":"refs/heads/master","pushedAt":"2024-04-27T18:11:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"PE: parse thread local storage - TLS data (#404)\n\n* PE: parse thread local storage - TLS data\r\n* Breaking change","shortMessageHtmlLink":"PE: parse thread local storage - TLS data (#404)"}},{"before":"47ee850af2beaf81ed5d99b5546de75db8e33b75","after":"eda1be7150d308627b860b809868b1b7e7184f03","ref":"refs/heads/master","pushedAt":"2024-04-21T04:01:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: read reserved DOS header fields (#405)","shortMessageHtmlLink":"pe: read reserved DOS header fields (#405)"}},{"before":"661180f64d579bfbfce46e398e88926a4376ed40","after":"47ee850af2beaf81ed5d99b5546de75db8e33b75","ref":"refs/heads/master","pushedAt":"2024-04-01T00:45:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: add Terse Executable (TE) support (#397)\n\nAdd terse executable (TE) support to the PE module. A terse executable\r\nis a PE32/PE32+ binary with a reduced header size containing only the\r\nfields necessary for the binary to be properly executed by a PI\r\narchitecture compliant loader and executor. Terse executables are most\r\ncommonly used by UEFI compliant firmware to reduce the overall size of\r\nthe binary.\r\n\r\nOnly the header is replaced, and no other data is changed in a terse\r\nexecutable, resulting in all address values being invalid. The TE parser\r\nmust take appropriate action to fix up addresses during parsing by\r\nadjusting the existing value by the difference between the\r\n`stripped_size` and the new size of the header.","shortMessageHtmlLink":"pe: add Terse Executable (TE) support (#397)"}},{"before":"40d5816d4a09321d9a0f83ae53f1685bf77b4e84","after":"661180f64d579bfbfce46e398e88926a4376ed40","ref":"refs/heads/master","pushedAt":"2024-04-01T00:41:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"mach: support for lossy Macho parsing (#386)","shortMessageHtmlLink":"mach: support for lossy Macho parsing (#386)"}},{"before":"ff2208954608fc163f54ad0abcf3aafe02fdcdb5","after":"40d5816d4a09321d9a0f83ae53f1685bf77b4e84","ref":"refs/heads/master","pushedAt":"2024-04-01T00:39:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"doc: fix a typo in elf/section_header (#402)","shortMessageHtmlLink":"doc: fix a typo in elf/section_header (#402)"}},{"before":"0aacaa74c0c453fbb476528ff595f914e866cee4","after":"ff2208954608fc163f54ad0abcf3aafe02fdcdb5","ref":"refs/heads/master","pushedAt":"2024-03-18T03:17:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: add lots of documentation\n\n* Documented the DOS header\r\n* Partially documented COFF header and added more machine constants\r\n* Started documenting optional header\r\n* Documented standard fields\r\n* Nearly fully documented the PE optional header","shortMessageHtmlLink":"pe: add lots of documentation"}},{"before":"d73a80ac1cfdb97a04cd068265c4ebe55bc29ac4","after":"0aacaa74c0c453fbb476528ff595f914e866cee4","ref":"refs/heads/master","pushedAt":"2024-03-18T02:55:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"doc: fix doc warnings","shortMessageHtmlLink":"doc: fix doc warnings"}},{"before":"1335dad71ce5bf556c8971bb13f0522d900cb269","after":"d73a80ac1cfdb97a04cd068265c4ebe55bc29ac4","ref":"refs/heads/master","pushedAt":"2024-03-10T18:49:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"elf: allow parsing SectionHeader from raw bytes\n\n* elf: Allow parsing SectionHeader from raw bytes\r\n* elf: Add test coverage for SectionHeader::parse_impl","shortMessageHtmlLink":"elf: allow parsing SectionHeader from raw bytes"}},{"before":"30c0c33f072e416352c792d50081272f4b70af6d","after":"1335dad71ce5bf556c8971bb13f0522d900cb269","ref":"refs/heads/master","pushedAt":"2024-03-10T07:25:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: document the pe::header::DosHeader\n\n* Documented the DOS header","shortMessageHtmlLink":"pe: document the pe::header::DosHeader"}},{"before":"5b67d29bee4fa31766cdb9ec04062503b836701e","after":"30c0c33f072e416352c792d50081272f4b70af6d","ref":"refs/heads/master","pushedAt":"2024-02-04T23:47:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"elf: add convenience functions for symbol write (#387)","shortMessageHtmlLink":"elf: add convenience functions for symbol write (#387)"}},{"before":"1b304731734316f34aa50e0a177a0bc4644aac1f","after":"5b67d29bee4fa31766cdb9ec04062503b836701e","ref":"refs/heads/master","pushedAt":"2024-01-22T02:47:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"docs: update readme","shortMessageHtmlLink":"docs: update readme"}},{"before":"4889ed3054a771101718097feace15c83920ecdb","after":"1b304731734316f34aa50e0a177a0bc4644aac1f","ref":"refs/heads/master","pushedAt":"2024-01-01T01:20:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: release 0.8.0, MSRV=1.63, update changelog, add 3 new contributors\n\n* Bump version to 0.8.0\n* Bump MSRV to 1.63 (to match scroll)\n* Bump scroll to 0.12\n* Update changelog\n* Add 3! new contributors\n* Update README","shortMessageHtmlLink":"build: release 0.8.0, MSRV=1.63, update changelog, add 3 new contribu…"}},{"before":"8b4b1b4e286519b595e3b61b3cd7b2528ae2fbf6","after":"4889ed3054a771101718097feace15c83920ecdb","ref":"refs/heads/master","pushedAt":"2024-01-01T01:16:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: release 0.8.0, MSRV=1.63, update changelog, add 3 new contributors\n\n* Bump version to 0.8.0\n* Bump MSRV to 1.63 (to match scroll)\n* Bump scroll to 0.12\n* Update changelog\n* Add 3! new contributors\n* Update README","shortMessageHtmlLink":"build: release 0.8.0, MSRV=1.63, update changelog, add 3 new contribu…"}},{"before":"67469bf4573e4b51bb942ce872b05f18ea895cfa","after":"8b4b1b4e286519b595e3b61b3cd7b2528ae2fbf6","ref":"refs/heads/master","pushedAt":"2024-01-01T01:11:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: make sure authenticode is identical before/after signature (#383)\n\n* pe: make sure authenticode is identical before/after signature\r\n\r\nWhen adding the signature, the last section of the file will be padded\r\nto 8-bytes align. We need to make sure the payload we feed to a signer\r\nis always padded to 8-bytes.\r\n\r\nThis fixes signature breakage.\r\n\r\n* authenticode: rework the parser according to the specification\r\n* authenticode: avoid `mem::replace` and the pending state.\r\n* authenticode: document allocations\r\n* authenticode: fixup padding","shortMessageHtmlLink":"pe: make sure authenticode is identical before/after signature (#383)"}},{"before":"6d664c07abe492e2e56790eac260c567b9807994","after":"67469bf4573e4b51bb942ce872b05f18ea895cfa","ref":"refs/heads/master","pushedAt":"2024-01-01T01:03:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"lib: Hint and Object are now non-exhaustive","shortMessageHtmlLink":"lib: Hint and Object are now non-exhaustive"}},{"before":"03eb434207b60a89a2f6038f82420bfd58793c22","after":"6d664c07abe492e2e56790eac260c567b9807994","ref":"refs/heads/master","pushedAt":"2023-11-21T10:21:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: write support for PE binaries (#361)\n\n* strtab: offer `len` method\r\n\r\n* pe(header): introduce full DOS header and DOS stub\r\n\r\nRequired to rematerialize a whole PE, otherwise, it is a corrupted PE.\r\n\r\n* pe(section_table): add `data` function to retrieve the section data safely\r\n\r\nIt now returns a Cow as we need to transfer ownership whenever we have\r\nvirtual size > size of raw data, which forces us to pad with zeroes\r\naccording to the PE specification.\r\n\r\n* pe(utils): add a zero-extension padding helper\r\n\r\nIt can be used to zero-extend any buffer to make its length\r\naligned on some boundary, e.g. quadwords, for attribute certificates.\r\n\r\nIt is designed to be \"zero cost\" if you have no alignment to do, which\r\nwill result in no-allocation!\r\n\r\n* pe: implement write support for AttributeCertificate\r\n\r\n* pe: implement write support for DataDirectories\r\n\r\n* pe: implement write support for Header\r\n\r\nIt enables a lossless conversion from 64 bits to 32 bits headers\r\nexcept on platforms… that are strange.\r\n\r\n* pe: implement write support for SymbolTable\r\n\r\n* pe: implement write support for data directories\r\n\r\nThis tucks `DataDirectory` with a Deref-style and expose `offset` for internal consumers (this crate)\r\nand offers write support for data directories.\r\n\r\n* pe: implement write support for SectionTable\r\n\r\nAll that is needed is to import the allocation `Vec`.\r\n\r\n* pe: implement write support\r\n\r\n* examples(pe): add a identity rewrite PE binary\r\n\r\nThis is a trivial rewriter that performs the identity transformation.\r\n\r\n* pe: debug assert that no overlapping sections are written\r\n\r\nTo further improve the debuggability, a non-overlapping sanity check is added as a\r\ndebug_assert!.\r\n\r\n* pe(coff): COFF symbols and COFF strings are deprecated\r\n\r\nPreviously, I (we?) thought that COFF symbols/strings were always there.\r\n\r\nIn fact, this is not the case and they are deprecated\r\naccording to https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#coff-file-header-object-and-image\r\n\r\n> The file offset of the COFF symbol table, or zero\r\n> if no COFF symbol table is present. This value should be zero for an image\r\n> because COFF debugging information is deprecated.\r\n\r\n* pe(write): factor into `write_certificates`\r\n\r\nWe had the write certificate logic in the `TryIntoCtx`, but it makes\r\nsense to have it separated to let consumers call it manually.","shortMessageHtmlLink":"pe: write support for PE binaries (#361)"}},{"before":"5bddac611d09a5dbe16d8394fa6a9dcd7253c00a","after":"03eb434207b60a89a2f6038f82420bfd58793c22","ref":"refs/heads/master","pushedAt":"2023-10-09T01:22:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: Add `ParseOptions` field to toggle parsing Attribute Certificates for PEs loaded into memory (#377)\n\n* Add in_memory feature to prevent parsing attribute certificates (not pulled into memory by loader)\r\n\r\n---------\r\n\r\nCo-authored-by: Sutton Bradley ","shortMessageHtmlLink":"pe: Add ParseOptions field to toggle parsing Attribute Certificates…"}},{"before":"1c366685a84db21154e8a23479c6c652509d0729","after":"5bddac611d09a5dbe16d8394fa6a9dcd7253c00a","ref":"refs/heads/master","pushedAt":"2023-09-25T00:47:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: Attribute certificate revisions are non-exhaustive (#378)\n\nExcerpt of https://learn.microsoft.com/en-us/windows/win32/debug/pe-format\r\n\r\n> The options for the WIN_CERTIFICATE wRevision member\r\n> include *(but are not limited to)* the following.\r\n\r\nEmphasis mine.","shortMessageHtmlLink":"pe: Attribute certificate revisions are non-exhaustive (#378)"}},{"before":"83ce901e27dd801d44a78108041bdd7a8efd378c","after":"1c366685a84db21154e8a23479c6c652509d0729","ref":"refs/heads/master","pushedAt":"2023-09-25T00:46:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: add COFF object file support (#379)","shortMessageHtmlLink":"pe: add COFF object file support (#379)"}},{"before":"17a5c7cc992220cd72e349eddea99148f31c5e65","after":"83ce901e27dd801d44a78108041bdd7a8efd378c","ref":"refs/heads/master","pushedAt":"2023-08-02T04:16:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"elf: Fix documentation row (#374)","shortMessageHtmlLink":"elf: Fix documentation row (#374)"}},{"before":"f66ef0eeb1237bcdc599782200bcd9c8476b1401","after":"17a5c7cc992220cd72e349eddea99148f31c5e65","ref":"refs/heads/master","pushedAt":"2023-07-05T04:14:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"mach: Add new Mach-O constants (#372)\n\nThese 3 are all new with Xcode 15","shortMessageHtmlLink":"mach: Add new Mach-O constants (#372)"}},{"before":"a55d84e496f4d618679099aa0fb6d33dd9132ac4","after":"f66ef0eeb1237bcdc599782200bcd9c8476b1401","ref":"refs/heads/master","pushedAt":"2023-06-12T03:38:47.683Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: bump version to 0.7.1 due to msrv log failure, bumping our msrv to 1.60.0; not doing a major bump since log did not do a major bump","shortMessageHtmlLink":"build: bump version to 0.7.1 due to msrv log failure, bumping our msr…"}},{"before":"1bc1243f307c41129386f2ee2fa8eb2683cee0b8","after":"a55d84e496f4d618679099aa0fb6d33dd9132ac4","ref":"refs/heads/master","pushedAt":"2023-06-12T03:31:04.533Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: bump msrv to 1.60.0, since log forces this lower bound now","shortMessageHtmlLink":"build: bump msrv to 1.60.0, since log forces this lower bound now"}},{"before":"6e8bbc025117ac78db7e00018f9a28ed971020c0","after":"1bc1243f307c41129386f2ee2fa8eb2683cee0b8","ref":"refs/heads/master","pushedAt":"2023-06-12T03:19:40.300Z","pushType":"push","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"build: bump version to 0.7.0","shortMessageHtmlLink":"build: bump version to 0.7.0"}},{"before":"9f7fb6b1d68bd28d154c9d6587c1f132ce04cf54","after":"6e8bbc025117ac78db7e00018f9a28ed971020c0","ref":"refs/heads/master","pushedAt":"2023-06-12T03:18:54.640Z","pushType":"push","commitsCount":2,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"docs: update changelog for 0.7.0; add 4!! new contributors","shortMessageHtmlLink":"docs: update changelog for 0.7.0; add 4!! new contributors"}},{"before":"6ff43afcda7760713979c4a0ecd790829e2945ad","after":"9f7fb6b1d68bd28d154c9d6587c1f132ce04cf54","ref":"refs/heads/master","pushedAt":"2023-05-15T01:35:08.160Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"elf: fix `is_lib` detection for PIE and static PIE Elf objects. (#366)\n\n* Fix `is_lib` detection for PIE and static PIE Elf objects.\r\n* Don't check for an interpreter when detecting is_lib for elf objects.\r\n* Correct PIE detection.\r\n\r\n---------\r\n\r\nCo-authored-by: Mike Hilgendorf ","shortMessageHtmlLink":"elf: fix is_lib detection for PIE and static PIE Elf objects. (#366)"}},{"before":"c199eef869d823c6ea1009750e7a93b74691e2ee","after":"6ff43afcda7760713979c4a0ecd790829e2945ad","ref":"refs/heads/master","pushedAt":"2023-05-15T01:31:33.353Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"mach: Implement `LC_FILESET_ENTRY`","shortMessageHtmlLink":"mach: Implement LC_FILESET_ENTRY"}},{"before":"87821fd7b85cbcaa0ce9ae542809313b18dec2f2","after":"c199eef869d823c6ea1009750e7a93b74691e2ee","ref":"refs/heads/master","pushedAt":"2023-05-01T04:08:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"m4b","name":null,"path":"/m4b","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1920204?s=80&v=4"},"commit":{"message":"pe: fix out of bounds access while parsing AttributeCertificate (#368)\n\n* Fix out of bounds access while parsing AttributeCertificate\r\n* Fix MSRV build","shortMessageHtmlLink":"pe: fix out of bounds access while parsing AttributeCertificate (#368)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEO_LLJQA","startCursor":null,"endCursor":null}},"title":"Activity · m4b/goblin"}