분류 전체보기
-
MVVM 아키텍쳐App 2021. 2. 10. 13:37
1. 서론 항상 화이트해커를 꿈꾸는 나였지만, 계속해서 공부를 해나가면서 느낀것은 어떠한 개발 경험 없이 화이트해커부터 시작하기에는 무리가 있을 수 있다고 생각하게 되었다. 시큐어 코딩이나 서버 보안을 관리하려면 결국 서버나 앱과 같은 프로그램 개발 경험이 필수적이라는 결론에 도달했다. 그래서 가장 쉽게 접할 수 있는 서비스가 무엇일까 생각해보니, 런칭이 비교적 쉬운 앱 부터 시작하는것이 좋겠다는 생각이 들었다! 그 후, 이미 런칭된 유명한 앱들은 어떠한 언어로, 어떤 방식으로 설계되었는지 알아보기 위해서 잡 플래닛에 들어갔다. 앱 개발 부분 경력직 채용에 들어가면 해당 정보를 얻을 수 있다고 생각했다. 지금 내가 사용하고 있는 서비스인 티스토리의 App 개발 채용 공고를 보고 정보를 얻었다. 브런치/티..
-
리버스 엔지니어링 - 2Security 2021. 2. 7. 01:04
지난번에 디컴파일 후 분석중이던 원스토어 클라이언트를 계속해서 분석해보았다. 분석해볼 패키지명을 찾던 도중, firebase라는 익숙한 단어가 눈에 들어와 곧장 열어보았다. 실제로 연동해본적은 없지만, firebase를 데이터베이스 관련 회사인것으로 알고 있었다. 궁금해서 찾아보니 앱 개발 플랫폼으로도 다양하게 사용되고 있다는것을 알게되었다. 1. 분석 오늘 열어본 파일은, 파일 이름이 난독화되어있어 자세항 기능은 알 수 없지만, 상위 패키지명이 messaging이기 때문에 firbase에서 출력하는 메세지들에 관한 파일로 추측되었다. 이번에도 smali 코드 - java 코드 간 차이를 보고 smali 코드를 이해하는 방식으로 진행했다. 지난번에 분석했던 파일과 다르게, smali 코드에서 invoke..
-
안드로이드 리버스 엔지니어링Security 2021. 2. 3. 17:15
리버스 엔지니어링(Reverse Engineering) 소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다. [네이버 지식백과] 리버스엔지니어링 [reverse engineering] (두산백과) 리버스 엔지니어링은 위의 내용과 같이 이미 만들어진 소프트웨어를 디컴파일해서 앱의 구성이나 설계구조를 분석하여 개발에 도움을 줄 수 있다. 주로 소스코드를 구하기 힘든 악성 소프트웨어와 같은 프로그램을 분석해서 이를 미리 알고 공격을 예방하는 부분에서 사용되기도 한다. 다른 방식으로는, 이미 만들어진 소프트웨어로부터 프로그램의 구성이나 사용된 라이브러리 정보..
-
1546 평균Baekjoon 2018. 11. 15. 23:29
Backjoon 1546번 평균 전체 코드 12345678910111213141516171819202122232425#include#includeint main(){ short N,i,j,k; // N은 받을 성적의 갯수(배열에 입력되는 자료의 갯수) i,j,k는 증가값 float result; // 성적을 처리한 후 평균을 구하기위해 합의 값을 저장할 변수 short testscore=0; // 각 성적을 배열에 넣을 때 임시로 값을 저장하는 변수 scanf("%hd",&N); short *test = (short *)malloc(sizeof(short)*N); for(i=0;i