Security ★ Development(154)
-
divide and conquer 1
문제는 더블릿 20 divide and conquer에 있는 b_lineup입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/b_lineup/b_lineup.php?pname=b_lineup divide and conquer는 분할정복이란 뜻인데... 이 문제는 특별히 이런거 생각안해도 풀 수 있는 것 같습니다.문제를 설명하면 입력이 첫 줄 말고 한 줄에 2개씩 들어올 때가 있습니다. 이게 하나씩 들어오는 입력의 위치를 말하는 거고 이 사이에서 가장 큰 수와 가장 작은 수를 찾아 그 차이를 출력하면 됩니다. 알고리즘이 특별히 없습니다. 위에 설명한대로 입력을 다 받고 각 그룹, 1 5에서는 받은 키들중에 1과 5사이에 있는 것 중 최대값과 최소값을 구해서 차를 출력합니..
2014.11.01 -
다중 반복문 1
문제는 더블릿 4 다중 반복문에 있는 make_square입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/make_square/make_square.php?pname=make_square 어떤 수에 x를 곱했을 때 제곱수(같은 수를 곱해서 나온 수)가 되는 가장 작은 x를 구하는 것이 문제입니다.처음에 2중 for문으로 했으나 시간초과가 났습니다. 다중 반복문이래서 그랬는데...math.h를 인클루드하고 sqrt를 쓰면 됩니다. x를 올려가며 sqrt 정수부분 제곱이 원래의 값과 같을 때의 x를 출력하면 됩니다.
2014.11.01 -
안드로이드 해킹대회 어플 문제 3
문제 : http://codeengn.com/challenges/smartapp/02 그냥 설치하려고하면 역시 안됩니다. zip파일로 만들어서 압축을 풀면 파일명은 정상인데 META-INF 폴더가 없습니다. 서명을 한 후 설치하면 FindKey :) 라는 화면만 보입니다. dex2jar, jd-gui로 디컴파일을 해보려고해도 확인이 안됩니다. androlyze를 이용합니다.볼만한게 MainActivity밖에 없습니다. keyString 메소드를 보면 또 긴 문자열이 Decrypt된다는걸 쉽게 알 수 있고 이는 onCreate에서 호출되고 있습니다.날짜와 볼륨이 맞을 때 실행하라고 되어있는데... 날짜는 맞을리가 없고 Volume메소드를 보면 return 33;이라고 되어있습니다.smali수정으로 고쳐줍니..
2014.10.30 -
smali 로그 코드 추가
* 틀린 내용이 있을 시 지적 부탁드립니다. 자바 코드로 디버깅 시 활용할 수 있는 로그를 작성할 때는 Log.v()메소드를 활용합니다. smali 코드를 수정하여 저 메소드를 추가할 때는 추가하고 싶은 부분에invoket-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I를 추가하면 됩니다. 마지막은 영대문자 i입니다. v1,과 v0는 변수로 const-string v1, "aaaa"const-string v0, "10.26"invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I과 같이 사용하면 됩니다.
2014.10.29 -
다차원배열 2
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제는 더블릿 7 다차원배열에 있는 parkside입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/parkside/parkside.php?pname=parkside 입력받은 수에대해 규칙적으로 출력하는 문제입니다. 2차원배열을 생성해서 2중 for문으로 문제에서 보여주는 모양에 맞게 값을 배열에 대입합니다.그리고 하나씩 출력하면서 값이 있으면 값, 스페이스를 출력하고 없으면 스페이스만 2번 출력해주면 됩니다.
2014.10.29 -
재귀 1
* 틀린 내용이 있을 시 지적 부탁드립니다. 문제는 더블릿 9 재귀에 있는 sfn입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/sfn/sfn.php?pname=sfn 문제는 10진수 4자리를 16진수, 12진수로 나타내고 모든 자리수의 합을 더했을 때 같은 4자리의 10진수를 구하는 것입니다.재귀 카테고리에 있는데... 그냥 풀었습니다.문제 그대로 모든 4자리수에대해 16진수, 12진수로 고치고 각 자리의 합을 더해서 같을 때 이 4자리 수를 출력해주면 됩니다.
2014.10.28