Doni Andri Cahyono wrote:
W wrote:
Benar juga dugaan saya kemarin ..., kutunya ada di fungsi ...

LUKS_open_key() di keymanage.c

kalau return nya diganti == (return 1)

jadi langsung bisa ...., hehe ...

ketika googling ada yang bilang memcmp di uclibnya ada bugsnya, tapi
tertanggal 2004, seharus nya skrg tidak masalah lagi ...

berarti sekarang konsentrasi mencari kenapa variabel checkHashBuf dan
hdr->mkDigest, di

r = (memcmp(checkHashBuf,hdr->mkDigest, LUKS_DIGESTSIZE) == 0)?0:-EPERM;

berbeda ...
Sebelumnya ada ralat sedikit dari reply saya sebelumnya, bukan setelah 3 kali mencoba tetapi setiap kali password bisa terbaca di stdin terminal maka akan dicheck apakah password atau bukan, jika password maka akan ke fungsi luks_open_any_key dan jika bukan password maka akan return -EINVAL dan jump ke out dan berulang ke start hingga tries == 0 atau 3 kali mencoba.

Btw, sepertinya anda benar karena hdr.mkdigest[20] atau luks_phdr.mkdigest[LUKS_DIGESTSIZE] = 2140756468 sementara checkhashbuf[20] = seperti yg sudah anda post.
Btw, man memcmp.

Kalau dari checkhashbuf dari pbkdf.c dari fungsi void PBKDF2_HMAC_SHA1(const char *password, size_t passwordLen,
              const char *salt, size_t saltLen,
                      unsigned int iterations,
              char *dKey, size_t dKeyLen)
{
.....code ....
ada beberapa yang perlu dicheck di sini

while(dKeyLen > 0) {
hmac_sha_end(U_n, SHA1_DIGEST_SIZE, &ctx);
        memcpy(F_buf, U_n, SHA1_DIGEST_SIZE);

        // U_n hashing
        while(j--) {
            HMAC_REINIT(ctx);
            hmac_sha_data(U_n,SHA1_DIGEST_SIZE, &ctx);
            hmac_sha_end(U_n,SHA1_DIGEST_SIZE, &ctx);
              XORblock(F_buf,(char*)U_n,F_buf,SHA1_DIGEST_SIZE);
        }
......code.....
}

Coba man memcpy. Dan karena copy dari 20 (SHA1_DIGEST_SIZE) bytes pertama dari U_n ke F_buf seharusnya bisa dilihat return dari XORblock.

Silakan check lagi dan saya harus buka puasa dulu :-).

nice weekend,

Doni




Tambahan, coba check pemanggilan fungsi hmac_sha_data dan hmac_sha_end dari hmac.c, hmac.h dan sha1.c.

Doni

--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke