내 프로젝트를 리버스 엔지니어링하기
개발자가 REA(morluto/rea)를 사용하여 자신의 클로즈드 소스 P2P 통신 앱을 레드팀 방식으로 리버스 엔지니어링한 경험을 공유합니다. 멀티 플랫폼 바이너리와 문서를 제공하고, 복원 가능한 정도를 검토하기 위해 디컴파일 결과 저장소를 공개했습니다.
이 사례에 대하여
저자는 Cursor auto agent와 REA를 함께 사용하여 자신의 프로젝트 TUI, APK, Web, 데스크톱 바이너리 및 문서 웹사이트를 도구에 입력하여 디컴파일 저장소(github.com/positive-intentions/glitr-decompiled)를 성공적으로 생성했습니다. 그는 클라이언트 측 클로즈드 소스가 AI 지원 하에 쉽게 복원될 수 있다고 생각하며, 이러한 자기 레드팀을 통해 공격 표면을 이해하고 방어 및 개선 방향을 고민하고 있습니다.
설정
설치 방법은 원본 출처를 확인하세요.
원문 / README
TLDR; i thought my project would have been harder to chew up. it was surprisingly low-effort. i wanted to red-team myself on my project and id like to know how to reverse engineer so i can see what can be done to defend against it. my app is aiming to be fully client-side. An implementation in javascript seems like it would relatively easy for an AI to swallow. my latest project is in rust, which would make it harder for a person, but AI can now digest binaries. i created a fairly unique p2p messaging app. a rust-based frontend with a rit-server backend, which can be used to establish a p2p connection. while this version remains close-source, i aimed to create comprehensive technical documentation (formal-verification and security audits too (all ai-slop-maxxing at scale under my guidance)). https://glitr.io https://app.glitr.io a core detail to my project is the focus on client-side cryptography and storage. i think my older iteration as a javascript webapp would be relatively easy for AI, so i thought id put a spin-on-things by having a rust wasm frontend. In practice, i dont think AI broke a sweat. i know nothing about decompiling, but i think the TUI would be the easiest for it to decompile... and given its largly one codebase for all the platforms, it can be used to trace and see what is going on in the builds for the other platforms. it might be that all close source is obselete. i tried asking here , and the responses there are polar opposites, so i decided to get some first-hand experience. i used cursor's "auto" agent (in contrast to the frontier models available). i used https://github.com/morluto/rea and tried to make it easier by proving it with a few binaries of my project (tui, apk, web, desktop) and pointed it to the documentation as a website. after a few prompts, it seems to have done a decent job decompiling the project here: https://github.com/positive-intentions/glitr-decompiled ( note: this is basically AI-slop ) like with many projects, i see AI lacks taste in architecture. it consolidates a lot of complexity into one repo, when in my project it's split into multiple repos. it also seems to lack a bunch of bells-and-whistles i added for my own benefit like formal-verification and rigorous unit-tests. having done it myself before, i dont think that it's a large gap to close for somone who knows what they're doing. i think the overhead to keep up with new changes may become trivial if you can automate the process of ingesting new binaries. i kinda offer the base in the repo above (maybe it saves you a few tokens?), but its for my own research and i dont plan to maintain it given it undermines the actual project. in general, im impressed considering how fast and low effort this was. it seems this may push forward my timeline for when i open source my project, i wasnt expecting client-side close-source being so easy to undemine. while the project can be decompiled, in a project like this, its important to consider the countless nuances there are in software development and cybersecurity. the code is only a fraction of the project. i think people should try this in their own code. while the decompiled output is not the same codebase, it seems trivial for me to take some unfamiliar app and rebuild a protocol-compatible version with some new button, feature... or auto-installing malware. (note: feel free to try decompile this yourself or offer tips on how i can improve. id be keen to see what can be done. feel free to reach out for clarity about how it works if the docs are not clear) submitted by /u/Accurate-Screen8774 to r/SideProject [link] [comments]
