0x02 Reverse Engineer/0x03. Etc(70)
-
[H4C CTF] Let's Bingo !
보호되어 있는 글입니다.
2017.09.09 -
[Basic] Tutorial Reversing - Controlled to printf
많은 사람들이 C언어를 처음 접했을 때 'hello world' 부터 경험하면서 우와 이거 정말 신기하다. 라고 느꼈을 것이다. ( 전 정말로 너무 신기했었습니다. 까만 창에 글이 적히는 행위가)그때를 회상하며, 오늘은 리버스엔지니어링에서 'hello world'를 조작하는 방법에 대해 포스팅을 해볼까합니다. 카카오톡 오픈채팅에서 어떤 분이 부탁하셔서 작성하게 되었는데, 은근히 글 쓰는게 재밌을 것 같아서 흔쾌히 동의하고 포스팅을 시작해봅니다. 우선, 프로그램을 만들어야겠죠? VS IDE를 이용하도록 하겠습니다. IDE(Integrated development environment) 라고 하는데요. 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경..
2017.08.25 -
인증 값 비교 문제 [gdb 적응용]
gdb에 적응하기 위해 간단한 코드를 만들어서 실습을 해보았다. 소스코드는 다음과 같다. #include #include #include int check_authentication(char *password){int auth_flag = 0;char password_buffer[16]; strcpy(password_buffer, password); if(strcmp(password_buffer,"constant") == 0)auth_flag = 1;if(strcmp(password_buffer,"love hack") == 0)auth_flag = 0; return auth_flag;} int main(int argc, char *argv[]){if(argc
2017.07.07 -
[피카츄 시연]
[2p 무조건 승리]
2017.07.03 -
피카츄 리버싱 5부...
Day 4 이번에는 게임 무한 실행에 대한 공부를 진행한다. 게임이 무한 실행되기 위한 조건은 !! 그것은 바로바로.... 공이 떨어졌을 때 체크하는 것을 우회 하는 것 무한 실행에 대해 조사하다가 다른것도 알게 되었다.1p의 피카츄가 스파이크? 를 하지 않게 하는 루틴을 찾아 내었다. jnz의 주소를 jle에 넣되 less 의 반대인 greater를 적어두자. 이 조작까지 하게 되면, 2p진영은 공이 땅에 닿았는지 체킹을 하지 않게 된다. 잠깐 영상을 감상하자. 그렇다면... 1p 진영도 무적이 되게 해서 실컷 놀기 위해서는 어떻게 해야할까? 1p가 ...너무너무 잘해서 위에서 조작 성공한 스파이크 하는 1p를 없애고 테스트를 진행함. 끝~~!!
2017.06.05 -
피카츄 리버싱 4부...
Day 3 오늘의 목적: 게임의 최대 점수를 조작. 지난 시간에, 게임의 속도를 조작해보았다. 이번에는 각 메뉴의 5포인트 10포인트 15포인트를 조작해본다. OllyDdg와 IDA라는 프로그램을 동시에 사용하였다. 1) OllyDdg에 피카츄배구를 Attach시키고, 프로그램을 실행시켜 프로세스 동작(Running)상태로 만들어 둔다. 2) 메뉴의 옵션을 클릭해본다.의심 되는 루틴이 보인다. 3) 아무거나 접근해본다. 3가지의 비교가 나오는데 누가봐도 스코어다....^^ 4) 값 수정 전에 실행해보자. 5) 5점이 되면 끝난다. 이제 이 값을 1로 조작을 하고, 기타 다른 점수 또한 10점,15점에서 임의값으로 조작을 진행한다. 6) 이제 5점 위치는 1점으로 변경되었으므로 점수 1점만 나도 게임은 종..
2017.06.05