bannsec / revenge

REVerse ENGineering Environment
57 stars 5 forks source link

extra value in frida and fridajava object have no attribute errors #8

Open mayomacam opened 3 years ago

mayomacam commented 3 years ago

I have written a program, when i try to complie it i get

mayomacam@mayomacam-Lenovo-G500:~/Music/reverse-engineering/pwntool$ python3 2.py 
Spawning file           ... [ DONE ]
Attaching to the session    ... [ DONE ]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/plugins/java/java.py", line 83, in _is_valid
    return self.__is_valid
AttributeError: 'FridaJava' object has no attribute '_FridaJava__is_valid'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "2.py", line 4, in <module>
    b = Process("./beleaf")
  File "/usr/local/lib/python3.8/dist-packages/revenge/__init__.py", line 16, in Process
    def Process(*args, **kwargs): return devices.LocalDevice().Process(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/revenge/devices/local/__init__.py", line 16, in Process
    return Engine._from_string(self._engine, device=self).Process(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/process.py", line 14, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/revenge/process.py", line 103, in __init__
    self._register_plugins()
  File "/usr/local/lib/python3.8/dist-packages/revenge/process.py", line 159, in _register_plugins
    if plugin._is_valid:
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/plugins/java/java.py", line 85, in _is_valid
    self.__is_valid = self._process.engine.run_script_generic(r"""send(Java.available)""", raw=True, unload=True)[0][0]
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/__init__.py", line 179, in run_script_generic
    script = self.session.create_script(js, runtime=runtime)
  File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 26, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 204, in create_script
    return Script(self._impl.create_script(*args, **kwargs))
ValueError: Enum type ScriptRuntime does not have a value named 'duk', it only has: 'default', 'qjs', 'v8'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/__init__.py", line 257, in _at_exit
    for t in self._process.threads:
  File "/usr/local/lib/python3.8/dist-packages/revenge/threads/threads.py", line 32, in __iter__
    return iter(self.threads)
  File "/usr/local/lib/python3.8/dist-packages/revenge/threads/threads.py", line 167, in threads
    threads = self._process.engine.run_script_generic(
  File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/__init__.py", line 179, in run_script_generic
    script = self.session.create_script(js, runtime=runtime)
  File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 26, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 204, in create_script
    return Script(self._impl.create_script(*args, **kwargs))
ValueError: Enum type ScriptRuntime does not have a value named 'duk', it only has: 'default', 'qjs', 'v8'

code :---

from revenge import *
_ = "*"*135
b = Process("./beleaf")
print(_)
lookup = b.memory["0x7fa"]
x = {}
y = {}
for i in range(256):
    s = lookup(i)
    x[i] = s
    y[s] = i
print(x)
print(y)
bannsec commented 3 years ago

Yeah I need to do a few updates due to how Frida changed in 14. For now, just pin Frida library to 12.11.18.

pip install -U Frida==12.11.18

On Wed, Dec 16, 2020, 1:28 AM Aman Kumar Maurya notifications@github.com wrote:

I have written a program, when i try to complie it i get

mayomacam@mayomacam-Lenovo-G500:~/Music/reverse-engineering/pwntool$ python3 2.py Spawning file ... [ DONE ] Attaching to the session ... [ DONE ] Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/plugins/java/java.py", line 83, in _is_valid return self.is_valid AttributeError: 'FridaJava' object has no attribute '_FridaJavais_valid'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "2.py", line 4, in b = Process("./beleaf") File "/usr/local/lib/python3.8/dist-packages/revenge/init.py", line 16, in Process def Process(*args, kwargs): return devices.LocalDevice().Process(*args, *kwargs) File "/usr/local/lib/python3.8/dist-packages/revenge/devices/local/init.py", line 16, in Process return Engine._from_string(self._engine, device=self).Process(args, kwargs) File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/process.py", line 14, in init super().init(*args, kwargs) File "/usr/local/lib/python3.8/dist-packages/revenge/process.py", line 103, in init self._register_plugins() File "/usr/local/lib/python3.8/dist-packages/revenge/process.py", line 159, in _register_plugins if plugin._is_valid: File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/plugins/java/java.py", line 85, in _is_valid self.is_valid = self._process.engine.run_script_generic(r"""send(Java.available)""", raw=True, unload=True)[0][0] File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/init__.py", line 179, in run_script_generic script = self.session.create_script(js, runtime=runtime) File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 26, in wrapper return f(*args, *kwargs) File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 204, in create_script return Script(self._impl.create_script(args, kwargs)) ValueError: Enum type ScriptRuntime does not have a value named 'duk', it only has: 'default', 'qjs', 'v8' Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/init.py", line 257, in _at_exit for t in self._process.threads: File "/usr/local/lib/python3.8/dist-packages/revenge/threads/threads.py", line 32, in iter return iter(self.threads) File "/usr/local/lib/python3.8/dist-packages/revenge/threads/threads.py", line 167, in threads threads = self._process.engine.run_script_generic( File "/usr/local/lib/python3.8/dist-packages/revenge/engines/frida/init.py", line 179, in run_script_generic script = self.session.create_script(js, runtime=runtime) File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 26, in wrapper return f(*args, *kwargs) File "/usr/local/lib/python3.8/dist-packages/frida/core.py", line 204, in create_script return Script(self._impl.create_script(args, **kwargs)) ValueError: Enum type ScriptRuntime does not have a value named 'duk', it only has: 'default', 'qjs', 'v8'

code :---

from revenge import _ = ""*135 b = Process("./beleaf") print(_) lookup = b.memory["0x7fa"] x = {} y = {} for i in range(256): s = lookup(i) x[i] = s y[x] = i print(x) print(y)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bannsec/revenge/issues/8, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2HPYAKRVXIT3NHABOPRIDSVBHQHANCNFSM4U5PFZLA .

mayomacam commented 3 years ago

yup for now it's worked, thanks