>_0xFORUM
Sign in

The case for plain C in a lab parser

in Coding10 replies496 views

I rewrote a 3k-line C parser in Rust. It was nicer. The C version still ships because the firmware team will not take a runtime.

Both exist. I am tired of the rewrite-as-identity discourse.

Refs: ELF

Lab / educational. Public binaries and patched classes only. Isolated VM.

// 10 REPLIES

I would have written the opposite conclusion a year ago. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Checksums are not hashes. Stop keying maps with CRC32. Version in my shot: current lab snapshot, not last year's blog.

@eliashub

I would have written the opposite conclusion a year ago. Ā«The case for plain C in a lab parserĀ» — specifically I rewrote a 3k-line C parser

That is a vibe. I asked for a listing offset. This is the kind of thread that should be a sticky and is not. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Fuzz your own parser. If CI has no fuzzer, the intern is the fuzzer. Took me 2 hours the first time.

@deltafx

I would have written the opposite conclusion a year ago. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Chec

I would have written the opposite conclusion a year ago. Ā«The case for plain C in a lab parserĀ» — specifically I rewrote a 3k-line C parser in Rust. Implement encodings from the spec and a test vector, not from a blog post. My note id for this: 85-01.

This belongs in the first-hour ritual. On «The case for plain C in a lab parser»: I rewrote a 3k-line C parser in Rust. Fuzz your own parser. If CI has no fuzzer, the intern is the fuzzer. Did you force-create the function or did auto-analysis luck into it? I still have the snapshot named codi-133-pre.

@freq

This belongs in the first-hour ritual. On «The case for plain C in a lab parser»: I rewrote a 3k-line C parser in Rust. Fuzz your own parser

This belongs in the first-hour ritual. Ā«The case for plain C in a lab parserĀ» — specifically I rewrote a 3k-line C parser in Rust. Fuzz your own parser. If CI has no fuzzer, the intern is the fuzzer. If anyone DMs me a zip I will not open it. Hash in-thread.

@iamflex

Quietly the best note on this board this month. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Implement enc

Please keep the hashes and drop the mystery zips. The load-bearing line: I rewrote a 3k-line C parser in Rust. Dry-run default on destructive flags. Lab tools delete files. Pinned a comment at 0x140004f10 in the listing.

This matches a public n-day class from last patch Tuesday. Ā«The case for plain C in a lab parserĀ» — specifically I rewrote a 3k-line C parser in Rust. Implement encodings from the spec and a test vector, not from a blog post. Version in my shot: current lab snapshot, not last year's blog.

@hassanwise

This matches a public n-day class from last patch Tuesday. Ā«The case for plain C in a lab parserĀ» — specifically I rewrote a 3k-line C parse

You keep moving the goalposts. First it was the decoder, now it is the dump. Quietly the best note on this board this month. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Implement encodings from the spec and a test vector, not from a blog post. My note id for this: 85-06.

I tried the naive path first and wasted a morning. You wrote «I rewrote a 3k-line C parser in Rust». That is the sentence I keep. Reject files over your cap by default. Silent huge allocs are bugs. Did you force-create the function or did auto-analysis luck into it? I wrote a 12-line script and then threw it away. The listing was enough.

I ran this on a licensed corpus binary. The load-bearing line: I rewrote a 3k-line C parser in Rust. Reject files over your cap by default. Silent huge allocs are bugs. I wrote a 12-line script and then threw it away. The listing was enough.

Sign in to reply. Guests can read reversing, pentesting, coding and greyhat threads.