Admin | Write | GuestBook
[공지] 해당 블로그에 용건이 있으신 분께서는 http://blog.fore.kr/ 의 방명록(Guestbook)으로 부탁드립니다.
심심해서 적어보는 ReverseMe ! 풀이 [2]
Category : Programming/Programming Talk | URL : | Written by 포레 ( 2010. 8. 24. 01:46 ) | 신고


 



C 언어로 전부 해석했으니 참고 ' ' ;


 #include <windows.h>

 #define ERROR_TITLE "Key File ReverseMe"


 void main(void){

     // GetModuleHandleA, LoadIconA, LoadCursor 생략

     HANDLE                hFile;
     BYTE                    buffer[70];
     DWORD                 rCnt = 0;
     DWORD                 pbuf,Cnt;
 

     hFile = CreateFileA("Keyfile.dat",0xC0000000,0x03,0x00,0x03,0x05B9E0B9,0x00);

     if ( hFile == INVALID_HANDLE_VALUE ){
          MessageBoxA( NULL,
                                 "Evaluation period out of date. Purchase new license",
                                  ERROR_TITLE,
                                  0x00 );
           ExitProcess(0);
           return;
     }

     if ( !ReadFile(hFile,buffer,0x46,&rCnt,NULL) )
          goto INCORRECT_VALUE;

    pbuf = Cnt = 0;

     if ( rCnt < 0x10 )
          goto INCORRECT_VALUE;

     while(TRUE){
          if ( buffer[pbuf] == 0 )
               break;
          else if ( buffer[pbuf] == 0x47 )
               Cnt++;
          pbuf++;
     }
     if ( Cnt < 0x08 )
         goto INCORRECT_VALUE;

     MessageBoxA(NULL,"You really did it! Cngratz !!!",ERROR_TITLE,0x00);
     ExitProcess(0);
     return;

INCORRECT_VALUE:
     MessageBoxA(NULL,"Keyfile is not valid. Sorry.",ERROR_TITLE,0x00);
     ExitProcess(0);
     return;

 }


Category
분류 전체보기 (605)
Notice (6)
Programming (79)
DISKER (1)
FSCH (7)
Caption (0)
Rest Time ! (443)
Hobby (64)
Tour (5)
Blind Post (0)
Recent Post
Recent Comment
Link
Calender
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today :
Yesterday :