질문을 완전히 리메이크하기로 결정했습니다. 기본 설정의 Hexedit는 가운데 창에 16 진수를 표시하고 오른쪽 창에 ANSI 텍스트를 표시합니다. 다음은 현재 코드입니다.
patlst = [line.strip() for line in open(patch,'rb',1)] #Read Patch start
if alphex == 'h' :
old = patlst[patlst.index('OLD:')+1] #get old data str
new = patlst[patlst.index('NEW:')+1] #get new data str
old = old.lower();old = ''.join(old.split())
new = new.lower();new = ''.join(new.split())
pircwd = os.chdir('..'); pircwd = os.getcwd() ##DIR change
with open(tar, 'rb') as f:
data = binascii.hexlify(f.read(160))
with open(tar+'BAK', 'wb') as f:
f.write(data.replace(b'old',b'new'))
변경되지 않은 원래 hexedit보기 :
원하는 결과 :
실제 결과:
제대로 작동하려면 압축 및 압축 해제 기능이 필요하다고 생각합니까? 아니면이 작업을 수행하는 더 좋은 방법이 있습니까?
(ASCII로 인코딩 된) 16 진수에서 바이너리로 변환하려면 binascii.unhexlify()
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다