123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051from idautils import *from idaapi import *from idc import * def decompile_func(ea): if not init_hexrays_plugin(): return False f = get_func(ea) if f is None: return False try: cfunc = decompile(f); if cfunc is None: # Failed to decompile return False except Exception as e: return 'DecompileFail' lines = ..
# IDA에서 분석하고 달아놨던 주석을 모두 가져오기 위해 디스어셈블된 상태에서 가져오는 주석인 idc.GetCommentEx 함수를 사용했지만 디컴파일된 수도코드에서 달아놨던 주석은 못가져온다.. 방법은 아래와 같다. 출처 코드에서 약간만 변경했음출처 : https://github.com/Comsecuris/shannonRE/blob/master/idapython/plugins/pseudocomments.py123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657from idautils import *from idaapi import *from idc import * co..
# 조건부 브레이크 포인트를 이용해 0x33으로 XOR 인코딩된 데이터를 디코딩 후 패치해주는 코드 12345678910111213141516171819202122232425262728293031323334353637#-*- coding: utf-8 -*- RunPlugin("python", 3) # IDAPython 라이브러리 로드 from idaapi import *from idautils import *from idc import * # 아래는 구글링 하다가 발견한 소스코드이며 구현 방법은 다양하다는 것을 느낌'''def xor(size, key, buff): for index in range(0, size): cur_addr = buff + index tmp = Byte(cur_addr) ^ ke..
1234567891011121314151617181920212223242526272829303132333435363738394041424344#-*- coding: utf-8 -*- # IDAPython 라이브러리 로드 from idaapi import *from idautils import *from idc import * addr = MinEA() # 시작 주소FText = "What" # 찾을 문자열 # ParseString 함수는 Strings 함수로 FindText 함수를 대신할 수 있게 만들어본 코드인데...흠 모르겠네요 def ParseString(text): # Shift + F12를 통해 확인할 수 있는 텍스트를 모두 가져와 찾고 싶은 문자열을 리스트 형태로 리턴 StringObjList..
# Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미하고 정수형 상수에 이름을 붙여서 코드를 이해하기 쉽게 해준다. # 스크립트123456789101112131415AddEnum(0, "ex_enum", idaapi.hexflag()) # enum 추가 enumeration = GetEnum("ex_enum") # 추가한 enum 중에 이름이 ex_enum인 것을 가져옴 AddConstEx(enumeration, 'data', 1000, -1) # 추가한 enum("ex_enum")에 { name : data, value: 1000 } 값 생성 Enum_id = GetnEnum(0) # 0 번째 Enum의 id를 가져옴 enum_constant = GetFirstConst(Enum_id,..
# IDAPython 공부하면서 엄청 막 정리한 것 ea = idc.ScreenEA()print "0x%x %s" % (ea, ea) ea = here() # 위 2개는 같은 명령어로써 현재 위치의 주소를 가져올 수 있다. hex(MinEA()) # 제일 작은 주소를 불러옴 hex(MaxEA()) # 제일 큰 주소를 불러옴 idc.SegName(ea) # get text(세그먼트 이름의 문자열 표현을 얻음) idc.GetDisasm(ea) # get disassembly idc.GetMnem(ea) # get mnemonic idc.GetOpnd(ea,0) # get first operand idc.GetOpnd(ea,1) # get second operand idaapi.BADADDR # 주소가 존재하..
- Total
- Today
- Yesterday
- Decoding
- Flybits
- 출처 : Do it 안드로이드 프로그래밍
- koodous
- us-cert
- Static Analysis Engine
- MS-Office
- 악성코드
- 해킹메일
- VirusBulletin
- 비트코인
- cuckoo-sandbox
- 멋쟁이사자처럼 4기
- idapython
- AMSI
- Yara
- 위협정보공유
- Bisonal
- vuln
- Kimsuky
- Servey
- 스피어피싱
- infostealer
- keylogger
- CVE-2018-9375
- malware
- 한글악성코드
- Cisco Talos
- .wll
- CVE-2018-0798
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |