Study27 openssl openssl을 이용한 echo client 참고 소스 server sidehttp://h71000.www7.hp.com/doc/83final/ba554_90007/ch05s04.htmlclient sidehttp://h71000.www7.hp.com/doc/83final/ba554_90007/ch05s03.html 도저히 윈도우에서 nmake이용해서 빌드하는방법은 못찾아서 그냥 다른사람이 빌드해놓은것을 사용했음 압축을 푼 위치로 가서(C\위치에 풀어둠)cmd 에서cd C:\OpenSSL\bin\set RANDFILE=.rndset OPENSSL_CONF=C:\OpenSSL\openssl.cfgopenssl genrsa -out ca.key 4096openssl req -new -x509 -days 18.. 2015. 9. 19. Check your serial 실행시켜보면 다음과 같은 창을 볼 수 있다. 이름과 시리얼값을 임의로 넣어 실행해봐도 프로그램에 변화가 없다.Serch for > All intermodular calls 로 들어가서 cmp 라는 이름의 함수를 찾아보자. vbaVarCmpEq 부분의 함수를 찾아 break point 를 걸어본 뒤 이름과 시리얼값을 입력을 하면 내가 입력한 시리얼값과 입력한 이름에따른 시리얼값이 있음을 알 수 있다. 넣어보면 저 유니코드값이 만들어지는 시리얼값임을 알 수 있다 이재 시리얼이 만들어지는 과정을 찾아보자특별히 눈에띄는 이름은 없기때문에 각각 함수들을 call한 이후의 결과를 보아 어떤함수가 시리얼을 만드는 함수인지 확인해보자. 먼저 이 함수의 결과로 내가 입력한 이름이 0012F4DC 에 들어간다. 그리고 이.. 2015. 5. 30. crackme by hackereh@! 이번문제 역시 시리얼 값을 찾는것이다. 시리얼값을 입력하지 않고 check 를 했을때 뜨는 메세지 박스를 통해 back to user 모드로 텍스트 박스의 위치로 가보자. 성공했을때 출력되는 문장이 보이는대 이 메세지박스를 출력하려면 다음의 분기문을 모두 통과 해야 한다. 중간에 있는 분기문들은EDI 에 있는값들을 하나씩 불러서 그것을 정해진 값들과 AND 연산을 하는대AND의 결과값이 0일때 ZF 가 1로 세워지므로 그것을 이용하여 JNZ 를 모두 통과해야 한다. 각각 숫자들은 0AD9A970BF5FC50D66개 가 있다. 내가 입력한 값들의 AL과 AND 연산을 하는대AL은 8비트만 신경쓴다.먼저 EDI는 내가 입력한 시리얼들인대 한글자 씩 불러와 비교를 한다.첫번째 시리얼은 0AD 와 비교되는대이것.. 2015. 5. 29. crackme5 crackme5를 실행시켜보면 다음과 같은 창을 볼 수 있다. Enter your serial 을 지우고 원하는 시리얼 값을 입력하면 그에따른 결과가 나온다. 스크롤을 조금 내려보면 성공과 실패 메세지를 분기하는 부분과 어떤 값을 비교하는 함수가 보인다. 이 분기문에서 값이 같다는 결과가 나와야 한다.이때 비교하는 시리얼 값이 만들어지는 과정이 나와 있는대 이미 있는 문자열을 가지고 증가시키고 두 키값을 연결(cat)시켜서 시리얼 값을 만든다. 그리고 마지막에 내가 입력한 문자열 string2와 만들어진 시리얼 값 string1 을 비교하여같다면 성공 문자를 출력하게 된다.이 프로그램의 성공 시리얼값은 L2C-57816784-ABEX 을 입력하면 성공하는 것을 볼 수 있다. 2015. 5. 28. 이전 1 2 3 4 5 6 7 다음