五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

The Fuzzing Book 之 樣本突變Fuzzing(二)

2023-07-21 19:27 作者:l140w4n9  | 我要投稿

class ProgramCoverage:


??def __init__(self, source_path: str) -> None:

????self._coverage = set()

????self.reports = []

????self.rest(source_path)


??def rest(self, source_path):

????self.source_path = source_path

????self._sources = []

????for filepath, dirnames, filenames in os.walk(source_path):

??????for filename in filenames:

????????if filename.endswith('.c'):

??????????fullname = os.path.join(filepath, filename)

??????????self._sources.append(fullname)


??def sources(self) -> List:

????return self._sources


??def trace(self):

????old_work_dir = os.getcwd()

????os.chdir(self.source_path)

????for source in self._sources:

??????gcov_come = subprocess.run(

????????["gcov", source],

????????stdin=subprocess.PIPE,

????????stderr=subprocess.PIPE,

????????stdout=subprocess.PIPE,

????????universal_newlines=True

??????)

??????if gcov_come.stdout != '':

????????self.reports.append((source, gcov_come.stdout))

????????gcov_file = source + ".gcov"

????????with open(gcov_file, 'r') as f:

??????????for line in f.readlines():

????????????if line.startswith('??#####:?'):

??????????????self._coverage.add((source, int(line.strip('??#####:?').split(':')[0])))

????os.chdir(old_work_dir)


??def coverage(self) -> any:

????return self._coverage


??def __repr__(self):

????out = ""

????for report in self.reports:

??????source, gcov_info = report

??????out += source + "\n"

??????out += gcov_info

??????out += '#' * 60 + '\n'

????return out



class ProgramCoverageRunner(ProgramRunner):


??def __init__(self, program: str, sources_path):

????self.program = program

????self.sources_path = sources_path

????basename = "input.txt"

????tmpdir = tempfile.mkdtemp()

????self.input_file = os.path.join(tmpdir, basename)


??def run_process(self, inp) -> subprocess.CompletedProcess:

????print(inp)

????with open(self.input_file, 'w') as f:

??????f.write(inp + '\n')

????result = subprocess.run(

??????[self.program, self.input_file],

??????stdin=subprocess.PIPE,

??????stdout=subprocess.PIPE,

??????stderr=subprocess.PIPE,

??????universal_newlines=True

????)


????cov = ProgramCoverage(self.sources_path)

????cov.trace()

????self._coverage = cov.coverage()

????return result


??def coverage(self):

????return self._coverage

The Fuzzing Book 之 樣本突變Fuzzing(二)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
油尖旺区| 巴彦淖尔市| 左云县| 丹阳市| 南昌市| 牡丹江市| 合作市| 松阳县| 密云县| 濮阳县| 株洲市| 高唐县| 兴国县| 高平市| 富阳市| 如东县| 积石山| 察雅县| 屏山县| 仁化县| 柘荣县| 赤峰市| 玛纳斯县| 佛教| 眉山市| 江陵县| 巴林左旗| 宝鸡市| 长汀县| 汉沽区| 亚东县| 临邑县| 越西县| 浦东新区| 蕉岭县| 屯留县| 凌海市| 凯里市| 丽水市| 蓬溪县| 内丘县|