티스토리 뷰

반응형

파일 다운로드

https://github.com/dineshshetty/Android-InsecureBankv2에서
인시큐어뱅크 앱 소스를 다운로드 받을 수 있다.
인시큐어뱅크 백엔드 서버, 안드로이드 애플리케이션 소스 등이 포함되어 있다.




라이브러리 설치

백엔드 서버는 AndroLabServer라는 폴더에 위치하는데,
이를 구동하기 위해 필요한 라이브러리가 있다.


필요 라이브러리

  • Flask
  • Flask-sqlalchemy
  • Simplejson
  • Cherrypy

이 라이브러리들은 easy_install 프로그램으로 설치가 가능하며,
easy_install은 파이썬 설치 폴더의 scripts 폴더에 포함되어 있다.
나의 경우는 C:\Python310\Scripts 폴더이다.
만약 파이썬 2.8 버전을 사용중이라면 폴더명이 Python28일 것으로 추측한다.




해당 경로로 이동

<cd 디렉터리 경로> 를 프롬프트에 입력하여 해당 디렉터리로 이동한다.




라이브러리 설치

easy_install flask sqlalchemy simplejson cherrypy web.py 명령어를
명령 프롬프트(터미널)에 입력하여 라이브러리 설치를 시도한다.




설치 완료

아래와 같이 Finished processing dependencies for ~ 라는 문구가 발견되면
설치가 정상적으로 완료된 것이다.





인시큐어뱅크 서버 실행

실행 명령어

AndroLabServer 디렉터리에서
Python app.py 명령어를 이용하여 실행할 수 있다.
cd 명령어를 이용하여
인시큐어뱅크를 다운받았던 경로의 AndroLabServer 디렉터리로 이동해야 한다.
default port는 8888이다.




Python 버전 3 오류

⛔ 하지만 Python 3 버전 이상부터는
SyntaxError: Missing parentheses in call to 'print' 라는 에러가 발생한다.


🚩 그러므로 최적이라고 소개된 Python 2.7 버전을 사용하자...
굳이 굳이 Python 3 버전을 그대로 이용하고 싶다면
app.py 파일의 print 문을 print("") 형식으로 모두 바꾸어서 저장하면 되긴 한다.
(하지만 파일을 잘못 건드린 경우 앱이 정상적으로 동작하지 않으니 추천은 안 함..)


Python 2에서는 print <문> 이었지만
Python 3에서 print <함수>로 사용 방식이 변경된 것이 문제이다.


python -V 명령어로 파이썬 버전을 확인할 수 있다.
필자의 경우에는 3.9.7 버전이 우선적으로 사용되고 있었는데,
시스템 환경 변수 설정에서 시스템 변수 Path로 접근하여,
Python310 경로보다 Python27 경로가 더 우선이 되도록
위로 이동시켜 우선 사용할 버전을 변경하였다.




성공적으로 변경된 것이 확인된다.




정상 실행 확인

해결 후, 정상적으로 서버가 실행되면
The server is hosted on port:8888 이라는 문구가 출력된다.
설치하는 과정에서 ❌ No module named ~ 라는 오류가 발생하면
그에 맞게 pip install 명령어로 라이브러리를 다시 설치해주면 된다.


❌ 'ascii' codec can't decode byte 0xc1 in position ~ 오류가 발생하면
아래 글을 참고한다.


https://likethefirst.tistory.com/entry/Python-UnicodeDecodeError-ascii-codec-cant-decode-byte-0xc1-in-position-9-ordinal-not-in-range128





인시큐어뱅크 애플리케이션

설치

안드로이드 가상 장치(AVD)와 백엔드 서버가 제대로 구동되었다.
이제 adb install InsecureBankv2.apk 명령어로
인시큐어뱅크 애플리케이션을 설치한다.
물론 디렉터리는 이전과 같이 파일을 다운로드한 디렉터리에 위치해야 한다.


(서버가 구동 중인데 어떻게 명령어를 입력할까?
cmd를 하나 더 여는 방법을 사용하면 된다!)




설치가 완료되었다.




녹스 에뮬레이터에서 실행

애플리케이션 설치가 완료되었으므로
서버와 통신해야 하는데, 통신을 위해서는 서버 IP 주소를 설정해야 한다.
서버 IP 주소는 인시큐어뱅크 애플리케이션의
로그인 화면 - 메뉴 - Preferences에서 설정 가능하다.


⭕ 서버 IP 주소는 ipconfig를 통해
백엔드 서버를 실행 중인 자신의 IP 주소로 설정해야 한다.








로그인

디폴트 계정 정보는 아래와 같다.


  • dinesh / Dinesh@123$
  • jack / Jack@123$

위 정보로 성공적으로 로그인 하면,
아래와 같이 세 개의 메뉴가 화면에 출력되는 것을 볼 수 있다.





인시큐어뱅크 애플리케이션 설치와 설정이 완료되었다.




반응형
댓글
반응형
Recent Post.
Recent Reply.
Thanks for comming.
오늘은
명이 방문했어요
어제는
명이 방문했어요