Exemplo n.º 1
0
function mega_download_file($id, $k, $iv, $meta_mac)
{
    $dl_url = mega_api_req(array('a' => 'g', 'g' => 1, 'p' => $id));
    $ch = curl_init($dl_url->g);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    $data_enc = curl_exec($ch);
    curl_close($ch);
    $data = aes_ctr_decrypt($data_enc, a32_to_str($k), a32_to_str($iv));
    file_put_contents('../torrents/test.ipa', $data);
    /* $file_mac = cbc_mac($data, $k, $iv);
       print "\nchecking mac\n";
       if (array($file_mac[0] ^ $file_mac[1], $file_mac[2] ^ $file_mac[3]) != $meta_mac) {
       echo "MAC mismatch";
       } */
}
Exemplo n.º 2
0
function downloadfile($file, $attributes, $k, $iv, $meta_mac)
{
    $dl_url = api_req(array('a' => 'g', 'g' => 1, 'n' => $file->h));
    $data_enc = file_get_contents($dl_url->g);
    $data = aes_ctr_decrypt($data_enc, a32_to_str($k), a32_to_str($iv));
    file_put_contents($attributes->n, $data);
    $file_mac = cbc_mac($data, $k, $iv);
    if (array($file_mac[0] ^ $file_mac[1], $file_mac[2] ^ $file_mac[3]) != $meta_mac) {
        echo "MAC mismatch";
    }
}