Processing math: 100%
Skip to main content

Reversing the USB update process of a device

I'm again at it: I have a device that I want to know how it works and I started to reverse it, this time without any particular reason if not curiosity.

What I couldn't know was that I was entering a rabbit hole of biblic proportion and this post is only the tip of the iceberg.

In this post I want to describe without any particular order, how to reverse a C++ application and the USB protocol that it uses to update the firmware on the device. I don't think this will be useful to anyone, let me know in case it has changed your life :)

Read more…

QED formulary

This post is personal: I found some notes taken more than 10 years ago and I'm worried to lost them, so I write it down here in order to preserve the memory; maybe one day I'll write a post about the physics behind this stuff.

dNq(q2+μ2iϵ)α=iπN/22Γ(N/2)Γ(αN/2)Γ(α)(μ2)N/2α
1ΠNi=1ai=Γ(N)10dx1x10dx2xN20dxN1[aNxN1++(xN2xN1)aN1++(1x1)a1]N

Γ(ϵ)=1ϵγ+O(ϵ)

aϵ=1+ϵlna+o(ϵ)

d4kθ(k0)δ(k2+m2)d3k2k0

Tensorial integrals

For some informations see this slides.

J0=dNq1(q2+2kq+μ2)α=iπN/2Γ(αN/2)Γ(α)(μ2k2)N/2αJμ(k)=dNqqμ(q2+2kq+μ2)α=J0kμJμν(k)=dNqqμqν(q2+2kq+μ2)α=J0(kμkν+12μ2k2α1N/2δμν)

Gamma matrices

Suppose D is the dimensionality of the space-time

Tr(In)=4{γμ,γν}=2gμνInγμγμ=gμμ=DTr(γμγν)=4gμνTr(γμγνγργσ)=4(gμνgρσgμρgνσ+gμσgνρ)Tr(γμγνγσγργξ)=ϵμνσ(TO FIX)

Spinors

p=γμpμ(ip+m)u(p)=0(ip+m)v(p)=0spinu(p)ˉu(p)=12p0(ip+m)spinv(p)ˉv(p)=12p0(ip+m)

Lagrangian

L=14FμνFμν12(μAμ)2ˉψ(+m)ψ+ieAμˉψγμψ

1loop photon

Πμν=e2dnq1(q2+m2)((q+p)2+m2)Tr{γμ(iq+m)γν(i(p+q)+m)}=i8π2e210dxJ0(p2δμνpμpν)x(1x)i8π2e210dx(Δlnμ2)x(1x)(p2δμνpμpν)

QED renormalization

From an analysis using the propagators of photons and fermions and the vertex we can tell that the global degree of divergence of a diagram is given by

D(G)=432EeEγ{D(G)<0convergesD(G)0diverges

Weinberg theorem

Given a G such that D(G)<0 and for all its subdiagrams then G converges.