- Things should feel real time
- Solvers should be able to communicate between threads rapidly for clause sharing, solver shutdown etc
- Main thread should be only used for comms between/launching threads, UI/user scripts should run in their own thread so you don't get the case where e.g. you can't load a CEX while a script is running
- Users should have the power to control proof performance in sound and intuitive
#!/usr/bin/env python3 | |
# SPDX-License-Identifier: 0BSD or CC0-1.0 or MIT-0 or Unlicense | |
# Copyright (c) 2023, Ryan Castellucci, No Rights Reserved | |
import io, sys | |
import datetime | |
import argparse | |
import requests | |
import operator | |
import struct |
The list below is compiled to inform, guide, and inspire budding security researchers. Oh and to pick something for bedtime reading too.
Included in the list are works on the following topics related to MCU/SoC security:
- Secure boot
- Fault injection
- Side channel attacks
At the end of the list, there is also a section with links to articles of potential general interest, not addressing vulnerabilities in any specific device.
The user experience of Python on a minimal Debian or Ubuntu installation is bad. Core features like virtual environments, pip bootstrapping, and the ssl module are either missing or do not work like designed and documented. Some Python core developers including me are worried and consider Debian/Ubuntu's packaging harmful for Python's reputation and branding. Users don't get what they expect.
The problems can be easily reproduced with official Debian and Ubuntu containers in Docker or Podman. Debian Stable (Debian 10 Buster) comes with Python 3.7.3. Ubuntu Focal (20.04 LTS) has Python 3.8.5.
Welcome to Jordan's grab-bag of common Binary Ninja Snippets. | |
These snippest are meant to run with the Binary Ninja Snippets Plugin | |
(http://github.com/Vector35/snippets) though they can all also be pasted | |
directly into the python console or turned into stand-alone plugins if needed. | |
To install the entire collection at once, just install the Snippets plugin via | |
the plugin manager (CMD/CTL-SHIFT-M), confirm the Snippet Editor works | |
(Tool/Snippets/Snippet Editor), and unzip this bundle (Download ZIP above) into | |
your Snippets folder. |
This document was originally written several years ago. At the time I was working as an execution core verification engineer at Arm. The following points are coloured heavily by working in and around the execution cores of various processors. Apply a pinch of salt; points contain varying degrees of opinion.
It is still my opinion that RISC-V could be much better designed; though I will also say that if I was building a 32 or 64-bit CPU today I'd likely implement the architecture to benefit from the existing tooling.
Mostly based upon the RISC-V ISA spec v2.0. Some updates have been made for v2.2
The RISC-V ISA has pursued minimalism to a fault. There is a large emphasis on minimizing instruction count, normalizing encoding, etc. This pursuit of minimalism has resulted in false orthogonalities (such as reusing the same instruction for branches, calls and returns) and a requirement for superfluous instructions which impacts code density both in terms of size and
// ==UserScript== | |
// @name Twitter Alt-Text to Title-Text | |
// @description Copy the alt attribute of twitter images into the title attribute, so that I can see the alt text on hover. | |
// @version 1 | |
// @grant none | |
// @include https://twitter.com/* | |
// ==/UserScript== | |
const SELECTORS = `.tweet .AdaptiveMedia-photoContainer img | |
, .Gallery-media img |
#!/usr/bin/env python3 | |
import sys | |
import textwrap | |
# Very basic bitstream to SVF converter, tested with the ULX3S WiFi interface | |
flash_page_size = 256 | |
erase_block_size = 64*1024 |
#!/usr/bin/env python3 | |
with open("vbmeta.img", "rb+") as vbmeta: | |
# Get current flags | |
vbmeta.seek(123) | |
flags = int.from_bytes(vbmeta.read(1), byteorder='big') | |
# Disable verity | |
flags |= 0x01 | |
# Disable verification | |
flags |= 0x02 |