Skip to content

Instantly share code, notes, and snippets.

@Elizaveta239
Last active March 24, 2017 17:16
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 Elizaveta239/75614dabd39e1bbfb47298c0ed8d5541 to your computer and use it in GitHub Desktop.
Save Elizaveta239/75614dabd39e1bbfb47298c0ed8d5541 to your computer and use it in GitHub Desktop.
def bar():
a = 1
b1 = 1 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23
b2 = 1 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23 if a > 1 else 2 if a > 0 else 3 if a > 4 else 23
c = 3
def _modify_new_lines(code_to_modify, all_inserted_code):
"""
Update new lines in order to hide inserted code inside the original code
:param code_to_modify: code to modify
:param all_inserted_code: list of tuples (offset, list of code instructions) with all inserted pieces of code
:return: bytes sequence of code with updated lines offsets
"""
new_list = list(code_to_modify.co_lnotab)
abs_offset = 0
print("all inserted", all_inserted_code)
print(new_list)
i = 0
while i < len(new_list):
prev_abs_offset = abs_offset
abs_offset += new_list[i]
for (inserted_offset, inserted_code) in all_inserted_code:
if prev_abs_offset <= inserted_offset < abs_offset:
size_of_inserted = len(inserted_code)
new_list[i] += size_of_inserted
abs_offset += size_of_inserted
if new_list[i] > MAX_BYTE:
new_list[i] = new_list[i] & MAX_BYTE
new_list = new_list[:i] + [MAX_BYTE, 0] + new_list[i:]
i += 2
print("result list:")
print(new_list)
return bytes(new_list)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment