본문 바로가기

Study146

Wordpress REST API Activation Wordpress 4.4 버전부터 REST API 기능이 Wordpress-core에 내장되어 배포되고 있습니다. Version 4.4 On December 8, 2015, WordPress Version 4.4, named for jazz musician Clifford Brown, was released to the public. For more information on this enhancement and bug-fix release, read the Word… wordpress.org 그러나 Wordpress 설치 후 REST API 기능 사용을 위해 /wp-json/에 접속할 경우 Not Found 화면만이 노출되었습니다. 위와 같은 상황에서 REST API 활성화를 위해 사용하는 방법에 관해.. 2022. 5. 17.
[Windows] Sublimetext input() Not Working Sublimetext에서 Build를 사용할 경우 출력 결과를 Console 창에 보여주지만, 사용자의 입력 값을 따로 받지는 않습니다. 그렇기 때문에 input()과 같은 함수를 사용할 경우 무한 대기 상태에 들어가게 됩니다. 해당 문제를 해결하기 위한 여러 방법이 존재하겠지만, Terminus Package를 사용하는 방법에 관해 설명드리겠습니다. 1. 먼저 Ctrl+Shift+p를 누른 뒤, "Package Control : Install Package"를 선택합니다. 2. Terminus를 설치합니다. 3. 설치 이후 Preferences > Terminus > Command Palette 기능을 선택합니다. 4. Default.sublime-commands에 아래의 데이터를 복사한 뒤 저장합니다.. 2022. 4. 15.
iOS Application Life Cycle iOS APP 동작 과정 APP Touch main() 함수에서 UIApplicationMain() 함수 호출 및 UIApplication 객체 생성 UIApplication 객체에서 info.plist에 존재하는 앱에 필요한 데이터 및 객체 로드 Custom Code를 처리하기 위한 AppDelegate 생성 후 UIApplication 객체와 연결 실행 준비 후 application(_:willFinishLaunchingWithOptions:) 호출 실행이 완료 된 후 화면에 노출되기 직전에 application(_:didFinishLaunchingWithOptions:) 호출 Main run loop 실행 및 이벤트 큐를 이용해 이벤트 순차 처리 앱을 더이상 사용하지 않을 경우 iOS System에.. 2022. 3. 18.
[Python3] Extract String from File in Directory Extract String from File in Directory Code import re import os directory = r"./" # directory path files = os.listdir(directory) for f1 in files: filename = os.path.join(directory, f1) with open(filename, encoding='Latin-1') as f2: str_list = re.findall("[A-Za-z0-9/\-:;.,_$%'!()[\] \#@]+", f2.read()) with open(os.path.join(directory,"strings.txt"),"a+") as save_file: for str in str_list: save_fil.. 2022. 3. 18.
IDA Python 정리 (IDA 7.5 이상 사용 가능) Segments 이름 및 주소 리턴 import idc_bc695 as idc_695 for seg in Segments(): print(idc_695.SegName(seg)) print(hex(seg)) 특정 주소의 함수 이름 리턴 import idc_bc695 as idc_695 ea = here() print(idc_695.GetFunctionName(ea)) 특정 함수의 Code Reference 주소 및 컬러 설정 import idc_bc695 as idc_695 fun_name = "_fopen" fun_addr = idc_695.LocByName(fun_name) for addr in CodeRefsTo(fun_addr, 0): print(hex(addr), GetDisasm(addr)) /.. 2022. 3. 11.
[Python3] Tcp Socket Proxy tool Windows에서 TCP Socket 통신을 하는 프로그램을 진단해야 했는데 NCIS의 safeij.dll이 DLL Injection 및 Debugging을 막아버려서 기존에 사용하던 Echo Mirage와 같은 도구를 사용할 수 없었습니다. 이를 진단하기 위해 서버의 IP를 내 IP로 변경한 뒤, MITM을 걸어 A Proxy B로 통신 구간을 확인했습니다. 통신 과정만 확인할 수 있도록 대충 개발하다보니 손을 봐야할 내용이 너무 많습니다. 참고용으로만 확인해주세요. import socket from threading import Thread HOST = "127.0.0.1" # Client IP HOST2 = "1.1.1.1" # Server IP PORT = 13010 def c_c(): clien.. 2022. 3. 10.
[Kotlin] ROOM Database 사용 방법 Environment Setting plugins{ ... } apply plugin: 'kotlin-kapt' dependencies { def room_version = "2.2.5" ... // room implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // For Kotlin use kapt instead of annotationProcessor // optional - Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" //.. 2022. 1. 10.
[Kotlin] lazy lazy가 적용된 변수가 실제 사용되는 시점에 초기화를 진행함에 따라 코드의 실행시간을 최적화할 수 있음. 예제 fun main(){ val number: Int by lazy{ println("초기화를 합니다.") 7 } println("코드를 시작합니다.") println(number) println(number) } 예제 결과 2022. 1. 6.
[Kotlin] Data Class 데이터를 다루는데 최적화된 클래스로 equals(), hashcode(), toString(), copy(), componentX() 함수가 자동으로 생성됨. 예제 fun main(){ val a = General("보잉",212) println(a == General("보잉", 212)) println(a.hashCode()) println(a) val b = Data("루다", 306) println(b == Data("루다", 306)) println(b.hashCode()) println(b) } class General(val name: String, val id: Int) data class Data(val name:String, val id: Int) 예제 결과 2022. 1. 6.