기본 콘텐츠로 건너뛰기

7월, 2021의 게시물 표시

개발 공부 - JEUS 원격 디버깅

이클립스에서 제우스 원격 디버깅 하는 방법은 JEUSMain.xml에  <command-option> -Xms256m -Xmx512m -XX:MaxPermSize=128m -Dcom.dsjdf.config.file=/apphome/gpkisecureweb/conf/dsjdf.properties -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 </command-option> 을 추가한다. Eclipse -> Run -> Debug Configration -> Remote Java Application -> New Host : 원격 제우스의 IP 포트 : 8000 으로 입력하면 된다고 한다. 출처: https://expert0226.tistory.com/183

개발 공부 - dex (안드로이드 앱 디컴파일)

안드로이드 APK 파일을 디컴파일해서 dex2jar 와 같은 툴에다 넣으면 dex 압축형태를 jar 파일로 변환해준다. dex(실행파일)을 사람이 볼 수 있는 형태로 변환해줘야 사용 가능하다. https://sudeky.tistory.com/30 위변조 확인을 위해 dex 추출하는 얘기를 해서 찾아보았다. 출처: https://dwfox.tistory.com/43

개발 공부 - QT

QT는 QT Creator 때문에 확인 하고 있다. 이것은 GUI 라이브러리가 유명한가 보다. UI 개발 도구도 유명한가 보다. 근데 결론적으로는 C++ 개발용 종합 프레임워크인가 보다. QT Creator 가 통합 개발 환경인데, 이거를 비주얼 스튜디오랑 연동해서 사용할 수 있나 보다. C++ 개발 할일을 만들어서 써봐야겠음. 출처: https://namu.wiki/w/Qt(%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)

개발 공부 - Ghidra(기드라)

기드라는 미국 국가 안보국에서 만들어서 오픈 소스로 공개한 역 어셈블리 프레임워크라고 한다. IDA PRO에 대적할 수 있는 무료 프로젝트라고 한다. 자바 11 이상부터 지원하고, 파일 소스코드 추적도 할 수 있다. 맨날 Java Decompiler(커피잔) 만 썼는데 여러 가지 좋은 툴이 있었다! 툴도 잘 쓰는 것이 능력인 것 같다. 최신 툴을 찾아서 써봐야지. 출처: https://ndb796.tistory.com/323

개발 공부 - IDA(리버스 엔지니어링)

IDA (Interactive DisAssembler) 상용 디스 어셈블러로, 주로 리버스 엔지니어링을 위한 디버거이다. 스크립팅 언어로 변환을 해 주는 기능이 있어서 많이 쓴다고 한다. 근데 가격이 600만원이라고 한다. 비싸고...다들 크랙판을 쓰는 것 같은 IDA... 좋아 보여서 써볼까 했는데 학생용 버전으로 공부만 해봐야겠다.

개발 공부 - AAB

안드로이드 앱 배포 시 APK, AAB 라는 용어가 나온다. APK는 파일 확장자이고, AAB는 안드로이드 앱 번들의 줄임말이다. APK는 ABI(안드로이드 바이너리 인터페이스)를 여러 개 포함하여 용량이 크다. 따라서 APK 다운 시 시간이 많이 걸린다. 그래서 APK의 통 빌드 대신에 AAB를 통해서 경량화된 앱을 제공한다. 스토어에도 AAB 파일이 업로드되며, AAB 파일 기반으로 아키텍쳐, 화면 밀도, 언어에 최적화된 분할 APK를 생성한다. 따라서 최종적으로 앱 실행 필수 요소인 base APK를 비롯하여 분리 형태로 파일들이 생성된다. 이는 다양한 APK들이 사용자 기기 환경에 맞게 설치되어 하나의 앱을 구성하는 방식이다. Android App Bundle 은 앱의 모든 컴파일된 코드 및 리소스를 포함하며 APK 생성 및 서명을 Google Play에 맡기는 게시 형식입니다. Google Play는 App Bundle을 사용하여 각 기기 설정에 맞게 최적화된 APK를 생성하고 제공합니다. 따라서 앱을 실행하기 위해서는 특정 기기에 필요한 코드와 리소스만 다운로드하면 됩니다. 개발자는 더 이상 다양한 기기에 대한 지원을 최적화하기 위해 여러 개의 APK를 빌드, 서명 및 관리할 필요가 없으며, 사용자는 더 작고 최적화된 앱을 다운로드하게 됩니다 출처: https://real-dongsoo7.tistory.com/137 https://developer.android.com/guide/app-bundle?hl=ko

개발 공부 - Mach-O

Mach-O (Mach Object file format) 마쵸가 아니라 마하 오 라고 읽는다. Mach는 카네기 멜론 대학에서 개발된 커널이라고 한다. Mach-O는 마이크로 커널의 가장 초기 예시로 언급되고는 한다. Apple의 XNU를 비롯하여 macOS, iOS, iPadOS, tvOS등을 Mach 기반으로 작업했다고 한다. 네이티브 실행 파일, 라이브러리, 객체 코드 형식에 이 Mach-O 형식을 다 적용했다고 한다. Mach-O는 특정한 포맷이 없고, 의미가 있는 데이터로 그룹화된 바이너리 바이트 스트림이라고 한다. 출처: https://en.wikipedia.org/wiki/Mach-O https://zeddios.tistory.com/908

개발 공부 - ODM

ODM(Original Development Manufacturing) ODM은 주문자(Client, 고객) 가 제조사(업체)에게 특정한 제품의 생산을 위탁하면, 제조사가 이 제품의 설계, 디자인 등의 개발, 생산등을 모두 책임지고 주문자에게 납품하고, 주문업체는 이 제품을 유통, 판매하는 형태를 말한다. 주문자가 만들어준 설계도에 따라 단순하게 생산만하는 하청 생산 방식인 '주문자 상표 부착 생산(OEM (Original Equipment Manufacturing))과 달리 주문자는 컨셉만 전달하고, 제품의 설계, 디자인, 개발, 생산 등을 제조업체가 책임지게 된다. ODM은 주로 기술력을 보유한 제조업체에서 제품을 개발하면, 브랜드와 판매망을 보유한 유통업체에서 납품을 받아 유통과 판매에 집중한은 시스템으로 이루어진다. 따라서 ODM은 제품을 만드는 업체와 제품을 판매하는 업체의 전략적 제휴 관계라 보면 된다. IT 개발에서 ODM이 나와서, 궁금하여 검색 해 보았다. 출처: http://dmc21.co.kr/ODM%EC%9D%B4%EB%9E%80/write_form

개발 공부 - IPA

IPA ( i OS A pp Store P ackage) iAP가 아니라 IPA인 이유는 모르겠다. .ipa 라는 확장자를 사용해서 iOS에서 사용하는 앱의 설치 파일을 생성한다. Xcode에서 앱을 만들면 .app 폴더가 생성되는데, 이 파일을 .zip 형식으로 압축해 확장자만 .ipa로 바꾸는 방식을 사용한다. 따라서 앱스토어에서 앱을 다운받으면 일단 .ipa 파일을 다운 받은 뒤, iOS에서 압축을 해제하는 과정을 거친 뒤, 실질적으로는 .app 폴더로 설치하게 된다고 한다. 출처 : 오랜만에 나무위키