tonygo
Joined 2 years ago
Joined 2 years ago
This is a summary of my technical research published on the Reverse Society blog. While analyzing the surveillance framework, I discovered a hidden custom text-based protocol that orchestrates the malware's operations (Camera, VoIP, etc.).
https://github.com/tony-go/antidebug-examples/pull/1
At first, it appears that the follow fork mode works nicely. But at some point it did not ... If I run it 10 times consequtively in LLDB. Sometimes it works, sometimes not ...
I think that I should dig more on ptrace! Maybe a next post?
I am not really experienced with ARM haha :) So the way that I approached it was: - how could I remove the call of fork (because I don't want to fork) - how could I patch the register that should contains the result of the fork operation
I guess that it sounds like a naive approach haha
Feel free to propose an alternative I patch, I could update the post and credit you :)
Not sure I got this. IIUC there is a link between the fact that we used dlsym and the fact the child process is not catched by lldb in the follow fork mode?
I also tried with a long living process: https://github.com/tony-go/antidebug-examples/tree/main/swif...
And I got this:
``` (lldb) run Process 14345 launched: '/anti-debug/swift/build/anti_debug' (arm64) start pid = 14345 exit parent process for child pid = 14348 continue as child process pid = 14348 Process 14345 exited with status = 0 (0x00000000) ```
The UI did not even appeared as it should.
Maybe I miss something in my LLDB config...
Do you have example of that? I am really curious, thanks for sharing tho :)