본문 바로가기

Research/Etc

Hex-rays Decompilation failure 디컴파일을 시도할 때 아래처럼 IDA 가 징징거리는 경우가 있다. TL;DRcall analysis failed 에러가 난 주소의 함수를 디컴파일하고 다시 오세요. 항상 '어 디컴파일이 안되나 보네 ?' 하고 넘어갔던 에러인데,최근에 codegate 2018 boom 문제를 풀다가 이제서야 알게 된; 내용이라 기록한다. 문제 풀이에 키가 되는 주요 함수 func1::hbc30.. 을 디컴파일하려 하니 나온 메시지로, '0x55555556511B 주소에 있는 인스트럭션이 뭔말인지 모르겠어...' 이다. 저 주소를 직접 찍어가 보면, call 호출부임을 알 수 있다. 함수 분석에 실패했으니. func5::h0a9... 내부에서 다시 디컴파일 호출해 보면, '0x55555556511B 주소에 있는 인스트럭션이.. 더보기
ws filter 보호되어 있는 글입니다. 더보기
[github] syncing a fork - fork 한 리파지토리 업데이트 하기 Here’s how to update your fork directly from GitHub (as shown in the video above):Open your fork on GitHub.Click on Pull Requests.Click on New Pull Request. By default, GitHub will compare the original with your fork, and there shouldn’t be anything to compare if you didn’t make any changes.Click on switching the base (if no changes were made in the fork) or click Edit and switch the base manual.. 더보기
입출력 리다이렉션 Popen 을 이용한 리다이렉션을 하고싶은데.하나의 스크립트로만 사용을 하고싶은데! 잘 안된다.그냥 단순히 subprocess.Popen( '....', stdin = subprocess.PIPE, stdout=subprocess.PIPE)이렇게 주고 어떻게든 짜면 될 것 같아서 별짓 다 했지만... buffered 라는게 있다고 하네.그래서 혹여나 퍼너블 시에 canary를 구하는 등의, 상호 동기적인(synchronous한) 데이터의 주고받기가 필요한 경우에는... 다른 방법을 써야 겠고.그게 아니면. 그냥 일방적으로 데이터를 밀어넣기만 하면 되는 경우는아래와 같이 해도 되겠더라. int main() {어쩌고저쩌고 초기화for(i=0; i 더보기
설치된 드라이버 살펴보기 시작 - 실행 - msinfo32 - 소프트웨어 환경 - 시스템 드라이버. 헐.... 이런 쉬운 툴이. 더보기