zoukankan      html  css  js  c++  java
  • IDApython学习记录

    1.异或解密

    Byte是以字节为单位进行解密,也可以有Dword,Word,在最后你可是使用MakeCode转化为代码,不过我这里是数据,就不用这句代码了。

    def XorBytes(start,length):
      for i in range(0,length):
            byte_value = Byte(start+i)
            byte_value =  byte_value^0xFF
            PatchByte(start,dword_value)
    
            XorBytes(0x403010,49)     
    

    2.替换指令为Nop

    def nopIt(start,length):
          for i in range(0,length);
            PathByte(start+i,0x90)
          MakeCode(start)

     3、Xorddos—MD5:0B3456561B7942AA67403CDDC1FAD2BD

    因为xorkey是Ascii,需要用ord转换为数字

    xorkeys = 'BB2FA36AAA9541F0'
    
    def XorBytes(start,length):
        for i in range(0,length):
            byte_value = Byte(start+i)   
            byte_value = byte_value^ord(xorkeys[i % 16])	
            PatchByte(start+i,byte_value)
    
    XorBytes(0x080B0E60,0xC)
    

     4、Nitol---MD5:412D5F1933BE177131B4AF6711305FBE

    Base64+异或相加,python用a=int(encode_b[i])+0x38

    import base64
    encode = "1ObhHd/a4t3g4t3e3NYdy8rJCRUTExVD"
    encode_b = base64.b64decode(encode)
    for i in range(0,len(encode_b)):
        a = ord(encode_b[i]) + 0x38
        if a >256:
            a = a - 256
        a = a ^ 0x7B
        PatchByte(0x004013D4+i,a)
    

      

      

  • 相关阅读:
    JAVA日常之三
    java将字符串存入oracle的Blob中
    java连接oracle数据库
    JAVA日常之二
    JAVA日常之一
    linux日常命令之三
    linux日常命令之二
    linux日常命令之一
    Python之路【第四十篇】:django日更
    Python之路【第三十九篇】:django日更
  • 原文地址:https://www.cnblogs.com/Ghost3C/p/3757509.html
Copyright © 2011-2022 走看看