{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":13695590,"defaultBranch":"master","name":"crchack","ownerLogin":"resilar","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-10-19T04:42:27.000Z","ownerAvatar":"https://github.com/avatars/u/18658078?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1613534405.962503","currentOid":""},"activityList":{"items":[{"before":"59e3e3d03afe46829f39d06dc1b80cc6aca9355e","after":"0f40f3e16d25a8ca63f478dc7c4473a4c9d61f75","ref":"refs/heads/master","pushedAt":"2024-03-30T03:46:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"update CRC RevEng links in README.md","shortMessageHtmlLink":"update CRC RevEng links in README.md"}},{"before":"5126c85cb672d573d9f5d411bccbdbed48002395","after":"59e3e3d03afe46829f39d06dc1b80cc6aca9355e","ref":"refs/heads/master","pushedAt":"2024-03-30T03:32:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"improve handling of unbounded -b slices (#9)\n\npreviously unbounded slices such as `-b 4:` selected every input message\nbit after the 4th byte. for long input messages (think gigabytes) this\nresulted in crchack allocating crazy amounts of memory for input.bits[]\narray containing an element for each selected bit, ultimately freezing\nand/or aborting the entire program due to \"out of memory\" error.\n\nthe commit addresses the issue by limiting the maximum number of bits\nselected by a single -b command-line switch to w where w is the register\nwidth of the specified CRC function. rudimentary testing shows that this\ndoes not introduce new failures when forging CRC checksums, probably\nbecause w mutable bits is practically always enough to obtain the target\nchecksum (however, i would not be surprised if there are some edge cases\nwhere this does not hold - but let's address that separately if that\nproblem ever comes up).\n\nlastly, this commit also implements support for negative zero offsets\nfor command-line offset switches (-o/-O). before `-o -0` was identical\nto `-o 0`, whereas the expected behavior would be `-O 0`, i.e., offset\npointing at the end of the input message. yes, it'd have made sense to\nsplit this change into another commit, but i'm feeling lazy so fuck it.","shortMessageHtmlLink":"improve handling of unbounded -b slices (#9)"}},{"before":"9cff389e057d93b0f9f824f2ede250f65ab71618","after":"5126c85cb672d573d9f5d411bccbdbed48002395","ref":"refs/heads/master","pushedAt":"2024-03-21T06:20:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"make definition of BITS_TO_LIMBS less confusing","shortMessageHtmlLink":"make definition of BITS_TO_LIMBS less confusing"}},{"before":"b3d14e0344b4de906349b8a6223a081bfc6a49a8","after":"9cff389e057d93b0f9f824f2ede250f65ab71618","ref":"refs/heads/master","pushedAt":"2024-03-21T06:10:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"kill extra newline","shortMessageHtmlLink":"kill extra newline"}},{"before":"9a9f645b611488da2229d4240b82b7b6a409fc04","after":"b3d14e0344b4de906349b8a6223a081bfc6a49a8","ref":"refs/heads/master","pushedAt":"2024-03-21T06:04:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"make definition of BITS_TO_LIMBS less confusing","shortMessageHtmlLink":"make definition of BITS_TO_LIMBS less confusing"}},{"before":"e86b891d5f136b300cd1ad9a142e3b72719aed77","after":"9a9f645b611488da2229d4240b82b7b6a409fc04","ref":"refs/heads/master","pushedAt":"2024-03-20T23:46:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"update unit tests from RevEng CRC cataogue","shortMessageHtmlLink":"update unit tests from RevEng CRC cataogue"}},{"before":"dca3f2a8141648363205c8f7ff6aa2071080830f","after":"e86b891d5f136b300cd1ad9a142e3b72719aed77","ref":"refs/heads/master","pushedAt":"2024-03-17T10:51:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"brace expansion support for -b switches","shortMessageHtmlLink":"brace expansion support for -b switches"}},{"before":"ca908cf151e5dc45c1bcb52efda98f804ca0d9a4","after":"dca3f2a8141648363205c8f7ff6aa2071080830f","ref":"refs/heads/master","pushedAt":"2024-03-17T10:37:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"brace expansion support for -b switches","shortMessageHtmlLink":"brace expansion support for -b switches"}},{"before":"2687e7a5b143953f7097e75eba5f21ccbc3af053","after":"ca908cf151e5dc45c1bcb52efda98f804ca0d9a4","ref":"refs/heads/master","pushedAt":"2024-02-27T16:22:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"support negative values in bigint_from_string()","shortMessageHtmlLink":"support negative values in bigint_from_string()"}},{"before":"2e29c4a98e4bd88ca3dda571c65d6bbbc26c3eab","after":"2687e7a5b143953f7097e75eba5f21ccbc3af053","ref":"refs/heads/master","pushedAt":"2024-02-26T23:43:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"improve ./check.sh code coverage\n\nfor the sake of coverage, solve Google CTF 2018 (Quals) task \"Tape\" when\nrunning `make check`.","shortMessageHtmlLink":"improve ./check.sh code coverage"}},{"before":"54d793e18acc5530d79b9ddb2e3c573ecb6c8218","after":"2e29c4a98e4bd88ca3dda571c65d6bbbc26c3eab","ref":"refs/heads/master","pushedAt":"2024-02-26T20:43:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"improve ./check.sh code coverage\n\nfor the sake of coverage, solve Google CTF 2018 (Quals) task \"Tape\" when\nrunning `make check`.","shortMessageHtmlLink":"improve ./check.sh code coverage"}},{"before":"7c54493a047ebabaf796abf46ae140f8209bfb9a","after":"54d793e18acc5530d79b9ddb2e3c573ecb6c8218","ref":"refs/heads/master","pushedAt":"2024-02-10T19:19:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"refactor the code to make it more understandable","shortMessageHtmlLink":"refactor the code to make it more understandable"}},{"before":"6933fe9c4adb4d3669babed6df8abbd354192758","after":"7c54493a047ebabaf796abf46ae140f8209bfb9a","ref":"refs/heads/master","pushedAt":"2024-01-17T12:37:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"add missing bittypes.h file","shortMessageHtmlLink":"add missing bittypes.h file"}},{"before":"62d01f6a1a95d09fbdaa3c709e3e35ab5a91e15e","after":"6933fe9c4adb4d3669babed6df8abbd354192758","ref":"refs/heads/master","pushedAt":"2024-01-10T18:38:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"fix l:r slices where l < 0 and relative r >= -l\n\nparse_slice() stored l < 0 as a negative bit offset which was then added\nto a relative r offset (that is, r value preceded by unary + operator).\nbasically, the parsing of \"-4:+4\" string produced a slice structure with\nslice->l = -32 (i.e. 4 bytes) and slice->r = -32 + 32 = 0. consequently,\nbits_of_slice() treated the parsed slice as \"6:0\" and returned no bits\nbecause l > r (6 > 0). this is incorrect behavior as the string \"-4:+4\"\nis supposed to represent a slice of the last 4 input bytes (or 32 bits).","shortMessageHtmlLink":"fix l:r slices where l < 0 and relative r >= -l"}},{"before":"0c877a29a6fa1e3b591b0d0833035f0965b9dcca","after":"62d01f6a1a95d09fbdaa3c709e3e35ab5a91e15e","ref":"refs/heads/master","pushedAt":"2024-01-10T09:59:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"improve forge() gaussian elimination algorithm\n\napparently solving Ax = d over GF(2) with gaussian elimination becomes\nconsiderably simpler when merging the vectors x and d into one.","shortMessageHtmlLink":"improve forge() gaussian elimination algorithm"}},{"before":"2a7a519e024b28f8b3c40e7b2d8fe01baef21f44","after":"0c877a29a6fa1e3b591b0d0833035f0965b9dcca","ref":"refs/heads/master","pushedAt":"2024-01-10T05:08:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"resilar","name":null,"path":"/resilar","primaryAvatarUrl":"https://github.com/avatars/u/18658078?s=80&v=4"},"commit":{"message":"define bitsize_t and bitoffset_t types\n\nthe code previously used (s)size_t for addressing bits within an input\nmessage buffer. a block of memory has 8 times more bits than bytes, thus\nallowing us to only address bits within the first 2^(w-3) bytes of the\nmemory block. for example, in a 32-bit address space we have w=32 and\nhence can only address 2^29 = 512MB of memory instead of the 2^32 = 4GB\nfull memory space.\n\nthis commit introduces new types \"typedef uintmax_t bitsize_t\" and\n\"typedef intmax_t bitoffset_t\" for storing bit positions and offsets.\nunfortunately, this fixes the aforementioned size_t addressing issue\nonly in environments where sizeof(uintmax_t) >= 8*sizeof(size_t), which\nis not very common AFAIK. nonetheless, these new types for storing sizes\nand offsets in bits (instead of bytes) improve code readability a lot.\n\nfinally, the old code incorrectly used ssize_t as a signed size_t type.\nPOSIX defines ssize_t as a signed integer capable of storing values in\nthe range [-1, SSIZE_MAX]. the proper signed counterpart of size_t is of\ncourse ptrdiff_t. this commit, however, uses the new bitoffset_t type\ninstead of ptrdiff_t.","shortMessageHtmlLink":"define bitsize_t and bitoffset_t types"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEIyARUgA","startCursor":null,"endCursor":null}},"title":"Activity ยท resilar/crchack"}