반응형

금연뱅크 앱을 처음 소개한 지 시간이 꽤 지났습니다.

(이전 글: 금연뱅크 - 금연 기록 & 금연코인 앱 개발)

그동안 사용자 피드백을 반영해 앱을 크게 개편했고,

Android·iPhone **정식 출시(v1.1.4)**까지 마쳤습니다.

이번 글에서는 지금 버전의 금연뱅크가 어떤 앱인지,

왜 써볼 만한지 정리해 봅니다.

💡 한 줄 요약

금연 일수·절약 금액을 기록하고, 흡연·욕구 패턴을 분석해 맞춤 알림을 보내주며,

금연방에서 함께 응원하는 무료 금연 앱입니다.


📱 앱 다운로드 (무료)

링크

Android Google Play - 금연뱅크
iPhone App Store - 금연뱅크
홈페이지 **https://www.nonsmokingbank.com/**

왜 다시 만들었나요?

금연은 완벽하게 성공하기보다, 실패해도 다시 이어가는 것이 더 현실적이라고 생각했습니다.

그래서 이번 버전은 이런 방향으로 바꿨습니다.

  • ✅ 기록 → 패턴 → 알림 : 언제 힘든지 데이터로 파악
  • ✅ 혼자가 아닌 함께 : 금연방·담타시간으로 응원
  • ✅ 위기 순간 대응 : 「못참겠어요」 3분 미션
  • ✅ 눈에 보이는 성과 : 일수·절약·캘린더·레포트

예전 글에서 소개했던 코인·컬렉션 중심 구조에서 벗어나,

실제 금연에 도움이 되는 기능에 집중했습니다.


① 금연 일수·절약 금액, 홈에서 한눈에

금연뱅크 홈 - 금연 일수와 절약 금액 대시보드

앱을 켜면 금연 N일째아낀 돈참은 개비목표 진행률을 바로 확인할 수 있습니다.

  • 시작일 기준 실시간 금연 시간 (일·시간·분·초)
  • 하루 담배값·개비 수 설정 → 절약 금액 자동 계산
  • 365일 등 목표 설정 및 진행률 표시
  • 나의 금연 이유를 적어 두면, 힘들 때 다시 볼 수 있어요

흡연 기록이 있어도 「다시 이어가면 돼요」 —

실패를 숨기지 않고, 다시 시작하는 금연을 응원하는 방식입니다.


② 흡연·욕구 기록 → 나만의 패턴 알림

금연뱅크 - 흡연 욕구 기록과 맞춤 패턴 알림

「흡연했어요」「욕구가 올라요」 버튼으로 오늘의 기록을 남기면,

앱이 시간대·상황·감정 패턴을 분석합니다.

  • 최근 30일 기록 3건 이상 → 맞춤 시간대 알림 1슬롯
  • 「이 시간대, 조심!」 예방 알림으로 미리 대비
  • 절약 시뮬레이션으로 1개월·1년 뒤 아낄 돈도 확인

기록할수록 알림이 나에게 맞게 바뀝니다.


③ 참기 힘들 때, 3분 미션

금연뱅크 - 못참겠어요 3분 미션

갑자기 담배가 생각날 때 「못참겠어요」 버튼을 누르면

3분 타이머 + 미션이 시작됩니다.

  • 「찬물로 세수하기」 같은 즉시 실행 미션
  • 나의 금연 이유 다시 보기
  • 방 알리기 — 금연방 멤버에게 SOS
  • 게임하기 — 집중 전환
  • 결국 피웠다면 솔직하게 기록 (패턴 분석에 반영)

욕구는 보통 몇 분 지나면 약해집니다.

그 3분을 버티도록 돕는 기능입니다.


④ 혼자가 아닌, 함께하는 금연방

금연뱅크 - 솔로·그룹 금연방과 담타시간

금연방 탭에서 혼자 또는 함께 금연할 수 있습니다.

종류설명

솔로방 나만의 금연 다짐·기록
그룹방 초대코드로 친구·가족과 함께
담타시간 모든 사용자가 모이는 공용 응원 공간

「다같이 금연!」처럼 그룹으로 일수·응원을 나누면

혼자보다 훨씬 오래 갑니다.


⑤ 매일 채우는 금연 캘린더

금연뱅크 - 금연 캘린더와 연속 금연 스트릭

금연 캘린더에서 날짜별 성공·흡연을 색으로 표시합니다.

  • 🟢 금연 성공 / 🔴 흡연함 / ⚪ 미기록
  • 연속 금연 일수(스트릭) · 이달 성공 일수
  • 매일 기록 → 패턴 파악에 연결

달력을 채워 가는 재미, 꽤 큰 동기부여가 됩니다.


⑥ 나만의 흡연·욕구 패턴 레포트

금연뱅크 - 주간·월간 패턴 레포트

더보기 → 레포트에서 주간·월간 분석을 볼 수 있습니다.

  • 가장 많은 시간대 (예: 14시)
  • 자주 겪는 상황 (예: 스트레스)
  • 자주 느끼는 감정 (예: 짜증)
  • 시간대별 차트로 위험한 순간 한눈에

「왜 자꾸 실패하지?」 → 언제, 왜 힘든지 데이터로 알 수 있습니다.


⑦ 응원과 기록을 나누는 금연방 채팅

금연뱅크 - 금연방 채팅과 사진 공유

금연방 안에서 메시지·사진으로 오늘의 금연을 공유할 수 있습니다.

  • 「금연중입니다!!」 인증
  • 사진과 함께 오늘의 기록 남기기
  • 멤버끼리 서로 응원

카카오톡 오픈채팅과 함께 쓰면 더 좋습니다.

(개발자방 오픈채팅도 운영 중 — 피드백·버그 제보 환영!)


이런 분께 추천해요

  • 금연 N일차, 조금만 더 버티고 싶을 때
  • 언제 담배가 생각나는지 알고 싶을 때
  • 절약 금액을 눈으로 확인하며 동기를 얻고 싶을 때
  • 혼자보다 같이 응원하며 끊고 싶을 때
  • 실패해도 다시 이어가는 금연을 원할 때

버그·기능 제안·UX 피드백은 댓글이나 cjw207207@gmail.com으로 보내주시면

다음 업데이트에 반영하겠습니다.

앱 개발 과정, 기술 스택, 배포 경험 등 별도 개발 후기도 원하시면

댓글로 알려주세요. 글로 정리해 보겠습니다.


마무리

금연은 쉽지 않습니다.

그래서 기록하고, 패턴을 알고, 함께 버티는 것 —

금연뱅크가 그걸 돕도록 만들어졌습니다.

한 번 설치해 보시고,

쓰시다 불편한 점·바라는 기능이 있으면 편하게 알려주세요.

실패해도 괜찮아요. 다시 이어가면 됩니다. 🌿


📱 지금 다운로드

많은 이용과 피드백 부탁드립니다! 🙏

반응형

'공지' 카테고리의 다른 글

금연뱅크 - 금연 기록 & 금연코인(출석/보상) 앱 개발  (0) 2026.03.25
개발자를 꿈꾸는 프로그래머  (0) 2018.11.21
리뉴얼  (0) 2017.01.02
오랜만의 공지.!  (0) 2016.06.10
Breaktime...  (0) 2016.05.10

WRITTEN BY
SiriusJ

,
반응형

이번에 '금연뱅크'라는 앱을 개발해보았습니다.

금연하시는 분들의 많은 이용부탁드리며, 개발자분들의 많은 피드백 부탁드리겠습니다.!

https://play.google.com/store/apps/details?id=com.cjw.nonsmoking

 

금연뱅크 - 금연 기록 & 금연코인(출석/보상) - Google Play 앱

‘금연뱅크’는 금연 일수와 절약 금액을 한눈에 확인하고, 출석·담배 컬렉션·게임으로 보상과 재미를 더해 꾸준히 금연을 이어가도록 돕는 앱입니다.

play.google.com

추가로, 웹 랜딩페이지도 구성해보았으니 참고부탁드립니다!

홈페이지 : https://nonsmokingbank.com/

 

금연뱅크 정식 출시 버전입니다.

· 홈에서 금연 시간, 절약 금액, 안 핀 담배, 실패 횟수, 목표일을 한눈에 확인할 수 있습니다.

· 금연코인으로 실패 횟수 차감 및 담배 컬렉션 시도에 활용할 수 있습니다.

· 출석체크와 알림(금연 이유/미접속/리마인더)을 통해 매일 동기부여를 받을 수 있습니다.

· 담배 컬렉션 게임으로 담배갑을 수집하고 도감에서 수집 진행 상태를 확인할 수 있습니다.

· 폐/흡연 기록에 따라 폐 건강(회복/저하) 흐름을 시각적으로 보여줍니다.

· 폐 건강 수치는 가상/참고용임을 고지하며, 전반적인 사용 안정성을 강화했습니다.

사용 중 불편사항은 언제든지 피드백 부탁드립니다.


‘금연뱅크’는 금연 일수와 절약 금액을 한눈에 확인하고, 출석체크·담배 컬렉션·게임으로 보상과 재미를 더해 꾸준히 금연을 이어가도록 돕는 앱입니다.


  • 홈에서 금연 시간·절약 금액·안 핀 담배·실패 횟수·목표일을 한눈에 확인할 수 있어요.
  • 출석체크로 금연코인을 받고, 코인을 써서 실패횟수 차감과 담배 컬렉션 시도를 진행할 수 있어요.
  • 알림 설정과 “금연할 이유” 선택을 통해 매일 금연 동기를 꾸준히 유지합니다.
  • 게임으로 집중을 돌리고 스트레스를 줄이며, 성취를 쌓아가며 “다시 시작하는 금연”을 응원합니다.

[앱 소개]

금연뱅크는 금연 일수와 절약 금액을 기록하고, 알림·코인·게임·담배 컬렉션으로 꾸준한 동기를 이어갈 수 있도록 돕는 금연 앱입니다. 실패해도 연속 금연 일수는 유지되고 실패 횟수만 누적되는 방식으로 “다시 시작하는 금연”을 함께해요.

■ 금연현황

· 시작일·누적일·목표일을 설정하고 목표 달성 시 축하 알림을 받을 수 있어요.

· 금연 시간을 실시간으로 확인하고 절약 금액, 안 핀 담배 개수를 자동 계산해 보여줘요.

· “담배 피움” 또는 “흡연”으로 실패 횟수는 누적되지만 연속 금연 기록은 유지되어 “다시 시작하는 금연”을 도와줘요.

■ 금연코인

· 출석체크로 금연코인을 매일마다 받을 수 있어요.

· 금연코인으로 실패 횟수 차감과 담배 컬렉션 시도에 사용할 수 있어요.

· 메인 화면 상단에서 보유 코인을 확인하고 필요할 때 바로 사용할 수 있어요.

■ 담배 컬렉션

· 특정한 시간에는 담배갑 컬렉션(수집)도 가능해요.

· 지포라이터를 2~3초 누르고 떼면 수집 시도를 진행하며, 각 시간대당 최대 5번까지 도전할 수 있어요.

· 성공하면 도감에서 담배갑이 활성화되고, 실패하면 남은 시도 횟수로 다음 기회를 이어갈 수 있어요.

· 원하는 담배갑을 가질 수 있도록 시도해보세요.

■ 알림

· 설정에서 원하는 시간대를 여러 개 추가해 금연 리마인드 알림을 받을 수 있어요.

· “금연할 이유” 중 하나를 선택하면 매일 12:00에 선택한 이유와 함께 알림이 제공돼요.

· 3일 이상 미접속 안내 알림, 출석 알림(저녁 6시 미출석 시 10분마다) 옵션을 켜고 끌 수 있어요.

■ 금연할 이유·흡연 욕구

· 금연하는 이유를 여러 개 작성하고, 별/종 아이콘으로 알림에 사용할 이유를 선택할 수 있어요.

· “흡연 욕구” 화면에서 금연 시간·절약 금액·안 핀 담배·선택 이유·응원 메시지를 한 번에 확인해요.

· 매일 선택된 이유로 동기를 다시 잡을 수 있게 도와줘요.

■ 나의 성장 나무

· 2분마다 물이 쌓이고, 10ml·100ml 단위로 물을 주면 최대 5단계까지 성장해요.

· 금연 기간을 시각적으로 느낄 수 있도록 성장 과정을 보여줘요.

■ 나의 폐

· 금연 기간에 따른 폐 회복 상태를 퍼센트로 확인하고, 흡연 시 건강도가 감소하는 흐름을 보여줘요.

· 금연을 유지하면 시간이 지나며 서서히 회복됩니다.

(※ 본 앱의 폐 건강 수치는 가상/참고용이며 의학적 진단이 아닙니다.)

■ 게임

· 1~30 숫자 게임으로 빠르게 집중하고 기록을 남길 수 있어요.

· 단어맞추기, 완벽 타이밍, 담배맞추기 등으로 즐거운 몰입을 이어갈 수 있어요.

· 게임을 통해 스트레스를 줄이고 금연을 꾸준히 지속하도록 도와줘요.

■ 위젯·설정

· 홈 화면 위젯으로 금연 시간, 절약 금액, 안 핀 담배, 폐 건강을 바로 확인할 수 있어요.

· 설정에서 알림/출석 알림/비접속 알림과 개인정보처리방침·이용약관, 도움말을 관리할 수 있어요.

· 금연 뱃지 및 앱 정보도 설정에서 확인할 수 있어요.

 

많은 이용과 피드백 부탁드리며, 개선의견은 댓글로 남겨주시거나 cjw207207@gmail.com 으로 부탁드리겠습니다.!

반응형

WRITTEN BY
SiriusJ

,
반응형

문제를 받아줍니다.

admin 계정의 패스워드가 FLAG 임을 확인할 수 있습니다.

코드를 보면, users 리스트에서 PW를 불러오고, 사용자가 입력한 패스워드와 if 문을 통해 비교를 합니다.

동일하다면 sessionid를 값으로 하는 session_storage를 username에 저장해줍니다. 그리고 cookie의 값을 sessionid로 저장해주고 반환해줍니다.

admin 함수에서는 session_storage의 값을 반환해주는 것을 확인할 수 있습니다.

admin

/admin으로 접속해보니, admin 계정의 세션id가 출력되는 것을 확인할 수 있습니다.

이제, burpsuite를 활용하여 admin으로 접속하도록 변조해봅시다.

open browser를 통해 http://host3.dreamhack.games:11012/login 에 들어가고, 아래와 같이 cookie에 해당하는 값을 직접 입력해준 후, forward를 해줍니다.

아래와 같이, FLAG 값을 뱉어내는 것을 확인할 수 있습니다.

 

즉, Session id 값을 확인하여 이를 쿠키값으로 변조하여 로그인하는 시도를 성공할 수 있습니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제파일을 받고, 풀어주자 아래와 같이 나옵니다.

 

https://tools.dreamhack.games/cyberchef

 

dreamhack-tools

 

tools.dreamhack.games

로 들어가보자, 아래와 같이 화면이 나옵니다. 사용 툴로 보입니다.

여기서, INPUT에 EUg5MJAyYJ9fYJ5iMKqio29iVK1VL2WlnTM0o3AyL2Elq3q3qlRu 문자열을 넣고, 이를 복호화 하기 위한 과정을 수행해봅니다.

힌트에 Rail Fence → Base64 → ROT13로 되어있다고 하니, 복호화는 ROT 13 -> BASE64 -> RAIL FENCE로 수행해줍니다.

아래와 같이 output으로 flag가 나오는 것을 확인할 수 있습니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제 다운로드했을 때, 

index.php에서는 별다른 힌트없이 html 바디로 이루어진것을 확인할 수 있습니다.

다음으로 step2.php를 확인하자 아래와 같은 소스가 보이고 php로 필터링하는 주요 구문을 캡처했습니다.

input1, input2 태그를 통해 입력되는 값을 input_name, input_pw로 구분하는 것이 보이고,

pw filtering을 통해 패스워드 입력칸에 알파벳을 입력했을 때 echo로 패스워드 알파벳에 대한 필터링을 하고 있음이 확인됩니다.

더불어 else 구문에서는

name -> nyang은 공백으로 치환하고 있습니다. 그리고 pw는 preg_replace("/\d*\@\d{2,3}(31)+[^0-8\"]\!/" 를 d4y0r50ng로 치환하고 있습니다.

이때, name = dnyang0310, pw는 d4y0r50ng+1+13으로 보입니다.

 

따라서, name은 dn(nyang->공백치환)yang0310으로 즉 dnnyangyang0310 으로 해주면 되고,

pw는 /\d*\@\d{2,3}(31)+[^0-8\"]\!/+1+13 으로 입력해주면 될 것으로 보입니다.

이때, pw에 대한 구문을 해석해보면, 아래와 같습니다.

\d* -> 숫자 0개 이상

\@ -> @

\d{2,3} -> 숫자 2개 이상~3개 이하

(31) -> 31

[^0-8\"] -> 0~8을 제외한 나머지

\! -> !

즉, 패스워드는 1@11319!+1+13 으로 만들어 줄 수 있습니다.

 

그럼, 아래와 같이 step2로 문이 열리는 것을 확인할 수 있습니다.

 

이때, 플래그는 아래와 같이 얻을 수 있다고 합니다.

cat ../dream/flag.txt 를 해보니, error가 나옵니다.

확인해보니, 코드상에 아래와 같이 cmd filtering이 있는 것을 확인할 수 있습니다.

이를 우회하기 위해, flag에 대한 패턴을 아래처럼 바꾸어 줍니다.

flag 값을 획득했고, 이를 입력해줍니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

session-basic 문제풀이  (0) 2025.04.21
dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

문제를 받고 서버도 생성해줍니다.

host3.dreamhack.games:23858 로 접근하니 아래와 같습니다。

받은 app。py를 살펴보니 flag라는 명령이 들어오면 no라는 result 값을 출력하도록 되어있네요。

cat flag.txt를 찍어보니 안된답니다... ls 로 파일을 확인해보니 아래와 같습니다.

이 중, requirement.txt를 찍어보니 flask로 나오고, hint.txt를 cat으로 확인해보니 아래와 같이 flag 경로가 나옵니다.

cat ./dream/hack/hello/flag.txt를 확인해보니 또다시 no로 나오는 걸로 보아, app.py의 필터링 규칙이 적용된 것 같습니다.

해당 경로에 파일을 ls ./dream/hack/hello 로 확인해보니 flag.txt만 있는 것으로 확인됩니다.

필터링 규칙 우회를 위해, cat ./dream/hack/hello/*.txt 로 확인해줍니다.

아래와 같이 DH 값이 나옵니다.

반응형

'Security > 드림핵' 카테고리의 다른 글

dreamhack-tools-cyberchef 문제풀이  (0) 2025.04.19
phpreg 문제풀이  (1) 2025.04.19
64se64 문제 풀이  (0) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

소스코드를 다운받아줍니다.

소스코드를 받으면 index.html이 있고, 소스코드를 확인해보면 value 값이 보입니다. base64 encoding 되어있는것으로 보이니, 해당 값을 디코딩해줍니다.

디코딩 사이트에서 확인해보니 코드가 보이고, 해당 코드를 파이썬으로 출력하면 다음과 같이 보입니다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

phpreg 문제풀이  (1) 2025.04.19
baby-linux 문제풀이  (1) 2025.02.08
rev-basic-1 문제풀이  (0) 2025.02.02
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02

WRITTEN BY
SiriusJ

,
반응형

rev-basic-0과 동일하게 correct를 출력하는 입력값을 찾아내는 문제이다.

똑같이 문제를 다운로드 받는다.

 

그리고 이전 포스팅과 동일하게 x64dbg를 이용하여 해당 실행파일을 분석해본다.

똑같이 correct를 더블클릭해주고, 

상단의 빨간 밑줄부분을 확인해보니, 아래와 같이 값들이 이번에는 문자로 분리되어 보인다.

보니까 cmp(문자 비교)를 하는것 같고, 쭈욱 내려가니 값은 Compar3_the_ch4ract3r 로 보여져서, 실행해보니 Correct가 나오는것을 확인하였다.

이전에 푼 방법과 동일한 방법이라 어렵지않았다.

 

반응형

'Security > 드림핵' 카테고리의 다른 글

baby-linux 문제풀이  (1) 2025.02.08
64se64 문제 풀이  (0) 2025.02.08
Carve Party 문제풀이  (0) 2025.02.02
rev-basic-0 문제풀이  (0) 2025.02.02
command-injection-1 문제풀이  (2) 2025.02.01

WRITTEN BY
SiriusJ

,