22018, 1/1101 회원가입  로그인  
   hjt7942
   암호풀기.exe (0 Byte), Download : 231     [오른쪽 버튼 눌러 다운 받기]
   초보입니다.[암호해독대입]만들어봣는데요.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=30903 [복사]


#include <stdio.h>
#include <string.h>


char* SolvePwd4(char* sPassword)        //4자리의 암호를 해독하는 함수
{
        
        char Result[5]={0,0,0,0};                //인자로 받은 암호를 넣어놓음 (초기화)
        int count=0;
        char *Pwd;

        for(int a=33;a<126;a++)
        {
        Result[0] = a;
                for(int b=33;b<126;b++)
                {
                Result[1]= b;
                        for(int c=33;c<126;c++)
                        {
                        Result[2]=c;
                                for(int d=33;d<126;d++)
                                {
                                        Result[3]=d;
                                        count++;
                                        Pwd=Result;
                                        if(strcmp(sPassword,Pwd)==0)
                                        {
                                        printf("\n답%s\n",Pwd);
                                        printf("카운트 횟수 = %d\n",count);
                                        return Pwd;
                                        }
                                }
                        }        
                }        
        }

        return NULL;        //결과값 리턴
}

void main()
{
        char Password[5]="q525";
        char *Pwd=Password;

        printf("패스워드 = %s\n",Password);
        SolvePwd4(Password);
}

이런게 실제로 웹이나 시스템 비밀번호 풀때 쓸수있을까요?


컴파일러2010express
릴리즈

  Hit : 11180     Date : 2013/06/04 05:39



    
brute13 제가 한 방식이랑은 다르네요..
스승이없어서 힘들었던 경험이.. ㅠ
어떤식으로 만드실지는 모르겠지만 메크로프로그램 형식으로 돌린다면 알고리즘 다시 짜셔야할듯 ㅎㅎ
2013/06/04  
hjt7942 어떤부분이잘못된건가요? 2013/06/04  
brute13 제가 했던 방식은
암호 몇자릿수인지 모름
숫자,소대문자 , 특수문자 다 쓴다는 가정
중간값을 넣어서 원하는 키부터 찾을수 있다는 가정 예)"gae131"부터시작
등등 해야할게 많았다는 ㅠㅠ 혹시 매크로 관련해서 궁금한거있으면 저한테 쪽지주세요 소스 보여드릴게요 ㅎㅎ
2013/06/04  
hjt7942 아 이건방금궁금해서짠거라... 실제로 하는방식이궁금해서 짜본거에요 그리고 요거 아스키코드로 대입하는거라..대소문자특수문자숫자는상관없을거같아요ㅠ입력값부터조사하는건..반복문 초기값고치면 될거같아요ㅠㅠ
제가궁금한건 리버싱안하고 비밀번호찾을때 실제로는 어떤식으로 찾나요?
2013/06/04  
brute13 그냥 제가 한 방식에 대해 설명드릴게요~! 저도 리버싱dll을 사용하긴했는데.. 일단 설명
api로 만들었구요 매크로 방식입니다~! 마우스후킹+키보드 입력 + 결과값은 좌표에대한 비교 크게 3개구
마우스 후킹같은경우에 dll사용해서 전역후킹사용 좌표가져왔구요~ 키보드 입력은... 아스키코드값과 가상키코드는 일치 안하는 것이 있으므로 (예: 아스키"A" = 가상키코드의 버튼"a" 임,아스키"a" = 가상키코드"/or?or+등등 특문(기억이잘안남..) )
배열로 키코드배열을 하나 만듬
그리고 for문 3개면 가능
그리고 그리 해도 상관은 없을수도있으나
저는 알고리즘 따로 출력 따로 만들었어요~ 알고리즘에서 나온 결과값을 출력문에서 처리 같냐 틸리냐 -> 틸리면 -> 매크로 작동 -> 마우스 움직이고 -> 키보드 알고리즘 작동 -> 나온값 출력 -> 반복 -> 성공시 멈추고 결과값 출력
2013/06/04  
brute13 일단 저 오늘 칼퇴할꺼라 지금은 답 못드리고.. 내일 확인할게요!!
근대 아직 저도 초보..ㅠㅠ(신입4개월차ㅠㅠ) 도움 필요하시면 쪽지하세요~!!
몇일전에 5일동안 작업해서 만들어서 아직 머리속에 있어요 ㅎㅎ 소스도 그대로 있고 ㅎㅎ
매크로식으로 프로그램 만드실거면 최대한 성심성의껏 도와드릴게요~~!!
2013/06/04  
hjt7942 오 감사합니닿ㅎ큰틀을 알려주셔서ㅎ이해가됬네요ㅎ저도 api로 만돌어봐야겠네요
2013/06/04  
hjt7942 그런데 매크로 이런방법들은 요즘에도 잘쓰나요? 2013/06/04  
Silk 기본적으로 부르트포싱은 위와같은 형태의 알고리즘을 채택합니다.

좀 더 스마트한 형태의 부르트포싱이나 사전대입식 크랙은 존재합니다.
2013/06/04  
hjt7942 아 그렇구나 ㅎ감사합니다 2013/06/04  
brute13 제가 볼때 쓸만하진 않은것같아요~! ㅜㅜ
이것도 이사님이 알고리즘 관련해서와 자료구조, 간단히 리버싱과 각종 시스템관련 필요한것들에 대한 이해도를 높이라고 숙제로 내주셨던거라 ..(숙제는 숙제이되 어떠한 자료도 없이 맨땅에 시작 ㅠㅠ) 쓸만하지 않습니다 ㅠㅠ 8자릿수라는 가정하에 대입해서 찾는다면 엄청나게 오래 걸립니다 ㅠㅠ 키배열이 56개라면 56에 8승에 한번 키입력했을때의 시간 그런거까지 따지면 엄청나게 길어집니다..ㅠㅠ 하지만 응용하면 사용할때가 많을것 같아요~!! 도움이 되서 다행이네요!! ㅎ
2013/06/05