메모 |
enum CompressionAlgorithm { k_zlib, // 0 k_deflate, // 1 k_lzma // 2 }; if (IsShared() || ( m_subscribers.length() > 0 )) { toplevel()->argumentErrorClass()->throwError(kAPICannotAcceptSharedByteArray); } // Snarf the data and give ourself some empty data // (remember, existing data might be copy-on-write so don't dance on it) uint8_t* origData = m_buffer->getArray(); bool origCopyOnWrite = m_buffer->getCopyOnWrite(); uint32_t origCap = m_buffer->getCapacity(); uint32_t origLen = m_buffer->getLength(); uint32_t origPos = m_position; MMgc::GCObject* origCopyOnWriteOwner = m_copyOnWriteOwner; if (origLen) {// empty buffer should give empty result switch (algorithm) { case k_lzma: UncompressViaLzma(origData, origCopyOnWrite, origLen, origCap, origPos, origCopyOnWriteOwner); break; case k_zlib: default: UncompressViaZlibVariant(algorithm, origData, origCopyOnWrite, origLen, origCap, origPos, origCopyOnWriteOwner); break; } if (IsShared() || ( m_subscribers.length() > 0 )) { toplevel()->argumentErrorClass()->throwError(kAPICannotAcceptSharedByteArray); } // Snarf the data and give ourself some empty data // (remember, existing data might be copy-on-write so don't dance on it) uint8_t* origData = m_buffer->getArray(); bool origCopyOnWrite = m_buffer->getCopyOnWrite(); uint32_t origCap = m_buffer->getCapacity(); uint32_t origLen = m_buffer->getLength(); uint32_t origPos = m_position; MMgc::GCObject* origCopyOnWriteOwner = m_copyOnWriteOwner; if(origLen){ switch (algorithm) { case k_lzma: CompressViaLzma(origData, origCopyOnWrite, origLen, origCap, origPos, origCopyOnWriteOwner); break; case k_zlib: default: CompressViaZlibVariant(algorithm, origData, origCopyOnWrite, origLen, origCap, origPos, origCopyOnWriteOwner); break; } } |
얻은 것들:
1. 문자열 및 함수 참조를 이용한 (대충 구조 및 소스코드를 알때) 함수 파악
2. pykd + windbg
힘들었던 점:
1. 여전히 후킹이 되지 않는다. Object의 toString() 을 구한것 같은데도... ("[Object","]"라는 문자열을 참조하는 함수들을 찾아 조사 해보면 된다 - 두가지가 있음
2. 브포는 걸리는데 AVMCore에서만 걸리고 toString에선 안걸림~
빡쳤던 점:
액티브엑스 디버그를 설치해도 ocx파일이 리컴파일되서 오프셋이 다 이상해진다. 내 idb ㅠㅠ
'Project > Flash CVE 1-day Analysis' 카테고리의 다른 글
CVE-2015-0311 분석 7일차 (0) | 2017.01.23 |
---|---|
CVE-2015-0311 분석 6일차 (0) | 2017.01.21 |
CVE-2015-0311 분석 4일차 (0) | 2017.01.15 |
CVE-2015-0311 분석 3일차 - 메모 (0) | 2017.01.14 |
CVE-2015-0311 분석 3일차 - hacklab.kr 관계자분과 대화 요약 (0) | 2017.01.14 |