64DD is something we would like to support fully eventually. Since the cart code is all written in C (+PIO), it opens up a lot of flexibility for implementations like this. Not everyone is well-versed in verilog/HDL, but there's plenty of C-coders out there, and iteration time is really fast (build-depoly-test cycle).
HN user
kbeckmann
The project has just started. I made the proof of concept, and now I am building the full project. There's tons of work left to do. We are building a small community around this and any help is appreciated, be it programming, testing or just ideas/discussion. If you're interested to join in, just come by and say hi in the discord. Everything is, and will stay, open source (BSD-2-Clause).
You could swap the flash to 16MB, or use a third party (almost) pin compatible clone with 16MB flash if you really want. I implemented a very simple compression scheme as well so you can load 16MB ROMs that compress to a few kilobytes less than that, leaving room for the firmware.
Aha! Makes sense. The docs are usually great for git, but it wasn't clear to me that the args were passed on to git format-patch, where the -v parameter indeed is properly documented.
In the e-mail reply that you get when following the guide you get something to copy paste that looks like this:
git send-email -v2 ...
I tried to find documentation regarding the -v[0-9]+ parameter but couldn't find it at all. What am I missing in the docs? Seems a lot of guides recommend people to use this feature, however there is not a word regarding it in the git docs. It seems that it takes a positive integer as a parameter and adds it to the [PATCH v1] prefix in the subject.Great guide but there seems to be a typo/mistake regarding how to save the smtp password in step 2/gmail: should use sendemail.smtpPass instead of the non existing sendemail.password.
Thanks for your quick reply!
This sounds like a good solution. I was trying to solve this problem on my own as well and ended up making a minimal kernel+afl image that I then boot multiple times using deduplication features in order to save RAM (I don't have 256 gig ram like you do in a proper server). Each instance ends up eating quite a lot of RAM even with a limited root filesystem so that's why I wanted to keep it low. I'm on a 2990wx rig which was kind of a disappointment from a fuzzing perspective because of the limited memory bandwidth, but that's for another discussion.
Do think it would be worth trying out that snapshot approach that I linked in the parent comment or it might not be worth it? I was thinking of rebasing their patch onto the latest master and getting it to work again - sadly the authors seem to have abandoned the project, at least there hasn't been any public changes since a year back.
This is awesome! I wish you all the best and hope that this takes off.
I am curious about how you use AFL under the hood - how do you scale? Do you use a shared kernel and run a worker process for each physical core, or do you do some virtualization or perhaps run with a kernel patch such as https://github.com/sslab-gatech/perf-fuzz/ ? My experience is that you will hit a wall pretty quickly unless you start multiple kernels by using virtualization, or simply having a very slow binary so you don't get a high number of execs/s to start with.
Nice explanation!
I think you accidentally made a formatting typo: "each cell tower can provide 2043/2 120 Mbps", the 4 is probably surrounded by asterisks.
Maybe you're thinking of https://www.nytimes.com/2016/02/01/technology/microsoft-plum... ?
Thanks, didn’t know about this tool.
I miss this. I'm working with embedded C and we always end up nitpicking formatting in review. Using checkpatch helps, but is there something like Prettier for C? I'm aware of the tool called indent but it seems a bit arcane.
Found this blog with someone who bought an FPGA devkit[1] for £260 and managed to boot Linux on it[2].
[1] https://rwmj.wordpress.com/2016/07/25/risc-v-on-an-fpga-pt-1...
[2] https://rwmj.wordpress.com/2016/07/26/risc-v-on-an-fpga-pt-4...
As far as I know, only the Freedom E310[1] chip is available for purchase by normal consumers. It's a microcontroller and only has 16kB of RAM so it's probably not really what you are looking for. But if you are still interested in it, you can pick up a HiFive1 devkit at crowdsupply[2] and possibly elsewhere. There's also the cheaper LoFive[3] which is a very bare breakout board for this chip, but I'm not sure if it's possible to buy it anymore.
[1] https://www.sifive.com/products/freedom-e310/
Can confirm that the privilege escalation works on OnePlus 2 as well.
Sure, but this makes it possible to dump the firmware for further analysis. I think that's the big news here. Think we might read about a few new bugs over the coming months. Also it might be possible to flash new firmware (to lock it down).
Looks great! Would be cool to plot it over time as well.
The zipcpu blog posts never ceases to amaze me, the content is so good. As a sw developer who plays around in verilog on my free time, the posts are extremely helpful to me. I just want to tip my hat to the author(s?), thanks!
With clang you can enable run time UB checks using the -fsanitize=undefined flag[0]. But in this case, the sanitizer doesn't detect undefined behavior.
I tried to build the example (and changing the system to an echo) using "clang a.cpp -o a -Os -std=c++11 -lstdc++ -fsanitize=undefined", but the sanitizer didn't detect the UB.
[0] https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
As a non-american I have to ask: why sign up for new credit cards all the time?
I believe this[1] is the patch that fixes this bug. I tried to reproduce the behavior but couldn't succeed. Maybe I was doing something wrong. Would really appreciate it if someone here could show a test case where this matters.
[1] https://github.com/LoupVaillant/Monocypher/commit/347189c50c...
This is an important point. It surprises me that many non-US companies use slack for their internal and secret communication.
Which compiler would you recommend using instead?
Not a silly question at all. I would also like to know this. Would be a fun way to play around with assembly without the need of a tool chain etc. Maybe even on your phone while on the train. If this doesn't exist already, I'd be happy to start working on something like this.
Same here, no matter how many planes i make, it always says 0 planes.
What are you using instead, can you recommend a nice alternative?
While on the subject, what is the difference between file:/path/to/file and file:///path/to/file ? Usually I only see the latter being used.
Would love to read Fabien Sanglard's review of it in a couple of months...
A good cover letter tells more about the person and not just the cold facts. What motivates the person, details about side projects etc.
Feel free to improve it. Would love to see an open source IDA clone.