Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
from array import array
with open("Assembly-CSharp.dll", "rb") as encrypted_file:
data = encrypted_file.read()
key = "*********"
S = list(range(256))
j = 0
out = []
#KSA Phase
for i in range(256):
j = (j + S[i] + ord( key[i % len(key)] )) % 256
S[i] , S[j] = S[j] , S[i]
#PRGA Phase
i = j = 0
for char in data:
i = ( i + 1 ) % 256
j = ( j + S[i] ) % 256
S[i] , S[j] = S[j] , S[i]
out.append(char ^ S[(S[i] + S[j]) % 256])
decrypted_text = array('B', out)
with open('Assembly-CSharp2.dll', 'wb') as decrypted_file:
decrypted_file.write(decrypted_text)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.