0x02 Reverse Engineer(124)
-
EasyUnpackMe
0040A1FB - E9 506FFFFF jmp Easy_Unp.004011500040A200 0000 add byte ptr [eax],al0040A202 0000 add byte ptr [eax],al0040A204 0000 add byte ptr [eax],al0040A206 0000 add byte ptr [eax],al0040A208 0000 add byte ptr [eax],al0040A20A 0000 add byte ptr [eax],al0040A20C 0000 add byte ptr [eax],al0040A20E 0000 add byte ptr [eax],al0040A210 0000 add byte ptr [eax],al0040A212 0000 add byte ptr [eax],al jmp..
2017.07.28 -
EasyKeygen
반복되는 루틴 배열 찾고, 이름과 시리얼의 관계만 파악하면 된다. Find the Name when the Serial is 5B134977135E7D13 시리얼 길이 16자리 네임 : aa일때 시리얼 : 7141 (4자리) 1)0040107E |> \0FBE4C34 0C |movsx ecx,byte ptr [esp+esi+0xC] ; 10 20 30 이 [esp+esi+0xc]에 들어감00401083 |. 0FBE542C 10 |movsx edx,byte ptr [esp+ebp+0x10] ; 내가 입력한 네임이 들어감00401088 |. 33CA |xor ecx,edx ; 입력한 한 값과 ^ 10 , 입력한 값과 ^ 20, ^ 30 2) 저 루틴 다 돌면 7141이 나오는데 네임 * 2 = 시리얼 값 ..
2017.07.28 -
인증 값 비교 문제 [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