You can compute the integer (co)homology groups of a compact manifold from a Morse function $f$ together with a generic Riemannian metric $g$; the metric enters through the (downward) gradient flow equation
$$ \frac{d}{dt}x(t)+ \mathrm{grad}_g(f) (x(t)) = 0 $$
for paths $x(t)$ in the manifold.

After choosing further Morse functions and metrics, in a generic way, you can recover the ring structure, Massey products, cohomology operations, Reidemeister torsion, functoriality.

The best-known way to compute the cohomology from a Morse function is to form the Morse cochain complex, generated by the critical points (see e.g. Hutchings's Lecture notes on Morse homology). Poincaré duality is manifest.

Another way, due to Harvey and Lawson, is to observe that the de Rham complex $\Omega^{\ast}(M)$ sits inside the complex of currents $D^\ast(M)$, i.e., distribution-valued forms. The closure $\bar{S}_c$ of the the stable manifold $S_c$ of a critical point $c$ of $f$ defines a Dirac-delta current $[\bar{S}_c]$. As $c$ varies, these span a $\mathbb{Z}$-subcomplex $S_f^\ast$ of $D^*(M)$ whose cohomology is naturally the singular cohomology of $M$.

The second approach could be seen as a "de Rham theorem over the integers", because over the reals, the inclusions of $S_f\otimes_{\mathbb{Z}} \mathbb{R}$ and $\Omega^{\ast}_M$ into $D^\ast(M)$ are quasi-isomorphisms, and the resulting isomorphism of $H^{\ast}_{dR}(M)$ with $H^\ast(S_f\otimes_{\mathbb{Z}}\mathbb{R})=H^\ast_{sing}(X;\mathbb{R})$ is the de Rham isomorphism.