본문 바로가기

분류 전체보기

(171)
apk 디컴파일 & 리패키징 (apktool, jadx-gui) 만들어진 앱(apk 파일)을 가져와서 실습을 진행하겠습니다. 디컴파일(decompile) : apk 파일이 어떤 소스들로 구성되어 있는지 확인하는 과정 리패키징(repackaging) : 소스를 수정하고서 다시 apk 파일로 만들어내는 과정 이미 만들어진 apk 파일의 소스를 수정하려면 디컴파일을 먼저 진행해야 합니다. 수정이 완료되면 다시 앱으로 사용할 수 있도록 리패키징 과정을 통해 apk로 만들어 줍니다. 만들어진 apk 파일을 사용하여 진행하겠습니다. 디컴파일과 리패키징 작업을 진행하기 위해서 apktool을 사용할 것이며, 소스 코드를 보기 위해서 jadx-gui를 사용합니다. 그리고 소스 코드를 수정하기 위해서 eclipse를 사용하였습니다. 1. apktool 준비 구글에 apktool을 검..
파이참(pycharm) 설치 및 파이썬(python) 개발 환경 만들기 파이참(pycharm) 프로그램은 파이썬 언어로 개발하기 편하도록 만들어진 툴(tool)입니다. 언어를 잘 사용할 수 있도록 지원해주는 도구의 개념이기 때문에 직접 언어까지 제공하지는 않습니다. 그 말의 의미는, 파이참 프로그램이 있다고 하더라도 컴퓨터가 언어를 모른다면 프로그램은 아무런 소용이 없다는 것입니다. 그렇기 때문에 컴퓨터가 파이썬 언어를 알 수 있도록 언어를 먼저 설치하겠습니다. 1. 파이썬 언어 설치 www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 해당 링크에 들어가셔서 파이썬 언어를 설치하시기 바랍니다. 그전에 파이썬 언어를 설치하시는 컴퓨터(또는 ..
webhacking.kr old-32 이해하기 old-32 페이지의 구성은 Hit 값에 대한 등수로 되어 있습니다. Hit 수가 높을수록 높은 위치에 있는 것을 알 수 있습니다. 마우스 커서를 가져다가 클릭을 하면 Hit가 되는 것을 확인할 수 있습니다. 하지만 한 번 Hit를 하고 나서는 더 할 수가 없었습니다. Hit를 한 번밖에 할 수 없는 이유는 쿠키에 있었습니다. 쿠키값을 확인해 보니 vote_check 값으로 ok라는 값이 저장되어 있었습니다. 과감하게 삭제하고 클릭하니 Hit가 가능했습니다! 이제 자신의 닉네임을 찾아서 Hit를 하시고 100 Hit를 만드시면 되겠습니다. 해결되었습니다! -끝-
webhacking.kr old-23 이해하기 old-23 페이지에는 "Your mission is to inject "가 적혀있습니다. 코드를 실행시키는 것이 해답인 것 같습니다. 여러 값들을 넣어보면서 어떤 기능이 있는지 알아보았습니다. 영어를 길게 적거나 아래 코드를 집어 넣으면 "no hack"이라고 나타납니다. 영어 단어를 하나씩 적으면 출력이 되는 것을 알 수 있었습니다. 문자가 길어질 경우 모든 경우에 대해서 필터링이 이루어지는 것으로 예상합니다. 그렇다면 영어 단어를 하나씩 인식시키는 방법으로 코드를 만들면 어떻게 될까요. php 코드에서 필터링을 수행하는 방법으로 preg_match() 함수를 사용하는 것이 있습니다. 필터링을 우회하는 방법으로 preg_match()에서 문자열 검사를 방해하는 %00을 사용하겠습니다. 필터링에 대한 ..
백준 1978(소수 찾기) 파이썬(python) 해결 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 이전 C언어 공부할 때 소수 찾는 코드를 만들어 놓은 것이 있습니다. 2020/05/12 - [작업/C 언어] - Perfect C 프로그래밍 연습 7장 4, 5번 해결 Perfect C 프로그래밍 연습 7장 4, 5번 해결 7장부터는 반복문을 포함하는 문제들이 많이 나올 것이기 때문에 어떤 순서대로 처리가 이루어지는지, 처리 후의 값은 어떻게 되는지 순차적으로 적어가면서 해결해 보면 이해가 쉬울 것입니다 zifmfmphantom.tistory.com 제곱근을 사용한 방법으로 소수를 간단하게..
백준 10250(ACM 호텔) 파이썬(python) 해결 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와줄 프로그램을 작성하고자 한다. 즉 설문조사 결과대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모든 ..
백준 2775(부녀회장이 될테야) 파이썬(python) 해결 문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1) 층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다.” 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 입력 첫 번째 줄에 Test case의 수 T가 주어진다. 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (1
webhacking.kr old-33 이해하기 old-33 페이지는 생각보다 많은 문제들이 내포되어 있었습니다. 까도 까도 계속 나오는... 하다가 한 번 지쳤습니다. 시작하겠습니다. 33-1 페이지 첫 페이지 화면입니다. view-source를 제공하고 있으니 열어보았습니다. $_GET['get']=="hehe" $_GET을 통해서 get 입력 전달 방식을 사용하는 것을 알 수 있습니다. get 이름을 가지는 곳에 hehe값을 입력시키면 됩니다. get 입력 방식이기 때문에 url에 직접 입력해서 시도했습니다. Wrong이 출력돼있던 곳에 Next가 나타나고 다음 문제로 진입할 수 있었습니다. 각 문제의 페이지들이 구성이 똑같고 코드만 다릅니다. 그래서 코드만 올리면서 진행하겠습니다. 33-2 페이지 $_POST['post']=="hehe" && ..