如何把本地可执行文件和TXT文本互转

   这个程序实现起来比较简单,有一点要注意,这个想法只适合比较小的可执行文件:

下面是bin2hexText.py的源码:

[python]  view plain  copy
  1. #!/usr/bin/python    
  2. #encoding: utf-8  
  3. import binascii   
  4. import sys  
  5.   
  6. if __name__ == "__main__":  
  7.     if len(sys.argv) != 3:  
  8.         print "Example: python ", sys.argv[0] , "in.exe""out.txt"  
  9.         sys.exit(1)  
  10.   
  11.     bin_name = sys.argv[1]  
  12.     txt_name = sys.argv[2]  
  13.     fh = open(bin_name, 'rb')  
  14.     fout = open(txt_name,'w')  
  15.     info = fh.read()  
  16.     hexstr = binascii.b2a_hex(info)  
  17.     fout.write(hexstr)  

下面是hexText2bin.py的源码:

[python]  view plain  copy
  1. #!/usr/bin/python    
  2. #encoding: utf-8  
  3. import binascii   
  4. import sys  
  5.   
  6.           
  7. if __name__ == "__main__":  
  8.     if len(sys.argv) != 3:  
  9.         print "Example: python ", sys.argv[0] , "in.txt""out.exe"  
  10.         sys.exit(1)  
  11.   
  12.     txt_name = sys.argv[1]  
  13.     bin_name = sys.argv[2]  
  14.     fh = open(txt_name, 'r')  
  15.     fout = open(bin_name,'wb')  
  16.     info = fh.read()  
  17.     asciistr = binascii.a2b_hex(info)  
  18.     fout.write(asciistr)  

把可执行文件转成文本使用:python bin2hexText.py 1.exe hello.exe.txt 

把文本转成可执行文件使用:python hexText2bin.py hello.exe.txt my.exe



转换后的文件内容如:

4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000000000000000000000000000072745f78745f656e645f5f005f5f6c696236345f6c69626d73766372745f615f696e616d65005f5f73656375726974795f636f6f6b696500


转载自:https://blog.csdn.net/ssergsw/article/details/12907737

猜你喜欢

转载自blog.csdn.net/sehejs_a/article/details/80686974