Archive Challenge (glitchsimple.c) Voltage glitching on CW Nano

Hello
I was testing this challenge in the archive folder on the CWNano, the one with glitch1, glitch2.
I programed the STM with glitch1 function, I verified it’s programmed successfully, however I can’t seem to be able to glitch it and break it out of the loop and make it put 1234 to uarts, should this challenge work with CW nano.
It seems pretty basic, so I started with this challenge, but for some reason it’s not working.

Thanks.

void glitch1(void)
{
led_ok(1);
led_error(0);

//Some fake variable
volatile uint8_t a = 0;

putch('A');

//External trigger logic
trigger_high();
trigger_low();

//Should be an infinite loop
while(a != 2){
;
}    

led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);

uart_puts("1234");

led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);
led_error(1);

//Several loops in order to try and prevent restarting
while(1){
;
}
while(1){
;
}
while(1){
;
}
while(1){
;
}
while(1){
;
}    

}

Archived notebooks are unsupported; our current crop of supported glitching notebooks are here

However you’re intended to start here first. Then, I recommend you go through the sca101 notebooks before attempting fault101.

I actually also went through this

for some reason glitching is not affecting the target board in any way, I just bought it so I don’t know if it’s something to do with the board , or I’m doing something wrong(even I’m just running through jupyter one by one.)

the image shows that after running the glitch the success count and reset count are always 0, and also , this is the output of scope.

ChipWhisperer Nano Device
fw_version =
major = 0
minor = 66
debug = 0
io =
tio1 = None
tio2 = None
tio3 = None
tio4 = high_z
pdid = True
pdic = False
nrst = True
clkout = 7500000.0
cdc_settings = bytearray(b’\x01\x00\x00\x00’)
adc =
clk_src = int
clk_freq = 7500000.0
samples = 5000
glitch =
repeat = 3
ext_offset = 50
errors =
sam_errors = False
sam_led_setting = Default


In any case I will go through sca101 notebooks, maybe it work as expected.

Even I’m getting a similar output and i’m not sure what and where am I going wrong.

Following is the image showing that the graph is not generated and a text is printed saying “ Parameter name clashes for keys [‘data’] ”.

This is the output of scope

ChipWhisperer Nano Device
fw_version =
major = 0
minor = 66
debug = 0
io =
tio1 = None
tio2 = None
tio3 = None
tio4 = high_z
pdid = True
pdic = False
nrst = True
clkout = 7500000.0
cdc_settings = bytearray(b’\x01\x00\x00\x00’)
adc =
clk_src = int
clk_freq = 7500000.0
samples = 5000
glitch =
repeat = 0
ext_offset = 0
errors =
sam_errors = False
sam_led_setting = Default

Which notebook is this?

SOLN_Fault 2_2B - Voltage Glitching with CWNano to Bypass Password

The graph is generated- it would show where you have glitch success or resets, but you have none, and so there is nothing to plot.

I get the “parameter name clashes” message if I re-run those cells more than once. I wouldn’t worry about that – what matters is whether you get any successes or resets, and the output of cell 7 shows that you haven’t.

Did you have success with the 2_1B notebook?

NO, I’ve been trying to run both the notebooks 2_1B and 2_2B, but none of them have given me any successes or resets.

I would definitely focus on 2_1B first, because it’s much easier to glitch.

There is no point in trying 2_2B if you don’t have success on 2_1B.

Try increasing the range of the glitch parameters and running more iterations.

Glitching with the Nano is far less powerful than with the rest of the ChipWhisperer family, so it is harder to achieve success.

As you suggested, I tried increasing the range of the glitch parameters and running more iterations, and I have successfully got a glitch.


Here’s the graph, where a single successful glitch is marked.
I also verified it using the logic analyzer.
Thank you for your suggestion.

1 Like