Constant(440)
-
Simple VM solve 공개용
root 권한으로 실행 한 후 gcore를 이용하여 덤프를 뜨고 분석을 하면 된다. 여러가지 문자열들이 xor 처리 되면, 성공, 실패, 에러 등의 구문이 된다. 이런것으로 어디 루틴에 들어가면 안되는지 판단 한 후, 정적으로 리버싱을 한다. 정적으로 리버싱 하다보면, 200바이트를 가지고 노는 부분이 있는데 asm으로 살펴보면 이를 아주 많이 이용함을 볼 수 있다. 200바이트를 테이블로 만들고, 특정 함수에서 여러개로 분기되는 부분이 있고, 연산하는 부분이 있다. 그 부분들을 잘 캐치해서 코드를 작성하면 키를 구할 수 있다.
2018.12.24 -
play.ps1
보호되어 있는 글입니다.
2018.09.21 -
NOX CTF att3nti0n[REV]
NOX CTF 라이트업을 보니까 내가 접근 하지 못한 부분이 존재하였다. 그것은 바로 "VirtualAlloc부터 존재하는 루틴에 대한 미 이해 "좀 더 꼼꼼히 코드를 봐야겠다. 그럼 그대로 따라하면서 연습해보자. 먼저 main 부분부터 살펴보도록 하자.프로그램의 인자 값이 키 값이 되는 형태다.int __cdecl main(int argc, const char **argv, const char **envp) { int result; // eax __main(); if ( argc == 2 ) { if ( (unsigned __int8)check(argv[1]) == 1 ) fwrite("Correct! :)\n", 1u, 0xCu, (FILE *)__iob[0]._ptr); else fwrite("No..
2018.09.09 -
MIPS 구축
보호되어 있는 글입니다.
2018.08.15 -
toddler horcruxes
보호되어 있는 글입니다.
2018.08.14 -
toddler blukat
보호되어 있는 글입니다.
2018.08.14