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 <a href="http://math.berkeley.edu/~hutching/">Lecture notes on Morse homology</a>). Poincar&eacute; duality is manifest.

Another way, due to <a href="http://arxiv.org/abs/math.DG/0101268">Harvey and Lawson</a>, 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.