I took a look at the website and the intent seems good. But I kind of got lost on the Linux and scripting focus, but let that not detract you from the fact that you are doing a great service by making tools and sharing them to the RCE community. Now I believe the best way to learn a new tool is to actually use it in action.
So, I would like you to advise me on HOW TO DO the following 4 things with actual examples and scripts:
1) Take a simple example of notepad.exe This little gem is used for practicing release of new tools by myself and this one is no different. What I want to do here is for FRIDA to run (you let me know how) and enumerate all functions and/or locations that they are called. In simple terms, all functions in Notepad.exe that are found when disassembled in IDA, but only the ones that are executed when they are run. It's a cheap form of function instrumentation, but knowing how I can do that in Frida will help me understand how to make more complex queries. Is there a way to record and ignore a function? For example, a function in the window loop may be executed endlessly. To avoid that function appearing 100s of times, can we just say let it appear once then ignore it the rest of the times it appears?
2) See point no. 1. Now the second question is, notepad.exe calls multiple DLLs (user32.dll, gdi32.dll, etc). Is there a way to configure FRIDA (you tell me how) to not only record and display functions in notepad.exe, but also functions in these dlls? Please note that in point 1 and point 2, I am not looking at exported functions - they can well be instrumented with other software - but I am looking for native functions (what we call as SUB_XXXXXXXX) in IDA. Also, let me know IF FRIDA will hook functions in Notepad.exe and the DLLs it calls at the beginning of execution? If so, what happens to delayed load DLLs who may NOT mentioned in the import tables initially.
3) When we look at compressed and encrypted exes (both are different), there are generally no major functions defined. In this case, if FRIDA is attaching before the execution, how can it record the functions that have been executed (again, local functions, not Exported/Imported functions)?
4) Can we decide to record ONLY functions in their sequence of execution in Notepad.exe? Or can we also record line-by-line disassembly of the execution? Much like what IDA and Olly provide?
Once again, it's nice of you to release the same. Remember, you will have to give the example of how you do these things to 4 points above in WINDOWS. So no sudo, no grep, no cat, no nothing.
And yes, no cygwin either.
Have Phun