profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/skerkour/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Sylvain Kerkour skerkour Bloom https://kerkour.com Software craftsman. I share Software Development and Security tips from the field on my blog: https://kerkour.com

skerkour/bloom 1094

The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more

skerkour/black-hat-rust 721

Applied offensive security with Rust - Early access - https://academy.kerkour.com/black-hat-rust?coupon=GITHUB

skerkour/phaser 47

Automated attack surface mapper and vulnerability scanner (Work In Progress 🚧)

skerkour/kerkour.com 39

Code accompanying my blog https://kerkour.com

skerkour/rz 16

Ripzap - Fast and 0 allocs leveled JSON logger for Go ⚡️. Dependency free.

skerkour/bloom-legacy-e2ee 13

End-to-end encrypted Notes, Files, Calendar, Contacts... for Android, IOS, Linux & MacOS

skerkour/stdx 7

The missing pieces of Rust's standard library.

skerkour/research 6

You have questions? I have detailed answers

skerkour/bloom42-blog 1

Open source, minimalism, sustainability. Moved to https://github.com/skerkour/kerkour.com

skerkour/bloom42-gobox 1

The missing pieces of Go's standard library.

startednkolban/esp32-snippets

started time in 2 days

startedT-vK/ESP32-BLE-Keyboard

started time in 2 days

fork skerkour/esp32-wifi-manager

Captive Portal for ESP32 that can connect to a saved wireless network or start an access point where you can connect to existing wifis.

fork in 2 days

startedtonyp7/esp32-wifi-manager

started time in 2 days

startedesp-rs/esp-idf-hal

started time in 2 days

startedesp-rs/esp-idf-svc

started time in 2 days

startedivmarkov/rust-esp32-std-hello

started time in 2 days

startedmilvus-io/milvus

started time in 3 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha 07af2e60e7810986cb2306bcde3221280a6efced

README

view details

push time in 3 days

push eventskerkour/phaser

Sylvain Kerkour

commit sha 82b98ed5f504185b1927b7c00358fb006e859cd3

phaser: Update dependencies

view details

Sylvain Kerkour

commit sha c888f64c3726f72ef5aa99964c797bdafb7b535c

README: Work in progress

view details

push time in 4 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha e103e4b20aa7d941b7cf3395150c267c63d6e8e0

go_http_long_polling

view details

push time in 4 days

PR opened rust-lang/this-week-in-rust

2021-09-15: Add "How to Write and Compile Shellcode in Rust" and

Hi,

I've added "How to Write and Compile Shellcode in Rust" and "How to implement HTTP Long Polling in Rust" to the Walkthroughs section

Cheers ✌️

+3 -0

0 comment

1 changed file

pr created time in 4 days

push eventskerkour/this-week-in-rust

Sylvain Kerkour

commit sha b0e5236eaa75c7dcffc872cb85391aecbfa7fb56

2021-09-15: Add "How to Write and Compile Shellcode in Rust" and "How to implement HTTP Long Polling in Rust"

view details

push time in 4 days

push eventskerkour/black-hat-rust

Sylvain Kerkour

commit sha 9d9a7822cd1b0ac01800359db95388e0a5f38261

ch_08: shellcodes

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha f6aabcb8ba279f381f3a76f2772d211856711d6d

rust_long_polling

view details

push time in 5 days

issue commentua-parser/uap-go

Stop using MustCompile, and instead return an error if any regex fails to compile

Hello, Unfortunately I absolutely don't have the bandwidth available to own the change.

Kind regards

veqryn

comment created time in 5 days

issue closedskerkour/black-hat-rust

sha1_cracker: unnecessary allocation in loop?

Disclaimer: I'm new to Rust, but making my way through both your book and Rust Programming 2nd edition.

While looking at this line in SHA1 cracker, I was curious why to_string was required. Specifically, I wanted to know if the rest of the code could use a &str instead, so a heap allocation could be avoided.

https://github.com/skerkour/black-hat-rust/blob/9da1dd3c992e436887612bf8e21f4bd220cc0a70/ch_01/sha1_cracker/src/main.rs#L29

After removing the to_string, I discovered that the code would not compile due to the error "temporary value dropped while borrowed". After reasoning about this error, it made sense. Although Result contains the owned string, when it is extracted with ?, the value is not assigned anywhere, so the &str reference returned from trim points to a value that is dropped.

So, I changed the line above to the following two lines, where I save the String value to a variable, so the &str returned from trim had a valid place to point:

        let line = line?;
        let common_password = line.trim();

Although this compiled, I was still unsure if this would make a difference as I have no experience with Rust or how smart the compiler is or isn't, so I ran some tests, which showed the version without the to_string is faster and avoids extra heap allocations. Perhaps the code in the book could be tweaked to eliminate this, seemingly, unnecessary call?

closed time in 5 days

pkazmier

issue commentskerkour/black-hat-rust

sha1_cracker: unnecessary allocation in loop?

Hello @pkazmier, nice catch! You are totally right, allocating a variable on the stack is way, way cheaper than a Heap allocation.

I've updated the code and it will appear in version of the book :)

But just to be clear, this program is a toy example, using a GPU cracker such as Hashcat will yield far, far better results (https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40).

Best regards

pkazmier

comment created time in 5 days

push eventskerkour/black-hat-rust

Sylvain Kerkour

commit sha 04eb585db62b22efd076f7da62fde1cfa97352e0

sha1_cracker

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha bbaa72840876b1b3c1aaf9db6eb040ddb7bf5e13

README

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha caa00f5e881f914f36db489a6064f5f9da34c4f5

rust_long_polling

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha c197ff1486e5b98a86e4374f946eeb86ceee65ad

rust_long_polling

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha 80ad9032bc0b4d4649b0b1a80b2ea156a0e7c343

rust_long_polling

view details

push time in 5 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha 525845b336f58e8a694955e561eed0a609b526c4

rust_long_polling

view details

push time in 5 days

startedtokio-rs/axum

started time in 6 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha 7a2ef601049924f415d58f9673e24ecc02264a38

rust_shellcode

view details

push time in 6 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha e24441e8ee075cc0c5f0515c98175955fdc50d07

rust_shellcode

view details

push time in 6 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha d240d1ad0b9639cd0d53e998550ac09eddae4e63

rust_shellcode

view details

push time in 6 days

push eventskerkour/kerkour.com

Sylvain Kerkour

commit sha 71dcb995d24eeec2e9dc5f43b43d28041acdd52e

rust_shellcode

view details

push time in 6 days