Blind identification of channel codes is a key technology in non-cooperative communication as well as intelligent communication. In this letter, we are interested in recovering the parameters of low-density parity-check (LDPC) codes without any a priori information. We propose to find dual codewords from noisy intercepted sequences and prove that the problem is NP-complete. Afterward, we propose an improved collision-based algorithm that can avoid most of the invalid searches and thus allowing a significant reduction in complexity. The algorithm produces almost no errors when the noise is small. While in the case of non-negligible noise, we propose to use soft information to detect the outputs of the algorithm, and errors in which can therefore be extensively eliminated. After a sufficient number of dual codewords have been found, one can easily recover the code lengths and code rates of LDPC codes, as well as the sizes of sub-matrices for Quasi-Cyclic LDPC codes. Experimental results show that the proposed method has an improved noise tolerance and can be more efficient than existing methods.