Security ★ Development(154)
-
다차원배열 1
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제는 더블릿 7 다차원배열에 있는 fishing입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/fishing/fishing.php?pname=fishing 5 X 5 범위가 주어졌을 때 직사각형 범위의 합이 가장 큰 영역을 구하는 문제입니다. 간단히 시작지점과 끝지점이 모든 영역을 돌면서 그 사이의 합을 구하도록 하였습니다. 6중 for문을 사용하였습니다. 영역이 커지면 시간초과도 날 것 같지만 이 문제에 대해서는 accept를 받았으니 다음 문제로 넘어가겠습니다.
2014.10.13 -
tree 1
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제는 더블릿 15 tree에 있는 bridging입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/bridging/bridging.php?pname=bridging 1부터 순서대로 반대편단자와 연결시키고 교차하지 않고 연결이 가장 많이 되었을 때 단자의 수를 구하는 문제입니다. 각각의 단자와의 연결에 대한 입력이 있을 때마다 그 전까지의 경우 중 가장 연결이 많이 되었을 때의 값을 갖고 있어야 합니다.각 단자를 단말노드로 구성한 이진트리를 구성합니다.2의 배수 중 단말노드의 수를 넘는 최소값이 전체 단말노드의 수가 됩니다. 에제 문제 6 4 2 6 3 1 5를 예로 보겠습니다.root 노드의 인덱스를 1로 보았을 때 단말 ..
2014.10.12 -
안드로이드 진단 도구
* 틀린 내용이 있을 시 지적 부탁드립니다. 안드로이드 진단에 유용한 도구를 잠깐 살펴보겠습니다. 1. Drozer 프레임워크Drozer는 안드로이드 디바이스 시스템에 접근해 어플을 점검할 수 있는 모바일 진단 프레임워크입니다. https://www.mwrinfosecurity.com/products/drozer/community-edition/window installer를 받아 setup파일로 윈도우pc에 설치해주고 apk파일은 폰에 설치합니다.adb를 이용해 port를 맞춰줍니다. pc의 tcp 상태를 보면 drozer는 31415 포트에서 실해오디고 있습니다.adb forward tcp:31415 tcp:31415drozer실행은 다음 명령어로 합니다.drozer.bat console connec..
2014.10.05 -
dynamic programming 2
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제는 더블릿 21 dynamic programming에 있는 playoff입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/playoff/playoff.php?pname=playoff 문제는 이렇습니다.게임을 총 N판을 합니다.그런데 A선수와 B선수가 N판을 다 하기 전에 게임이 끝납니다.그랬을 경우 각 선수가 상금을 가져갈 확률을 구하면 됩니다. 예제에 나온 입력 4, 1, 0인 경우총 4판에 A가 한판 이긴 상태입니다.이후 A가 나머지 게임을 이길 확률을 보면A가 이겼을 때 : OB가 이겼을 때 : X1판 2판 3판 4판 5판 6판 7판 8판O O O O X O O O O X O O O O X O X X O O O.....
2014.10.02 -
안드로이드 어플 진단 4
* 틀린 내용이 있을 시 지적 부탁드립니다. 1. 어플리케이션의 메모리를 덤프해보겠습니다. 이클립스로 어플리케이션 에뮬레이터를 실행시키고(로그인까지 해줍니다.) DDMS에서 메모리 덤프 파일을 생성합니다. 그럼 hprof파일이 나오는데 이는 달빅 가상머신의 덤프 파일이기 때문에 자바 형태로 변환해주어야 합니다. 안드로이드가 설치된 폴더의 sdk/tools 폴더에서 hprof-conv.exe를 이용합니다.hprof-conv.exe com.securitycompass.androidlabs.basicencryptionsolution.hprof fixed.hprof그럼 fixed.hprof라는 결과물이 생성됩니다. 이제 메모리 분석기를 다운 받습니다. http://www.eclipse.org/mat/ 실행 시키..
2014.10.01 -
안드로이드 어플 진단 3
* 틀린 내용이 있을 시 지적 부탁드립니다. 1. 소스코드 내의 정보 노출에대해 보겠습니다. 뱅킹 어플리케이션의 암호화 적용 버전인 BasicEncryptionSolution을 다운로드합니다. apktool을 이용해 apk파일을 디버그 모드로 바꿉니다. 생성된 out 폴더에서 CryptoTool.smali파일을 보면 적용된 암호화 알고리즘과 키를 확인할 수 있습니다. 이를 통해 암호화가 적용된 대상을 복호화할 수 있게됩니다.이런 소스코드에 의한 정보 노출은 난독화를 이용해 간단하게 예방할 수 있으니 귀찮더라도 적용해주도록합니다. 단순하지만 쉽게 적용할 수 있는 방법으로 이클립스에서 프로젝트의 project.properties 파일 맨 밑에 'proguard.config=proguard.cfg' 를 적어주..
2014.09.30