반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import pefile from collections import defaultdict get_api = defaultdict(lambda: defaultdict) for index, i in enumerate(filelist): print(index, i) pe = pefile.PE(i) pe.parse_data_directories() #record every file API list try: for entry in pe.DIRECTORY_ENTRY_IMPORT: for imp in entry.imports: try: print('\t', hex(imp.address), imp.name) except: pass except: pass | cs |
출력형식은 다음과 같다:
comdlg32.dll 0x10012A0L PageSetupDlgW 0x10012A4L FindTextW 0x10012A8L PrintDlgExW [snip] SHELL32.dll 0x1001154L DragFinish 0x1001158L DragQueryFileW
원래 PEframe을 사용하여 API를 뽑을려고했는데 가끔씩 프로그램이 죽어버리는 경우가 생겨서
직접 pefile을 이용하여 API를 뽑는걸 해보았다.
기억해두면 좋을듯
반응형
'Data > Python' 카테고리의 다른 글
[Python] psycopg2 라이브러리를 활용하여 table column얻기 (0) | 2022.03.22 |
---|---|
[Python] 리스트 일정 구간 통째로 바꾸기 (0) | 2020.05.07 |
[Python] relativedelta함수 (timedelta엔 한달빼는게 왜없을까) (0) | 2020.02.18 |
[Python] 정렬 알고리즘 (0) | 2018.09.11 |
[Python] 삽입순서를 기억하는 OrderedDict (0) | 2018.03.16 |