{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":250687801,"defaultBranch":"master","name":"e9patch","ownerLogin":"GJDuck","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-03-28T01:22:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2715754?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718781593.0","currentOid":""},"activityList":{"items":[{"before":"bde56202995716542b9ab6661d8f7f19b491d338","after":"b4e7175abb8bd49ebbb6d09c7057aa43ddacac10","ref":"refs/heads/master","pushedAt":"2024-08-09T13:40:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Address some build/script problems.\n\nSee #74","shortMessageHtmlLink":"Address some build/script problems."}},{"before":"0a3c2996562094325674693c53b7b8d38a55f794","after":"bde56202995716542b9ab6661d8f7f19b491d338","ref":"refs/heads/master","pushedAt":"2024-08-07T06:50:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Do not use the stack for large printfs\n\nCan cause a stack overflow.","shortMessageHtmlLink":"Do not use the stack for large printfs"}},{"before":"bae1d39e89fc9be2969464b83dde4a6fdb55eb7e","after":"0a3c2996562094325674693c53b7b8d38a55f794","ref":"refs/heads/master","pushedAt":"2024-08-07T02:51:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Support a make/make-install build system\n\nThis implements a more traditional build system:\n\n $ make\n $ make install\n\nThis version will also use the system elfutils and\ndynamic linking, rather than the contrib/ version\nand static linking. This version will still\nstatically link a specific version of zydis to\nensure consistent matching/patching language\nbehaviour.\n\nThe old build.sh and install.sh scripts are still\nsupported, and are the main way of building the\n\"official\" binary release. This menthod uses\nstatic linking, so the binaries will run on most\nLinux distributions without dependency issues.\n\nSee #74","shortMessageHtmlLink":"Support a make/make-install build system"}},{"before":"5b17f53b4c76b91e2e13e5421012b2a75af59b90","after":"bae1d39e89fc9be2969464b83dde4a6fdb55eb7e","ref":"refs/heads/master","pushedAt":"2024-08-05T13:50:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Merge pull request #80 from McSinyx/e9c-e\n\nset -e for e9compile.sh","shortMessageHtmlLink":"Merge pull request #80 from McSinyx/e9c-e"}},{"before":"2af20197b8060de8eb682db595d7714a0ef34df7","after":"5b17f53b4c76b91e2e13e5421012b2a75af59b90","ref":"refs/heads/master","pushedAt":"2024-07-26T03:13:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix scanf() handling of %x or %o with no prefix","shortMessageHtmlLink":"Fix scanf() handling of %x or %o with no prefix"}},{"before":"96c76bb4cc9d8284a5b7ff9e1553587b3a9d023b","after":"2af20197b8060de8eb682db595d7714a0ef34df7","ref":"refs/heads/master","pushedAt":"2024-07-22T08:05:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix fgets() return type; should be (char *)","shortMessageHtmlLink":"Fix fgets() return type; should be (char *)"}},{"before":"5bb07ff693c6756af1dc6db5fda75eb4257923df","after":"96c76bb4cc9d8284a5b7ff9e1553587b3a9d023b","ref":"refs/heads/master","pushedAt":"2024-07-17T07:35:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Consider endbr64 to be part of the func/BB","shortMessageHtmlLink":"Consider endbr64 to be part of the func/BB"}},{"before":"10ddab3a8ceceb0bdcd6d888773ebced30504681","after":"5bb07ff693c6756af1dc6db5fda75eb4257923df","ref":"refs/heads/master","pushedAt":"2024-07-06T00:34:18.000Z","pushType":"pr_merge","commitsCount":16,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Merge pull request #79 from GJDuck/lines\n\nAdd support for source file and line information","shortMessageHtmlLink":"Merge pull request #79 from GJDuck/lines"}},{"before":"b922de2bb4a3778380fe8e7540cdc8e3550674c1","after":"50ffaa6f404ad0707c9a50e0066679616e95e9da","ref":"refs/heads/lines","pushedAt":"2024-07-06T00:21:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Document the attributes/arguments based on DWARF\n\nAlso remove line.size for now.","shortMessageHtmlLink":"Document the attributes/arguments based on DWARF"}},{"before":"47a717d00d53da294c2e517a95349e19eb3ec99a","after":"b922de2bb4a3778380fe8e7540cdc8e3550674c1","ref":"refs/heads/lines","pushedAt":"2024-07-01T02:21:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix reallocarray() problem in libdw","shortMessageHtmlLink":"Fix reallocarray() problem in libdw"}},{"before":"f0b89a805539dfab0cb3f264c0babe6d3efb5b6b","after":"47a717d00d53da294c2e517a95349e19eb3ec99a","ref":"refs/heads/lines","pushedAt":"2024-06-29T02:21:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix & optimize dir/filename matching & add test","shortMessageHtmlLink":"Fix & optimize dir/filename matching & add test"}},{"before":"b6fee73522c44c214139107cf917a7ced7a9e59d","after":"f0b89a805539dfab0cb3f264c0babe6d3efb5b6b","ref":"refs/heads/lines","pushedAt":"2024-06-29T01:17:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix warnings, missing Makefile, and bump version","shortMessageHtmlLink":"Fix warnings, missing Makefile, and bump version"}},{"before":"03375cf6e342b378207d692af9ed66228f72ba48","after":"b6fee73522c44c214139107cf917a7ced7a9e59d","ref":"refs/heads/lines","pushedAt":"2024-06-28T15:26:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Overhaul dependency management.\n\nA (cut-down) version of Zydis and lindw are now\nincluded in a new contrib/ directory. The build\nsystem now uses these versions rather than\ndownloading code or relying on dynamic loading.\nThis makes the code self-contained, and simplifies\nthe build process.","shortMessageHtmlLink":"Overhaul dependency management."}},{"before":"2137b6d12703aef7cc13bcf5a22e76187eda3c61","after":"03375cf6e342b378207d692af9ed66228f72ba48","ref":"refs/heads/lines","pushedAt":"2024-06-26T03:24:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix line number off-by-one errors","shortMessageHtmlLink":"Fix line number off-by-one errors"}},{"before":"e4b67cd716dd97d25a7af4e50561a2869dcaf66d","after":"2137b6d12703aef7cc13bcf5a22e76187eda3c61","ref":"refs/heads/lines","pushedAt":"2024-06-25T13:36:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Improved DWARF line number handling.","shortMessageHtmlLink":"Improved DWARF line number handling."}},{"before":"d121430041d41c69c503b2968af688621dbb5fcd","after":"e4b67cd716dd97d25a7af4e50561a2869dcaf66d","ref":"refs/heads/lines","pushedAt":"2024-06-25T02:55:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix DT_GNU_HASH parsing bug","shortMessageHtmlLink":"Fix DT_GNU_HASH parsing bug"}},{"before":"dfe8233b390d265ac51e1ba08085ec106064578f","after":"d121430041d41c69c503b2968af688621dbb5fcd","ref":"refs/heads/lines","pushedAt":"2024-06-24T15:04:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Support different kinds of filename:\n\nfilename <- filename (possibly relative)\nabsname <- full absolute filename\ndirname <- directory component of absname\nbasename <- basename component of absname","shortMessageHtmlLink":"Support different kinds of filename:"}},{"before":"a726a16c57f583da4d3d9c01a76d072511446f6d","after":"dfe8233b390d265ac51e1ba08085ec106064578f","ref":"refs/heads/lines","pushedAt":"2024-06-24T03:53:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Fix string lifetime issue with libdw.so","shortMessageHtmlLink":"Fix string lifetime issue with libdw.so"}},{"before":"35850405d323b5da0a464f7969cb47821f7402a3","after":"a726a16c57f583da4d3d9c01a76d072511446f6d","ref":"refs/heads/lines","pushedAt":"2024-06-21T07:23:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Add a line.size attribute/argument\n\nThe number of bytes spanning the line.","shortMessageHtmlLink":"Add a line.size attribute/argument"}},{"before":"f1411b2c33561482b2494627f22cd2c2d7637e2d","after":"35850405d323b5da0a464f7969cb47821f7402a3","ref":"refs/heads/lines","pushedAt":"2024-06-21T00:54:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Better warnings/errors for line number problems","shortMessageHtmlLink":"Better warnings/errors for line number problems"}},{"before":"d1b9cdfa6695a27d3a275529e781ee122ea285e1","after":"f1411b2c33561482b2494627f22cd2c2d7637e2d","ref":"refs/heads/lines","pushedAt":"2024-06-20T09:44:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Consolidate adjacent lines into a single line.\n\nAlso, lines now have an address range [lb..ub)","shortMessageHtmlLink":"Consolidate adjacent lines into a single line."}},{"before":"b726d38e1bfcb3ffec373151d35b837a4487857a","after":"d1b9cdfa6695a27d3a275529e781ee122ea285e1","ref":"refs/heads/lines","pushedAt":"2024-06-19T08:51:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Add an experimental 'line.entry' matching attrib.\n\nMatches the first instruction in a line.","shortMessageHtmlLink":"Add an experimental 'line.entry' matching attrib."}},{"before":null,"after":"b726d38e1bfcb3ffec373151d35b837a4487857a","ref":"refs/heads/lines","pushedAt":"2024-06-19T07:19:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Add experimental E9Tool source file:line support\n\nIf the binary was compiled with debug information\n(-g), we can use file:line information for both\nmatching and patching. This initial commit adds\nsome basic (experimental) support.\n\nParsing the debug information is very difficult,\nso we outsource this to libdw.so. However, this\nwill be a \"soft\" dependency, i.e., E9Tool will\nrun fine if this library is not installed, but\nthen also file:line information will be missing.\n\nThis will only work if the binary was compiled\nwith (-g), otherwise the information will be\n\"undefined\".","shortMessageHtmlLink":"Add experimental E9Tool source file:line support"}},{"before":"0a6ac45e8b084e453db22fd1b49d754f04a3a434","after":"10ddab3a8ceceb0bdcd6d888773ebced30504681","ref":"refs/heads/master","pushedAt":"2024-04-30T03:59:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"179d9e6a727ec0ad6009b00692c2fecf9324eaff","after":"0a6ac45e8b084e453db22fd1b49d754f04a3a434","ref":"refs/heads/master","pushedAt":"2024-04-30T02:10:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Add links to 2 new projects:\n\n* EFuzz (RRFuzz framework)\n* RFF (concurrency fuzzing)","shortMessageHtmlLink":"Add links to 2 new projects:"}},{"before":"e05abc91f055ed0c68996f36703df3e4e2472b3d","after":"179d9e6a727ec0ad6009b00692c2fecf9324eaff","ref":"refs/heads/master","pushedAt":"2024-03-22T23:51:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"No need to pass compare() to tmin()/tmax()","shortMessageHtmlLink":"No need to pass compare() to tmin()/tmax()"}},{"before":"2ce68fde88d28670159dcaec07e84b8e3e47c2f9","after":"e05abc91f055ed0c68996f36703df3e4e2472b3d","ref":"refs/heads/master","pushedAt":"2024-03-21T00:53:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Allow empty reserve messages with preinit/postinit","shortMessageHtmlLink":"Allow empty reserve messages with preinit/postinit"}},{"before":"6a90a3f22b6f30632ed484381f49e23517a56695","after":"2ce68fde88d28670159dcaec07e84b8e3e47c2f9","ref":"refs/heads/master","pushedAt":"2024-03-21T00:24:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Document preinit/postinit hooks","shortMessageHtmlLink":"Document preinit/postinit hooks"}},{"before":"0c878c7c9026bc2d482a2d61c3a41556b97dbd57","after":"6a90a3f22b6f30632ed484381f49e23517a56695","ref":"refs/heads/master","pushedAt":"2024-03-20T23:40:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Introduce preinit()/postinit() hooks\n\npreinit() is called before any initialization\n(before any syscalls by the e9loader).\n\npostinit() is call after initialization has\ncompleted, but before program entry.\n\nBoth hooks are low-level, with no stdlib. These\nhooks are integrated into the loader itself,\nrather than being called from the loader.\n\nHooks can be defined in call instrumentation\npatch files, using .preinit and .postinit\nsections. See test/regtest/init.c","shortMessageHtmlLink":"Introduce preinit()/postinit() hooks"}},{"before":"b1883e1cc69ca57dd3cc221f23f6e2b02ad5141d","after":"0c878c7c9026bc2d482a2d61c3a41556b97dbd57","ref":"refs/heads/master","pushedAt":"2024-03-18T00:30:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"GJDuck","name":null,"path":"/GJDuck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2715754?s=80&v=4"},"commit":{"message":"Add some more useful tree functions to stdlib.c\n\n- tmin()/tmax(): min/max elemnts of a tree.\n- tnext()/tprev(): move to the next/prev node.\n\nThese are non-standard but useful.","shortMessageHtmlLink":"Add some more useful tree functions to stdlib.c"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wOVQxMzo0MDowNS4wMDAwMDBazwAAAASWT4bb","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wOVQxMzo0MDowNS4wMDAwMDBazwAAAASWT4bb","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0xOFQwMDozMDo0NC4wMDAwMDBazwAAAAQYCxYn"}},"title":"Activity ยท GJDuck/e9patch"}