Guest User

Untitled

a guest
Jun 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. def socksl(strinput):
  2. length = len(strinput)
  3. arr = [0 for i in range(length)]
  4. i = length - 1
  5. while i >= 0:
  6. char1 = strinput[i]
  7. n = i - 1
  8. arr[i] = chr(ord(char1) ^ 0x5c)
  9. if n < 0:
  10. break
  11. i = n - 1
  12. arr[n] = chr(ord(strinput[n]) ^ 0x1e)
  13.  
  14. return ''.join(arr)
  15.  
  16. def get_string(addr):
  17. out = ""
  18. while True:
  19. if Byte(addr) != 0:
  20. out += chr(Byte(addr))
  21. else:
  22. break
  23. addr += 1
  24. return out
  25. def handle_function(func_start):
  26. for h in idautils.FuncItems(func_start):
  27. for xref in XrefsTo(h, 0):
  28. #print 'from', hex(xref.frm), 'to', hex(xref.to),
  29. inst = DecodePreviousInstruction(xref.frm)
  30. if(get_operand_type(inst.ea,1) != 9):
  31. continue
  32. st = get_string(get_name_ea(inst.ea,print_operand(inst.ea,1)))
  33. dec = socksl(st)
  34. print get_operand_type(inst.ea,1),c,st,"-->",dec
  35. set_cmt(xref.frm,dec,1)
Add Comment
Please, Sign In to add comment