묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
프리다 12.6.11 설치 오류
(py3) C:\Users\bbsec>pip install frida==12.6.11Collecting frida==12.6.11 Using cached frida-12.6.11.tar.gz (6.6 kB) Preparing metadata (setup.py) ... doneBuilding wheels for collected packages: frida Building wheel for frida (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [74 lines of output] running bdist_wheel running build running build_py creating build\lib.win-amd64-cpython-312\frida copying frida\core.py -> build\lib.win-amd64-cpython-312\frida copying frida\__init__.py -> build\lib.win-amd64-cpython-312\frida running build_ext querying pypi for available prebuilds network query failed looking for prebuilt extension in home directory, i.e. C:\Users\bbsec/frida-12.6.11-py3.12-win-amd64.egg no prebuilt extension found in home directory Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\setup.py", line 144, in <module> setup( File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\__init__.py", line 117, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\core.py", line 183, in setup return run_commands(dist) ^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\core.py", line 199, in run_commands dist.run_commands() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\dist.py", line 954, in run_commands self.run_command(cmd) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\command\bdist_wheel.py", line 398, in run self.run_command("build") File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command self.distribution.run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command self.distribution.run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\command\build_ext.py", line 98, in run buildext.run(self) File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run self.build_extensions() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 476, in build_extensions self._build_extensions_serial() File "C:\Users\bbsec\anaconda3\envs\py3\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 502, in buildextensions_serial self.build_extension(ext) File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\setup.py", line 130, in build_extension raise network_error File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\setup.py", line 89, in build_extension urls = client.release_urls("frida", frida_version) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\client.py", line 1122, in call return self.__send(self.__name, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\client.py", line 1461, in __request response = self.__transport.request( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\AppData\Local\Temp\pip-install-a7nfbzkm\frida_1f1fcba5021e4d38ba236f76104d2b97\setup.py", line 56, in request return self.parse_response(fp) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\client.py", line 1351, in parse_response return u.close() ^^^^^^^^^ File "C:\Users\bbsec\anaconda3\envs\py3\Lib\xmlrpc\client.py", line 668, in close raise Fault(**self._stack[0]) xmlrpc.client.Fault: <Fault -32500: 'RuntimeError: PyPI no longer supports the XMLRPC package_releases method. Use JSON or Simple API instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information.'> [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for frida Running setup.py clean for fridaFailed to build fridaERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (frida)오류내용입니다.최신버전 프리다랑 강의에서 사용하는 프리다의 버전차이로 인해 오류가 발생하여 강의에 맞는 프리다 버전을 설치하려고 하는데 오류가 발생합니다.
-
미해결모바일 게임 해킹(Unity편)
강의에 사용한 앱 APK파일 받을 수 있을까요?
.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
파이썬 바인딩 오류 문의
아래와 같이 코드를 입력했는데import frida, sysjscode = """setImmediate(function() { Java.perform(function(){ var.Activity=Java.use("android.app.Activity"); Activity.onResume.implementation = function(){ console.log("[*] onResume() got called!"); this.onResume(); } })});"""process = frida.get_usb_device().attach("com.android.chrome")script = process.create_script(jscode)script.load()sys.stdin.read()아래 사진처럼 오류가 계속 납니다 ㅜㅜ프리다 실행되는건 확인했고 어떤게 문제일까요?ㅠ
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
스크립트를 넣으면 에러가 발생합니다.
스크립트 문을 직접 입력 또는 파일을 로드하면 에러가 발생하는데 어떻게 해야하나요.. 같은 에러가 반복적으로 발생합니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
프리다랩 8번 질문
findViewById 를 후킹할 때Java.use는 안 되고 Java.choose를 사용해야 하는 이유가 무엇인가요?findViewById는 MainActivity 에서만 정의된메서드가 아니라 안드로이드에서 기본으로 제공하는 함수 아닌가요??이미 인스턴스가 생성되어 use로도 후킹 가능할 것 같은데이유가 궁금합니다
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
프리다를 녹스로 옮기는 과정에서 문제가 생깁니다ㅜㅜ
안녕하세요이전 답변을 보고 프리다 버전을 강의와 동일하게 설치했습니다그런데 강의와 같이 /data/local/tmp로 옮기는과정에서 아래와 같이 오류가 발생합니다. 루트 권한이 맞으며 /data/local/tmp 경로 또한 존재합니다. 녹스 또한 루트 켜기가 활성화 되어있는 상태이며 파이썬과 프리다 버전정보는 위와 같습니다. 프리다의 경로는 일치하는데 왜 해당 파일이 디렉토리라고 실패하는지 원인을 모르겠습니다 ..ㅠㅠ
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
pip install frida-tools 버전 문제
강의에서와 같이 pip install frida-tools 명령어를 통해프리다를 설치했는데 저는 버전이 자동으로 12 버전대가 아닌16.2.1이 다운로드 되었는데 이 버전은 어떻게 바꿔야하나요??추가적으로 강의에서 나오는 frida.re로 접속해도프리다 16.2.1밖에 안 나옵니다 ㅠㅠ
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
Anaconda에서 진행하는 이유
frida 설치를 왜 anaconda를 통해 가상 환경에서 진행하는지 궁금합니다. anaconda를 통한 가상 환경은 vmware 등 과 같은 가상 머신과 또 어떻게 다른지도 궁금합니다. 감사합니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
강의 기본 명령어 활용에서
프리다 최신 버전 16.1.8 인데 현재 server 가 없어16.1.7로 아나콘다에서 다운받고x86 32bit로 변경하고 reslse 프리다 서버도 16.1.7로 맞추고frida-ps -U 라는 명령어 치면 녹스랑 연결이 된거 확인하느데 frida -U com.android.chrome 가 되지않습니다.최신버전으로 동영상 편집해주시던가 19년거여서 버전 문제 날거 같아 걱정햇는 데 그 우려가 벌써 나와서 ..이거 어떻게 해야합니가 ?chown 해결했는데 여기서 문제가 발생했습니다. 여기서는 루프백 주소가 접속이 안되고 없는데nox 에는 다운 받은내용은 있습니다.. 웃긴게 왜 크롬 연결이 되느지 .. 이거 제대로 연결 된건가요?firida-ps -D 명령어 오류인줄 알고 다시 해보지만 안되는데 이게 정상 설정 된건지 알고 싶습니다
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
APK, 특정 클래스에서 사용되는 함수의 호출 그래프
안녕하세요 Frida 공부중인 학생입니다.다름이 아니라 APK 파일에 대해서 다양한 Frida 사용법을 익히고 있는 중에Frida trace 기능을 통해 특정 클래스의 함수들의 목록을 출력하는 것을 사용해보았습니다.이러던 와중 궁금한 사항이 생겨 질문을 드립니다.특정 클래스에서 사용된 메소드가 다른 클래스의 함수를 호출하는 상황과 같이 함수들의 호출 경로를 모두 출력하여 함수 호출 그래프와 유사한 출력물을 만들수 있을지 궁금하여 질문 드립니다. 감사합니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
chrome.js는 어디서 다운 받나요?
chrome.js는 어디서 다운 받나요?
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida 오류..?
frida-ps -Ua 를 통해서 chrome이 실행중인것이 확인이 되는데 frida-trace -i "open" -U com.android.chrome 을 실행키시면 Failed to spawn: unable to find process with name 'com.android.chrome' 계속 이렇게만 확인이 되는데 어떤것이 문제인지 잘 모르겠습니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
질문입니다.
# frida -U --codeshare machoreverser/ios12-ssl-bypass -f 앱 ____ / _ | Frida 16.0.10 - A world-class dynamic instrumentation toolkit | (_| | > _ | Commands: /_/ |_| help -> Displays the help system . . . . object? -> Display information about 'object' . . . . exit/quit -> Exit . . . . . . . . More info at https://frida.re/docs/home/ . . . . . . . . Connected to Apple iPhone (id=16711d314cc2a3e5cf6d45b93d6d9db250329d17)Spawned bookple. Resuming main thread!Error: expected a pointer at <eval> (/codeshare.frida.re/machoreverser/ios12-ssl-bypass.js:16) at evaluate (native) at <anonymous> (/frida/repl-2.js:1)[Apple iPhone::kr.co.aladin.bookple ]->앱이 정상적으로 재실행은 되는데요 이에러가 발생하면 뭘 해봐야 할까요?
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
챌린지 02번 문제와 static 메소드 강의 질문 사항
챌린지 02번 문제와 static 메소드 강의 질문 사항 강의 문제풀이 두번째 영상(챌린지 02번, 챌린지 03번)과 static 메소드 질문 사항 안녕하세요 강의를 듣고 있는데 내용이 헷갈려서 질문하려고 합니다. 챌린지 2번 문제를 풀 때 아래 소스코드를 보자면 private void chall02( ) { this.completeArr[1] = 1;}프리다 문제 풀이 강의 중 두번째 강의 소스코드에 private void로 선언되어 있으므로 static method로 선언되지 않는 경우로 instance method로 선언되는 경우라서 인스턴스화된 객체를 찾기 위해서는 java.choose를 사용해야한다고 나와 있었습니다. 그런데 static 메소드 질문에 대한 답변에 강의를 들어보면 private staic, public staic으로 선언된 경우에는 java.choose를 사용하고 static 메소드가 선언되지 않는 일반적인 private, public 형태는 java.use 형식으로 사용하라고 적어 주셨는데 이게 제가 이해하는 것과 내용이 반대되게 설명하신거 같습니다. 혹시 제가 이해한 내용이 맞을까요?staic 메소드로 선언된 메소드(함수)들은 예) private staic, public staic으로 선언된 경우인스턴스가 생성 없이 호출이 가능하기에 java.use를 사용해야하고static 메소드가 선언되지 않는 일반적인 경우 예) private, public 형태로 선언된 경우 인스턴스가 생성 없이 호출이 불가능 하므로 java.choose를 사용하여 호출을 할 수 있으며 챌린지 03번에 대한 문제는 호출에 대한 문제가 아닌 반환 값만 변경하고 있으며 호출은 MainActivity에서 하고 있으므로 java.use를 활용하여 문제를 풀 수 있음만약 문제 풀이와 관계없이 챌린지 03번 변수를 직접 호출하고 싶다면 static으로 선언된 메소드가 아니기 때문에 Java.choose를 사용하여 문제를 해결 가능함 이렇게 이해를 하면 되는건가요? 제가 이해한 내용이 맞다면 챌린지 2번에 대한 문제 풀이가 이해되는데 이해한 내용이 틀린다면 챌린지 2번 문제는 java.use로 풀 수 있을꺼 같은데 강의를 들으면서 혼동이 와서 다시 한번 재 질문 드립니다, 감사합니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
pin brute force 시 앱 종료
공기계로 실습 진행하고 있습니다.pin 번호 brute force 진행 시 앱이 중지되었다고 뜨면서 앱이 종료됩니다.코드는 강사님과 동일한데, 안되는 이유가 있을까요?
-
해결됨모바일 게임 해킹(Unity편)
Frida 강의 코드가 실행이 안 됩니다.
강의에서 보여주신 코드를 그대로 사용했을 때에는 com.DefaultCompany.MyFirstGame를 찾을 수 없다며 연결이 안 된다고 해서 PID를 찾아 attach 하는 방식으로 코드를 바꾸어 사용하니 연결까지는 되었습니다. 그런데 이제 libil2cpp.so라는 모듈을 찾을 수가 없다고 하네요... com.DefaultCompany.MyFirstGame/lib/ 밑에 보면 libil2cpp.so가 제대로 있는데 왜 이런 모듈이 없다고 하는 것일까요? 구글링 해보니 라이브러리가 로드되기 전에 이 과정을 수행해서 문제가 되는 것 같다고 하는 분도 계셔서 라이브러리가 로드된 뒤에 강의의 코드를 수행하도록 수정도 해봤습니다. 그러나 "[*] Running Frida"까지만 출력되고, 그 외에 어떠한 동작도 하지 않네요... 그리고 게임 화면이 까맣게 변해 동작하지 않게 됩니다.이런 문제는 어떻게 해결할 수 있을까요? 프리다와 프리다 서버 버전은 16.0.2입니다. 수정한 코드 첨부하겠습니다.import sys import frida PACKAGE_NAME = "com.DefaultCompany.MyFirstGame" def on_message(message, data): print(message) jscode = """ var library_name = "libil2cpp.so"; var library_loaded = 0; Interceptor.attach(Module.findExportByName(null, 'android_dlopen_ext'),{ onEnter: function(args){ // first arg is the path to the library loaded var library_path = Memory.readCString(args[0]); if( library_path.includes(library_name)){ console.log("[...] Loading library : " + library_path); library_loaded = 1; } }, onLeave: function(args){ // if it's the library we want to hook, hooking it if(library_loaded == 1){ console.log("[+] Loaded"); var il2cpp = Module.getBaseAddress("libil2cpp.so"); var spend_gold = il2cpp.add(0x59552C); console.log(hexdump(spend_gold)); Memory.protect(spend_gold, 0x8, "rwx"); Memory.writeByteArray(spend_gold, [0x01, 0x00, 0xA0, 0xE3, 0x1E, 0xFF, 0x2F, 0xE1]); console.log(hexdump(spend_gold)); library_loaded = 0; } } }) """ try: device = frida.get_usb_device() pid = device.spawn(['com.DefaultCompany.MyFirstGame']) process = device.attach(pid) script = process.create_script(jscode) print('[*] Running Frida') script.on('message', on_message) script.load() sys.stdin.read() except Exception as e: print(e)
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
프리다랩06번 스크립트 질문
분명히 똑같이 따라했는데 왜 안풀리는지 봐줄수 있을까요??5번까지는 잘 따라했는데 6번 스크립트를 실행하면 첫번째 화면처럼 됩니다.첫번째 화면에서 [SM-G973N::fridalab]-> 쉘이 시작되고10초뒤에 10sec start! 라는 문구가 표시되고그후 별다른 응답이 없습니다... 뭔가 달라진건가요..?
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida trace -i 옵션 실행 질문
안녕하세요 프리다 설치 후 frida trace -i 명령어를 통해 구글 크롭 앱 설치 > 루팅된 기기 에 프리다 서버 최신 버전 15.1.14 설치후 강의를 보고 frida trace -i "open" -U 앱 이름 을 입력 시 다음과 같은 오류가 실행되면서 루팅된 기기에서는 크롬앱이 일시 정지가 되었습니다. Attaching.. 이 실행되면서 다움과 같이 에러 코드가 나타납니다. (py3) C:\Users\security>frida-trace -i "open" -U Chrome Failed to attach: process with pid 9044 either refused to load frida-agent, or terminated during injection pid 9044가 있는 프로세스가 frida-agent 로드를 거부했거나 주입 중에 종료되었다. 라고 하는데 원래 최신 버전에서는 이런 트레이서 명령어는 실행이 되지 않는지 궁금해서 질문드립니다.
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida --codeshare를 통한 루팅 탐지 우회 문의
안녕하세요. 알려주신 https://codeshare.frida.re에서 코드를 확인하여 연습중입니다. 근데 rooting 우회와 ssl Pinning 탐지가 둘 다 적용되어있는 경우는 어떻게해야할지해서 여쭤봅니다. https://codeshare.frida.re/@dzonerzy/fridantiroot/ -> 루팅 우회 (정상 작동) https://codeshare.frida.re/@limyout/root-detection-and--ssl-pinning/ -> 루팅우회, SSL피닝우회 ( 루팅 우회 작동으로 예상, SSL 탐지에서 걸리는 듯 하나 어느정도는 작동하다가 실패하는 듯) 혹시 https://codeshare.frida.re/@dzonerzy/fridantiroot/ -> 루팅 우회 (정상 작동) 이것과 SSL 피닝 우회가 되는 코드 2개를 사용하려하는데 잘안되는것같습니다. 혹시 방법이 없을까요?
-
해결됨프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida -U -f com.android.chrome 명령 실행시, Not allowed to start activity Intent 에러가 발생합니다!
안녕하세요? 프리다 실습을 하던 중, frida -U -f com.android.chrome 명령 실행시 Not allowed to start activity Intent 오류가 발생합니다. 버전은 12.6.11로 강사님이 말씀하신대로 다 맞췄어요. 문제가 뭘까요.?