Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shamrocksu88/89a938e64a75551b5a70d5f03f66daa7 to your computer and use it in GitHub Desktop.
Save shamrocksu88/89a938e64a75551b5a70d5f03f66daa7 to your computer and use it in GitHub Desktop.
Decode Base64 strings in a git repo's commit history
from pydriller import RepositoryMining
import re
import base64
foundSet = set()
for commit in RepositoryMining('./').traverse_commits():
for mod in commit.modifications:
if mod.source_code_before != None:
regex = re.findall(r"<text encoding=\"base64\">[^>]+</text>", mod.source_code_before)
for result in regex:
based = str(base64.b64decode(result[len("<text encoding='base64'>"):-len("</text>")]))
if based not in foundSet:
print(based)
foundSet.add(based + "\n")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment