vdb.append(t) #최종 vdb에 저장 size = int(v[2]) #악성코드 파일 크기 if vsize.count(size) == 0: #이미 파일크기가 등록되었나? vsize.append(size) elif scan_func == 'ScanStr': #특정 위치 검색법인가? t.append(int(v[2])) #악성코드 진단 문자열의 위치를 저장 t.append(v[3]) #악성코드 진단 문자열을 저장. t.append(v[4]) #악성코드 이름을 저장. sdb.append(t) #최종 sdb에 저장 if __name__ == '__main__': LoadVirusDB() # 악성코드 패턴을 파일에서 읽는다 MakeVirusDB() # 악성코드 DB를 가공 # 커맨드라인으로 악성코드를 검사할수있게 한다 # 커맨드 라인의 입력방식을 체크 if len(sys.argv) != 2: print('Usage :virus.py [file]') exit(0) fname = sys.argv[1] # 악성코드 검사 대상 파일 ret, vname = scanmod.ScanVirus(vdb, vsize, sdb, fname) if ret == True: print('%s : %s' % (fname, vname)) curemod.CureDelete(fname) #파일을 삭제해서 치료 else: print('%s : ok' % (fname))
sdb.append(t) if __name__ == '__main__': LoadVirusDB() MakeVirusDB() # 커맨드 라인으로 악성코드 검사 # 커맨드라인의 입력방식 체크 if len(sys.argv) != 2: print 'Usage: antivirus.py [file]' sys.exit(0) # 악성코드 검사 대상 파일 fname = sys.argv[1] try: m = 'scanmod' f, filename, desc = imp.find_module(m, ['']) module = imp.load_module(m, f, filename, desc) # 진단함수 호출 명령어 구성 cmd = 'ret, vname = module.ScanVirus(vdb, vsize, sdb, fname)' exec cmd except ImportError: ret, vname = scanmod.ScanVirus(vdb, vsize, sdb, fname) if ret == True: print '%s : %s' % (fname, vname) curemod.CureDelete(fname) else: print '%s : ok' % (fname)
t.append(v[4]) vdb.append(t) size = int(v[2]) if vsize.count(size) == 0: vsize.append(size) elif scan_func == 'ScanStr': t.append(int(v[2])) t.append(v[3]) t.append(v[4]) sdb.append(t) if __name__ == '__main__': LoadVirusDB() MakeVirusDB() if len(sys.argv) != 2: print 'Usage: antivirus.py [file]' exit(0) fname = sys.argv[1] ret, vname = scanmod.ScanVirus(fname) if ret == True: print '%s: %s' % (fname, vname) curemod.CureDelete(fname) # 파일 삭제! else: print '%s: virus not found.' % (fname)