Энэ програм хангамжаар PowerIso
гэх DVD,CD шардаг програм хангамжийг сонгож авсан. Эхлээд уг програм
хангамжийн бүртгэлийн хэсэг хийдэг талбарыг устгах зорилготой коднуудад
өөрчлөлт оруулсан ч амжилт олоогүй улмаар бүртгэлийн хэсэгийг алгасах
зорилготой ажилласнаар програмыг кракдаж чадсан. Ингэхдээ би notepad++
ашигласан байгаа. Үүгээр тэмдэгтүүдийг нь
notepad дээрээ хуулснаар String-үүдийг хайх боломжтой болсон Ollydbg програм
нь find
хийж болдог боловч зарим тохиолдолд хийхгүй байсан.
Энэ талбар дээр голлож ажилласан. Нэг нь буруу
дугаар оруулж алдааны мессеж гаргаж байгаа хэсэг нөгөө зөв дугаар оруулж
бүртгэлийн хэсэг баталгаажсан гэсэн мессеж. Энэ 2 дээр 2лан дээр breakpoint хийж яг хаанаас, аль
хаягнаас дуудаж байгааг нь харж ажиглаж болно.
Тэгэхээр энэ
тэмдэглэгдсэн хэсэг дээр яг хаашаа үсрэх вэ ? гэдэгийг нь зааж байгаа. Хэрвээ энэ нөхцөл үнэн болоод 004674DC
гэсэн хаягруу үсрэх юм бол бидний баталгаажсан гэсэн
хэсэгрүү очих юм.
Ингээд assemble
хийгээд үсэргэсэн боловч шууд бодсон газар маань очоогүй
юм.
Тухайн алдаатай мессеж
дуудаж байгаа газар 0046728C гэсэн хаягнаас утга авч байгаа. Энэний дагуу энэ хаяган
дээр очив.
Энэ нөхцөлийг шалгахгүй
шууд Assemble
хийж jmp болгов. Ингээд кодын дагуу цааш явж байтал.
Дахин 2 үсрэх нөхцөл
гарч ирэв мэдээж энэ үсрэх нөхцөлийг Assemble
хийж jmp болгох юм бол мэдээж бидний алдаатай мессежний талбарлуу давхиад очино.
Тийм болохоор энэ кодыг Assemble
хийж nop болгон идэвхгүй болгосон.
Ингэж цааш явсаар
байгаад үсрэх ёстой газарлуу үсэрч бүртгэгдсэн гэсэн мессежийг гаргаснаараа
програм цаашид хэвийн ажиллах юм.




