-
Lighthouse Plugin for IDA 9.2+Tools/Windows 2026. 1. 5. 16:25
IDA에서 가장 즐겨쓰는 플러그인은 Lighthouse인데, IDA 9.2로 넘어가면서부터 Qt5를 버리고 Qt6로 갈아탄다고 한다.
그래서 pyside6로 코드를 수정하거나, qt5 호환이 가능하도록 configuration파일을 수정하면 되는데... 다음과 같은 이슈들을 고려해보게 되었다.1. IDA Pro 9.0버전에서도 잘 동작하지 않아서 코드를 바꿔 쓴 경험
2. pyside6로 넘어가고 나서는 다시 Qt5로 돌아오기는 어려울 것 같다는 생각
3. 최신 버전에서 구 버전 레러시 지원하는 기능이 언제 종료일지 모른다는 공지
4. 이제 우리에겐 LLM이 있다(제일 중요..)
위와 같은 이슈들로 인해 pyside6로 변경하기로 했다.물론 선구자들도 있었으나, 내 버전이 문제인지 내가 무언가 잘못한건지는 모르겠지만 잘 안돼서 이걸 사용하지는 못했다.
https://github.com/gaasedelen/lighthouse/pull/157/commits/c5cc03d7dc96adc762b2761c9b9d791a67419f53IDA 9.2 fixes by 0xdea · Pull Request #157 · gaasedelen/lighthouse
I have put together a quick patch to make lighthouse work on IDA 9.2. I've tested it on both IDA 9.2 and 9.1 on macOS aarch64. See also #145, #146, and #156.
github.com
그래서 그냥 LLM으로 코드를 수정했고, 프롬포트는 크게 신경 슬 필요도 없었다.
한 번 pyside6로 변경하면 아마 쭉 쓸 가능성이 높기 때문에, 호환성과 더불어 내가 필요한 부분을 좀 더 개선시키면서 필요없는 부분을 쳐내는게 중점이었다.
먼저 코드를 다양하게 훑어볼텐데, 나는 바이너리 닌자를 사용하지 않기에 추후에도 그쪽에 토큰 낭비되는게 싫어서 바이너리 닌자관련 코드를 전부 삭제하고 시작했다. 이후 불필요한 코드를 삭제하고 IDA Docs를 전달하여 변경된 API들을 적절히 변환했다.
이후 가장 중요한 Qt5로 작성되어있는 코드를 Qt6에 해당하는 pyside6로 변경해달라고 요청했고, 생각보다 금방 코드를 전부 바꿔주었다. 코드가 그리 복잡한 편은 아니기도 하고, LLM의 발전 속도가 워낙 빨라서 그런지... 정상적으로 동작하는 코드를 생성하기까지 대충 20분 정도 걸린 것 같다.

정상적으로 로딩된 Code Coverage file 옵션 
포함된 예제 파일 
Lighthouse plugin in Hex-ray 적어도 지금 나에게 LLM의 활용은 무궁무진 한 것 같고, 빠르게 툴링하는데 있어서 이만한게 없다. 굳
'Tools > Windows' 카테고리의 다른 글
Command List for me (0) 2025.05.18 Windbg Commands / Tips (0) 2024.04.25 Windbg: Windows Kernel Debugging (0) 2024.03.16 Visual Studio Tips (0) 2024.03.13 Instrumentation for Windows (0) 2024.03.04