{"action":"created","comment":{"url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/comments/53240639","id":53240639,"diff_hunk":"@@ -0,0 +1,809 @@\n+/**\n+ * Authors......: Jens Steube <jens.steube@gmail.com>\n+ * Authors......: Fist0urs   <eddy.maaalou@gmail.com>\n+ *\n+ * License.....: MIT\n+ */\n+\n+#define _KRB5TGS_\n+\n+#include \"include/constants.h\"\n+#include \"include/kernel_vendor.h\"\n+\n+#define DGST_R0 0\n+#define DGST_R1 1\n+#define DGST_R2 2\n+#define DGST_R3 3\n+\n+#include \"include/kernel_functions.c\"\n+#include \"OpenCL/types_ocl.c\"\n+#include \"OpenCL/common.c\"\n+\n+typedef struct\n+{\n+  u8 S[256];\n+\n+  u32 wtf_its_faster;\n+\n+} RC4_KEY;\n+\n+static void swap (__local RC4_KEY *rc4_key, const u8 i, const u8 j)\n+{\n+  u8 tmp;\n+\n+  tmp           = rc4_key->S[i];\n+  rc4_key->S[i] = rc4_key->S[j];\n+  rc4_key->S[j] = tmp;\n+}\n+\n+static void rc4_init_16 (__local RC4_KEY *rc4_key, const u32 data[4])\n+{\n+  u32 v = 0x03020100;\n+  u32 a = 0x04040404;\n+\n+  __local u32 *ptr = (__local u32 *) rc4_key->S;\n+\n+  #pragma unroll\n+  for (u32 i = 0; i < 64; i++)\n+  {\n+    *ptr++ = v; v += a;\n+  }\n+\n+  u32 j = 0;\n+\n+  for (u32 i = 0; i < 16; i++)\n+  {\n+    u32 idx = i * 16;\n+\n+    u32 v;\n+\n+    v = data[0];\n+\n+    j += rc4_key->S[idx] + (v >>  0); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >>  8); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 16); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 24); swap (rc4_key, idx, j); idx++;\n+\n+    v = data[1];\n+\n+    j += rc4_key->S[idx] + (v >>  0); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >>  8); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 16); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 24); swap (rc4_key, idx, j); idx++;\n+\n+    v = data[2];\n+\n+    j += rc4_key->S[idx] + (v >>  0); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >>  8); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 16); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 24); swap (rc4_key, idx, j); idx++;\n+\n+    v = data[3];\n+\n+    j += rc4_key->S[idx] + (v >>  0); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >>  8); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 16); swap (rc4_key, idx, j); idx++;\n+    j += rc4_key->S[idx] + (v >> 24); swap (rc4_key, idx, j); idx++;\n+  }\n+}\n+\n+static u8 rc4_next_16 (__local RC4_KEY *rc4_key, u8 i, u8 j, __global u32 in[4], u32 out[4])\n+{\n+  #pragma unroll\n+  for (u32 k = 0; k < 4; k++)\n+  {\n+    u32 xor4 = 0;\n+\n+    u8 idx;\n+\n+    i += 1;\n+    j += rc4_key->S[i];\n+\n+    swap (rc4_key, i, j);\n+\n+    idx = rc4_key->S[i] + rc4_key->S[j];\n+\n+    xor4 |= rc4_key->S[idx] <<  0;\n+\n+    i += 1;\n+    j += rc4_key->S[i];\n+\n+    swap (rc4_key, i, j);\n+\n+    idx = rc4_key->S[i] + rc4_key->S[j];\n+\n+    xor4 |= rc4_key->S[idx] <<  8;\n+\n+    i += 1;\n+    j += rc4_key->S[i];\n+\n+    swap (rc4_key, i, j);\n+\n+    idx = rc4_key->S[i] + rc4_key->S[j];\n+\n+    xor4 |= rc4_key->S[idx] << 16;\n+\n+    i += 1;\n+    j += rc4_key->S[i];\n+\n+    swap (rc4_key, i, j);\n+\n+    idx = rc4_key->S[i] + rc4_key->S[j];\n+\n+    xor4 |= rc4_key->S[idx] << 24;\n+\n+    out[k] = in[k] ^ xor4;\n+  }\n+\n+  return j;\n+}\n+\n+static int decrypt_and_check (__local RC4_KEY *rc4_key, u32 data[4], __global u32* edata2)\n+{\n+  rc4_init_16 (rc4_key, data);\n+\n+  u32 out[8];\n+\n+  u8 j = 0;\n+\n+  /* \n+    8 first bytes are nonce, then ASN1 structs (DER encoding: type-length-data)\n+\n+    if length >= 128 bytes:\n+        length is on 2 bytes and type is \\x63\\x82 (encode_krb5_enc_tkt_part) and data is an ASN1 sequence \\x30\\x82\n+    else:\n+        length is on 1 byte and type is \\x63\\x81 and data is an ASN1 sequence \\x30\\x81\n+\n+    next headers follow the same ASN1 \"type-length-data\" scheme\n+  */\n+\n+  j = rc4_next_16 (rc4_key,  0, 0, edata2, out);\n+\n+  if (((out[2] & 0xff00ffff) != 0x30008163) && ((out[2] & 0x0000ffff) != 0x00008263)) return 0;\n+\n+  j = rc4_next_16 (rc4_key,  16, j, edata2 + 4, out + 4);\n+\n+  if (((out[4] & 0x00ffffff) != 0x00000503) && (out[4] != 0x050307A0)) return 0;\n+\n+  // TODO (or not): add RC4'ing of all edata2 then hmac-md5 and compare with \n+  // checksum to be definitely sure that this is the correct pass (even if \n+  // collisions must be very rare)\n+","path":"OpenCL/m13100_a3.cl","position":171,"original_position":171,"commit_id":"c3dabdd69e7092c2429f262bb6ffda631d1ea462","original_commit_id":"c3dabdd69e7092c2429f262bb6ffda631d1ea462","user":{"login":"magnumripper","id":1268598,"avatar_url":"https://avatars.githubusercontent.com/u/1268598?v=3","gravatar_id":"","url":"https://api.github.com/users/magnumripper","html_url":"https://github.com/magnumripper","followers_url":"https://api.github.com/users/magnumripper/followers","following_url":"https://api.github.com/users/magnumripper/following{/other_user}","gists_url":"https://api.github.com/users/magnumripper/gists{/gist_id}","starred_url":"https://api.github.com/users/magnumripper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnumripper/subscriptions","organizations_url":"https://api.github.com/users/magnumripper/orgs","repos_url":"https://api.github.com/users/magnumripper/repos","events_url":"https://api.github.com/users/magnumripper/events{/privacy}","received_events_url":"https://api.github.com/users/magnumripper/received_events","type":"User","site_admin":false},"body":"@Fist0urs on what grounds do you deem it \"must be very rare\"? Are you checking as little as five bytes in some cases, or do I misread the code? If it's just five bytes, you will likely get a false positive even for just ?a?a?a?a?a?a and that is definitely not rare! That's why I asked you to add the extra check in JtR.","created_at":"2016-02-17T22:19:24Z","updated_at":"2016-02-17T22:19:24Z","html_url":"https://github.com/hashcat/oclHashcat/pull/225#discussion_r53240639","pull_request_url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225","_links":{"self":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/comments/53240639"},"html":{"href":"https://github.com/hashcat/oclHashcat/pull/225#discussion_r53240639"},"pull_request":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225"}}},"pull_request":{"url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225","id":59509445,"html_url":"https://github.com/hashcat/oclHashcat/pull/225","diff_url":"https://github.com/hashcat/oclHashcat/pull/225.diff","patch_url":"https://github.com/hashcat/oclHashcat/pull/225.patch","issue_url":"https://api.github.com/repos/hashcat/oclHashcat/issues/225","number":225,"state":"closed","locked":false,"title":"Initial commit","user":{"login":"Fist0urs","id":16529748,"avatar_url":"https://avatars.githubusercontent.com/u/16529748?v=3","gravatar_id":"","url":"https://api.github.com/users/Fist0urs","html_url":"https://github.com/Fist0urs","followers_url":"https://api.github.com/users/Fist0urs/followers","following_url":"https://api.github.com/users/Fist0urs/following{/other_user}","gists_url":"https://api.github.com/users/Fist0urs/gists{/gist_id}","starred_url":"https://api.github.com/users/Fist0urs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fist0urs/subscriptions","organizations_url":"https://api.github.com/users/Fist0urs/orgs","repos_url":"https://api.github.com/users/Fist0urs/repos","events_url":"https://api.github.com/users/Fist0urs/events{/privacy}","received_events_url":"https://api.github.com/users/Fist0urs/received_events","type":"User","site_admin":false},"body":"Add support to Kerberos 5 TGS-REP (tickets ARC4 encrypted), so as in request for format #81 \r\n\r\nEntry to add in wiki would be (password \"hashcat\"):\r\n\r\n$krb5tgs$23$\\*user$realm$test/hashcat\\*$08e2261b7a89e56f530b2f7e0620fe8b$ecdca97c13814c95810d7706faf986dad98d06ba033fc5a45fbe9b417b855db5\r\n\r\nThe part \"$\\*user$realm$test/hashcat\\*$\" is optional. At the moment, input formats supported are:\r\n\r\n$krb5tgs$23$\\*user$realm$spn\\*$checksum$edata2\r\n$krb5tgs$23$**$checksum$edata2\r\n$krb5tgs$23$checksum$edata2","created_at":"2016-02-16T15:48:26Z","updated_at":"2016-02-17T22:19:25Z","closed_at":"2016-02-17T07:23:27Z","merged_at":"2016-02-17T07:23:27Z","merge_commit_sha":"6f136dee623d8083f18a0a544a618693963ba8b3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225/commits","review_comments_url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225/comments","review_comment_url":"https://api.github.com/repos/hashcat/oclHashcat/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hashcat/oclHashcat/issues/225/comments","statuses_url":"https://api.github.com/repos/hashcat/oclHashcat/statuses/c3dabdd69e7092c2429f262bb6ffda631d1ea462","head":{"label":"Fist0urs:format_krb5tgs","ref":"format_krb5tgs","sha":"c3dabdd69e7092c2429f262bb6ffda631d1ea462","user":{"login":"Fist0urs","id":16529748,"avatar_url":"https://avatars.githubusercontent.com/u/16529748?v=3","gravatar_id":"","url":"https://api.github.com/users/Fist0urs","html_url":"https://github.com/Fist0urs","followers_url":"https://api.github.com/users/Fist0urs/followers","following_url":"https://api.github.com/users/Fist0urs/following{/other_user}","gists_url":"https://api.github.com/users/Fist0urs/gists{/gist_id}","starred_url":"https://api.github.com/users/Fist0urs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fist0urs/subscriptions","organizations_url":"https://api.github.com/users/Fist0urs/orgs","repos_url":"https://api.github.com/users/Fist0urs/repos","events_url":"https://api.github.com/users/Fist0urs/events{/privacy}","received_events_url":"https://api.github.com/users/Fist0urs/received_events","type":"User","site_admin":false},"repo":{"id":50798767,"name":"oclHashcat","full_name":"Fist0urs/oclHashcat","owner":{"login":"Fist0urs","id":16529748,"avatar_url":"https://avatars.githubusercontent.com/u/16529748?v=3","gravatar_id":"","url":"https://api.github.com/users/Fist0urs","html_url":"https://github.com/Fist0urs","followers_url":"https://api.github.com/users/Fist0urs/followers","following_url":"https://api.github.com/users/Fist0urs/following{/other_user}","gists_url":"https://api.github.com/users/Fist0urs/gists{/gist_id}","starred_url":"https://api.github.com/users/Fist0urs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fist0urs/subscriptions","organizations_url":"https://api.github.com/users/Fist0urs/orgs","repos_url":"https://api.github.com/users/Fist0urs/repos","events_url":"https://api.github.com/users/Fist0urs/events{/privacy}","received_events_url":"https://api.github.com/users/Fist0urs/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Fist0urs/oclHashcat","description":"World's fastest and most advanced GPGPU-based password recovery utility","fork":true,"url":"https://api.github.com/repos/Fist0urs/oclHashcat","forks_url":"https://api.github.com/repos/Fist0urs/oclHashcat/forks","keys_url":"https://api.github.com/repos/Fist0urs/oclHashcat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Fist0urs/oclHashcat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Fist0urs/oclHashcat/teams","hooks_url":"https://api.github.com/repos/Fist0urs/oclHashcat/hooks","issue_events_url":"https://api.github.com/repos/Fist0urs/oclHashcat/issues/events{/number}","events_url":"https://api.github.com/repos/Fist0urs/oclHashcat/events","assignees_url":"https://api.github.com/repos/Fist0urs/oclHashcat/assignees{/user}","branches_url":"https://api.github.com/repos/Fist0urs/oclHashcat/branches{/branch}","tags_url":"https://api.github.com/repos/Fist0urs/oclHashcat/tags","blobs_url":"https://api.github.com/repos/Fist0urs/oclHashcat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Fist0urs/oclHashcat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Fist0urs/oclHashcat/git/refs{/sha}","trees_url":"https://api.github.com/repos/Fist0urs/oclHashcat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Fist0urs/oclHashcat/statuses/{sha}","languages_url":"https://api.github.com/repos/Fist0urs/oclHashcat/languages","stargazers_url":"https://api.github.com/repos/Fist0urs/oclHashcat/stargazers","contributors_url":"https://api.github.com/repos/Fist0urs/oclHashcat/contributors","subscribers_url":"https://api.github.com/repos/Fist0urs/oclHashcat/subscribers","subscription_url":"https://api.github.com/repos/Fist0urs/oclHashcat/subscription","commits_url":"https://api.github.com/repos/Fist0urs/oclHashcat/commits{/sha}","git_commits_url":"https://api.github.com/repos/Fist0urs/oclHashcat/git/commits{/sha}","comments_url":"https://api.github.com/repos/Fist0urs/oclHashcat/comments{/number}","issue_comment_url":"https://api.github.com/repos/Fist0urs/oclHashcat/issues/comments{/number}","contents_url":"https://api.github.com/repos/Fist0urs/oclHashcat/contents/{+path}","compare_url":"https://api.github.com/repos/Fist0urs/oclHashcat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Fist0urs/oclHashcat/merges","archive_url":"https://api.github.com/repos/Fist0urs/oclHashcat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Fist0urs/oclHashcat/downloads","issues_url":"https://api.github.com/repos/Fist0urs/oclHashcat/issues{/number}","pulls_url":"https://api.github.com/repos/Fist0urs/oclHashcat/pulls{/number}","milestones_url":"https://api.github.com/repos/Fist0urs/oclHashcat/milestones{/number}","notifications_url":"https://api.github.com/repos/Fist0urs/oclHashcat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Fist0urs/oclHashcat/labels{/name}","releases_url":"https://api.github.com/repos/Fist0urs/oclHashcat/releases{/id}","deployments_url":"https://api.github.com/repos/Fist0urs/oclHashcat/deployments","created_at":"2016-01-31T22:25:17Z","updated_at":"2016-01-31T22:25:22Z","pushed_at":"2016-02-17T12:39:22Z","git_url":"git://github.com/Fist0urs/oclHashcat.git","ssh_url":"git@github.com:Fist0urs/oclHashcat.git","clone_url":"https://github.com/Fist0urs/oclHashcat.git","svn_url":"https://github.com/Fist0urs/oclHashcat","homepage":"https://hashcat.net/oclhashcat/","size":8151,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hashcat:master","ref":"master","sha":"7645a6f00fcffde9a3b479c2b1cbb50d18cdc9ca","user":{"login":"hashcat","id":15949799,"avatar_url":"https://avatars.githubusercontent.com/u/15949799?v=3","gravatar_id":"","url":"https://api.github.com/users/hashcat","html_url":"https://github.com/hashcat","followers_url":"https://api.github.com/users/hashcat/followers","following_url":"https://api.github.com/users/hashcat/following{/other_user}","gists_url":"https://api.github.com/users/hashcat/gists{/gist_id}","starred_url":"https://api.github.com/users/hashcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hashcat/subscriptions","organizations_url":"https://api.github.com/users/hashcat/orgs","repos_url":"https://api.github.com/users/hashcat/repos","events_url":"https://api.github.com/users/hashcat/events{/privacy}","received_events_url":"https://api.github.com/users/hashcat/received_events","type":"Organization","site_admin":false},"repo":{"id":47409672,"name":"oclHashcat","full_name":"hashcat/oclHashcat","owner":{"login":"hashcat","id":15949799,"avatar_url":"https://avatars.githubusercontent.com/u/15949799?v=3","gravatar_id":"","url":"https://api.github.com/users/hashcat","html_url":"https://github.com/hashcat","followers_url":"https://api.github.com/users/hashcat/followers","following_url":"https://api.github.com/users/hashcat/following{/other_user}","gists_url":"https://api.github.com/users/hashcat/gists{/gist_id}","starred_url":"https://api.github.com/users/hashcat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hashcat/subscriptions","organizations_url":"https://api.github.com/users/hashcat/orgs","repos_url":"https://api.github.com/users/hashcat/repos","events_url":"https://api.github.com/users/hashcat/events{/privacy}","received_events_url":"https://api.github.com/users/hashcat/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hashcat/oclHashcat","description":"World's fastest and most advanced GPGPU-based password recovery utility","fork":false,"url":"https://api.github.com/repos/hashcat/oclHashcat","forks_url":"https://api.github.com/repos/hashcat/oclHashcat/forks","keys_url":"https://api.github.com/repos/hashcat/oclHashcat/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hashcat/oclHashcat/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hashcat/oclHashcat/teams","hooks_url":"https://api.github.com/repos/hashcat/oclHashcat/hooks","issue_events_url":"https://api.github.com/repos/hashcat/oclHashcat/issues/events{/number}","events_url":"https://api.github.com/repos/hashcat/oclHashcat/events","assignees_url":"https://api.github.com/repos/hashcat/oclHashcat/assignees{/user}","branches_url":"https://api.github.com/repos/hashcat/oclHashcat/branches{/branch}","tags_url":"https://api.github.com/repos/hashcat/oclHashcat/tags","blobs_url":"https://api.github.com/repos/hashcat/oclHashcat/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hashcat/oclHashcat/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hashcat/oclHashcat/git/refs{/sha}","trees_url":"https://api.github.com/repos/hashcat/oclHashcat/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hashcat/oclHashcat/statuses/{sha}","languages_url":"https://api.github.com/repos/hashcat/oclHashcat/languages","stargazers_url":"https://api.github.com/repos/hashcat/oclHashcat/stargazers","contributors_url":"https://api.github.com/repos/hashcat/oclHashcat/contributors","subscribers_url":"https://api.github.com/repos/hashcat/oclHashcat/subscribers","subscription_url":"https://api.github.com/repos/hashcat/oclHashcat/subscription","commits_url":"https://api.github.com/repos/hashcat/oclHashcat/commits{/sha}","git_commits_url":"https://api.github.com/repos/hashcat/oclHashcat/git/commits{/sha}","comments_url":"https://api.github.com/repos/hashcat/oclHashcat/comments{/number}","issue_comment_url":"https://api.github.com/repos/hashcat/oclHashcat/issues/comments{/number}","contents_url":"https://api.github.com/repos/hashcat/oclHashcat/contents/{+path}","compare_url":"https://api.github.com/repos/hashcat/oclHashcat/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hashcat/oclHashcat/merges","archive_url":"https://api.github.com/repos/hashcat/oclHashcat/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hashcat/oclHashcat/downloads","issues_url":"https://api.github.com/repos/hashcat/oclHashcat/issues{/number}","pulls_url":"https://api.github.com/repos/hashcat/oclHashcat/pulls{/number}","milestones_url":"https://api.github.com/repos/hashcat/oclHashcat/milestones{/number}","notifications_url":"https://api.github.com/repos/hashcat/oclHashcat/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hashcat/oclHashcat/labels{/name}","releases_url":"https://api.github.com/repos/hashcat/oclHashcat/releases{/id}","deployments_url":"https://api.github.com/repos/hashcat/oclHashcat/deployments","created_at":"2015-12-04T14:46:51Z","updated_at":"2016-02-16T19:17:31Z","pushed_at":"2016-02-17T14:11:44Z","git_url":"git://github.com/hashcat/oclHashcat.git","ssh_url":"git@github.com:hashcat/oclHashcat.git","clone_url":"https://github.com/hashcat/oclHashcat.git","svn_url":"https://github.com/hashcat/oclHashcat","homepage":"https://hashcat.net/oclhashcat/","size":8403,"stargazers_count":1150,"watchers_count":1150,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":195,"mirror_url":null,"open_issues_count":67,"forks":195,"open_issues":67,"watchers":1150,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225"},"html":{"href":"https://github.com/hashcat/oclHashcat/pull/225"},"issue":{"href":"https://api.github.com/repos/hashcat/oclHashcat/issues/225"},"comments":{"href":"https://api.github.com/repos/hashcat/oclHashcat/issues/225/comments"},"review_comments":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225/comments"},"review_comment":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hashcat/oclHashcat/pulls/225/commits"},"statuses":{"href":"https://api.github.com/repos/hashcat/oclHashcat/statuses/c3dabdd69e7092c2429f262bb6ffda631d1ea462"}}}}