iGio90/Dwarf

Crash on launch

LanBaiCode opened this issue · 14 comments

I try to start the project but it crashes
image
image
image

I updated the project but still can't open it
image

Use master from git. Its not updated on pypi.
Its using your pypi version not the one in your Dwarf-master

pip3 uninstall dwarf-debugger

使用来自 git 的 master。它没有在pypi上更新。 它使用的是你的 pypi 版本,而不是你 Dwarf-master 中的那个

pip3 uninstall dwarf-debugger

image

pip3 uninstall dwarf-debugger

image
It can be opened, but it will crash after clicking the apple icon
image

image
image
image

iOS

image
Android

Ok think here it ends with fixing...
Your process is crashing/terminated so you have to figure out why. (adb logcat)
In the image with the "Breakpoint all methods" there are no methods listed and your process was terminated before. Thats why it shows the error, there is no frida/script attached anymore

Ok think here it ends with fixing... Your process is crashing/terminated so you have to figure out why. (adb logcat) In the image with the "Breakpoint all methods" there are no methods listed and your process was terminated before. Thats why it shows the error, there is no frida/script attached anymore

The app crashes after I add a watchpoint

Yeah but there is nothing i can do atm. Its your target you have to figure out what it is doing...

In the moment you place the watchpoint dwarf is removing permissions from that memory location. And then handles "access-violation" in this handler it restores permissions and adds Breakpoint/Interceptor to break at address wich caused the exception.

You can simply recreate the behavior and use own exception handler
Memory.protect(memorylocation, 1, "---")

Process.setExceptionHandler(callback)
https://frida.re/docs/javascript-api/#process-setexceptionhandler

Gives you something like:

{"type":"access-violation","address": XXXXXXX,"memory":{"operation": ????? ,"address": XXXXXXX}
...

Then restore to old permissions
Memory.protect(memorylocation, 1, oldPermissions)

Yeah but there is nothing i can do atm. Its your target you have to figure out what it is doing...

In the moment you place the watchpoint dwarf is removing permissions from that memory location. And then handles "access-violation" in this handler it restores permissions and adds Breakpoint/Interceptor to break at address wich caused the exception.

You can simply recreate the behavior and use own exception handler Memory.protect(memorylocation, 1, "---")

Process.setExceptionHandler(callback) https://frida.re/docs/javascript-api/#process-setexceptionhandler

Gives you something like:

{"type":"access-violation","address": XXXXXXX,"memory":{"operation": ????? ,"address": XXXXXXX}
...

Then restore to old permissions Memory.protect(memorylocation, 1, oldPermissions)

It means that I can't set watchpoints and breakpoints as fast and sensitively as gdb, right?

Not sure what you mean "Fast and sensitively"...
Dwarf is not gdb... maybe you are using wrong tool...

Looking at your screenshots you are trying to hack some game (unity) in a "cheatengine way"... How about using Cheatengine?
Or changing your workflow and use the tools in a way you are able to achieve your goal

Not sure what you mean "Fast and sensitively"... Dwarf is not gdb... maybe you are using wrong tool...

Looking at your screenshots you are trying to hack some game (unity) in a "cheatengine way"... How about using Cheatengine? Or changing your workflow and use the tools in a way you are able to achieve your goal

ok, i don't have any other questions for now