Constant(438)
-
ROOTME PYC-BYTECODE
Python중에 pyc로 되어 있어서 pyc decompiler를 이용하였다. 파이썬 역분석을 처음 해봐서 엄청 해맸다. 문제를 보면 KEY값이 하드코딩 되어있고, 사용자가 입력한 PASS를 통해 KEYOUT를 생성할 수 있다. 파이썬의 ord는 문자의 코드 값을 구하는 함수이다. 이를 chr로 변환하여 풀었다. 코드를 많이 변환하지 않고 결과가 SOLUCE와 같아야 하기 때문에 SOLUCE를 인자로 삼고 브루트포싱 했다.. 후 오래걸렸다. 문제:print('Welcome to the RootMe python crackme')PASS = raw_input('Enter the Flag: ')KEY = 'I know, you love decrypting Byte Code !'I = 5SOLUCE = [ 57..
2018.05.19 -
ROOTME ELF PTRACE
PTRACE 안티디버깅 우회 한 뒤 문자열 비교 하면 끝
2018.05.19 -
ROOTME FAKE INSTRUCTION
FAKE INSTRUCTION에 꽂혀야 하는데... blowfish에 꽂혀서 못풀었따. 문제 명을 잘 읽자. 그럼 끝...
2018.05.19 -
KISA Diary 문제풀이 및 상세분석
팀원인 zer0day에게 바이너리를 우연히 받았다. 감사따리다~~ (grin) 오늘 받았으니 오늘 안에 끝내고 싶어서 집에서 분석을 하고, 잠시 밥을 먹으러 외출했다가 카페와서 마무리 하였다. (저번 키사문제도 맥주 한잔 하고 풀었는데.. 얘도 맥주 마시고 분석했다..맥주는 좋다.) 우선, 바이너리를 통해 반성을 해본 것이 있다. 1. 아직까지 WIN32API 분석 속도가 느린 점이다.지금 까지 한 3개 정도의 프로그램을 분석해보았는데, 이 녀석은 핵심 심볼도 일부 지워져 있고,(MessageBox 얘만 살아있으면 되게 빨리 감을 잡았을 텐데..) 코드가 TEXT섹션과 CODE섹션에 병합되어 있는 형태여서 다소 생소하였다. 그리고 break point와 trace를 동시에 보는 눈이 부족했다. 2. 바이..
2018.05.18 -
Rsa_Calculator set_key 우회 c코드
보호되어 있는 글입니다.
2018.05.18 -
[1-1-2] C++ Vtable을 구현해보고 디버깅 해보자 [1]
가상함수 ... vptr, vtable 이놈들 잘해야 분석 실력이 증가한다. Vtable 하기전에 가상함수부터 살펴보자. 가상함수? 클래스 타입의 포인터로 멤버 함수를 호출할 경우 동작하는 함수이며 키워드는 virtual이다. 삽질 1. A클래스와 A를 상속한 B클래스를 선언한 뒤 Message함수를 만들어 A클래스 타입의 포인터 pa를 인수로 하여 A객체와 B객체를 정적 / 동적 바인딩을 해보기. Example SourceCode #include #include using namespace std; class A { public: virtual void OutMessage() // virtual 키워드가 붙게 되면 동적 바인딩이 된다 { cout
2018.05.17