Mp4decrypt linux axiomatic systems. Reload to refresh your session.
Mp4decrypt linux axiomatic systems Feb 8, 2021 · I tried to decrypt the encrypted segment (that I generated with mp4encrypt) in two different ways - with mp4decrypt and with a specifically designed playlist to be used with FFplay. License. zip (to start, open the file named index. {"payload":{"allShortcutsEnabled":false,"fileTree":{"Build/Targets/x86-microsoft-win32-vs2012/Mp4Decrypt":{"items":[{"name":"Mp4Decrypt. Aug 20, 2023 · i am decrypting in a nodejs app using mp4decrypt before trying to decrypt i am combining the init file with a media segments. 0) (c) 2002-2015 Axiomatic Systems, LLC usage: mp4decrypt [options] <input> <output> Options are: --show-progress : show progress details --key <id>:<k> <id> is either a track ID in decimal or a 128-bit KID in hex, <k> is a 128-bit key in hex (several --key options can be used, one for each Aug 18, 2021 · My goal is to being able to run mp4decrypt from any directory in my Ubuntu-20. tv. Feb 13, 2019 · This still does not seem to work at least not on linux no matter where i place the command nothing is displayed in the command line using the latest version Jul 19, 2020 · Hiho. Aug 7, 2017 · You signed in with another tab or window. exe in the folder so make sure you haven't made that mistake. Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 Jun 23, 2023 · You signed in with another tab or window. Automate any workflow Hello, Is is possible to check if used key for decryption is correct key? Because now if key is correct mp4decrypt generates output and have exit code 0 mp4info not show that output file in this case if encrypted, but in fact output file Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - Bento4/README. m4a format I am using the correct key, but the file is not being decrypted. h:80 in the latest commit 1529b83, which also affects versions ranging from v1. txt (see Section 8). ==24087==Hint: address points to the zero page. md at master · axiomatic-systems/Bento4 Hi there, I use my fuzzer for fuzzing the binary mp4decrypt, and this binary crashes with the following: AddressSanitizer:DEADLYSIGNAL ===== ==24087==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x000000702ee8 bp 0x7ffcf40a75f0 sp 0x7ffcf40a73b0 T0) ==24087==The signal is caused by a READ memory access. operating systems, including Linux, project files for Microsoft Visual Studio, and an XCode project for MacOS X. Sep 23, 2022 · Summary Hi there, These are some faults that maybe lead to serious consequences in mp4xx, the version of Bento4 is the latest (the newest master branch) and the operation system is Ubuntu 18. Among them, Bug3-5 may be different from #771. Support for a wide range of codecs, including H. This is videohelp. com; Learn more about verified organizations. 4 Decrypting a file sample per sample in a player 4 For me it's impossible because I don't know how. I have a file which was encrypted in CENC I believe, and i'm trying to decrypt it for over few months now using mp4decrypt from the bento4 mp4decrypt tools but trust me I just don't know-how. When I try replicate the same on ubuntu 18 the audio doesn’t decrypt. Some of the API documentation is produced from the source code comments using Doxygen. Sep 18, 2022 · Hi there, I use my fuzzer for fuzzing the binary mp4decrypt, and this binary crashes with the following: AddressSanitizer:DEADLYSIGNAL ===== Skip to content Navigation Menu Actions. Prior to the change, the decrypter would first look for sample encryption IVs in the senc box, when present, and only look for saio and saiz boxes (sample aux info size and offset) when no senc is found. Jul 2, 2015 · it should be noted that i decrypted the segment using mp4decrypt todo this i had to combine the init segment with the media segment as using the mp4 decrypt option --fragment-info and setting it to the location of the init segment does not seem to work and the file is not decrypted Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 The standard distribution contains makefiles for unix-like operating systems, including Linux and Android, project files for Microsoft Visual Studio, and an XCode project for MacOS X and iOS. Building the SDK Building the SDK will produce a C++ class library and some command line tools. usage: mp4decrypt [options] < input > < output > \nOptions are:\n --show-progress : show progress details\n --key < id >: < k > \n < id > is either a track ID in decimal or a 128-bit KID in hex,\n < k > is a 128-bit key in hex\n (several --key options can be used, one for each track or KID)\n note: for dcf files, use 1 as the track index\n note: for Marlin IPMP/ACGK, use 0 as the track ID\n Nov 8, 2017 · Hello Im trying to figure out the correct way to decrypt a mp4 with a Widewine challenge key and track KID I tried mp4decrypt "file_encrypted. 0) (c) 2002-2009 Axiomatic Systems, LLC usage: mp4dcfpackager --method <method> [options] <input> <output Jun 28, 2022 · I see what's going on. 04 But it doesn't seems to work when I enter the command mp4decrypt. Support for multiple DRM systems that are compatible with MP4-formatted content (usually leveraging CENC Common Encryption), such as Marlin, PlayReady and Widevine. Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 Hi all. Bento4 apps removes handlers types "mhlr" and "dhlr" from hdlr atoms. it should be noted i also have something the same in php but it is very slow when it comes to combining into a full video when done so i am trying todo it in node js the decryption works fine in php Download Video or series from Witty. This is the output of mp4info --verbose Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Am I doing sth wrong? I have a simple bat file with such line: mp4decrypt. exe instead of mp4decrypt. ? is there a way to decrypt file in memory stream, instead of , which usually is a file. Amit. This software is available under two different licenses For applications that are entirely distributable under the terms of the GPL, the Bento4 GPL license applies. You switched accounts on another tab or window. 04. Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 Aug 25, 2023 · Saved searches Use saved searches to filter your results more quickly Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - Releases · axiomatic-systems/Bento4 Jul 2, 2021 · Saved searches Use saved searches to filter your results more quickly Apr 9, 2022 · Is it possible that segment 4 here isn't encrypted with the same key? It first, I thought that the 'extra' [emsg] box at the start of 4. mp4 - afte Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 Hi, I am doing some DRM POC for the current project and I have downloaded the fMP4 playlist, from which I obtained: Initialization segment file Segment #0 file If I fuse those two files together, I axiomatic-systems/Bento4 Home Documentation Documentation Overview MPEG DASH MPEG mp4decrypt mp4dcfpackager mp4compact mp4fragment mp4split mp4decrypt mp4dcfpackager mp4compact mp4fragment 2002-2020 Axiomatic Systems, LLC usage: mp4fragment [options] <input> <output> options are: --verbosity <n> sets Hello guys, I need to write the identical information from an input file to another file, ie. I've seen some who have put mp4encrypt. Axiomatic Systems Hello, I am not able to decrypt an encrypted ISMV file. Has anyone seen this? I am using Version 1. You can find out more about the license in LICENSE. 3 Encrypting a file and adding content protection information 4. As a convenience, we publish here the most recent version of the binary releases (SDK with header files, libraries and command line applications) for the most common platforms, and the corresponding source snapshot. The file consists of a single h264 track in an mp4 file. 1. I'm doing a dash decrypt with mp4decrypt, on windows its working perfectly, takes about 90s and then the decryption is complete. Maybe -- Instead of mp4decrypt, I would substitute another application that would display the command line. exe. For me it's impossible because I don't know how. 24 followers San Francisco; Nov 18, 2019 · You signed in with another tab or window. To debug a program built with ASan, here is some output AddressSanitizer:DEADLYSIGNAL ===== ==2 Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 May 20, 2024 · I would like to know if mp4decrypt works with aac audio segment and SAMPLE-AES encryption. May 27, 2024 · Dear Bento4 developers, I used AFL++ to fuzz test Bento4 and found some problems. exe works then open a command prompt window where mp4decrypt is and type mp4decrypt. Hi I have a video I got from a dash stream. For applications that cannot be entirely distributable under the terms of the GPL (either the application May 7, 2019 · Hi , i want to decrypt a encrypted . Hi there, I use my fuzzer for fuzzing the binary mp4decrypt, and this binary crashes with the following: AddressSanitizer:DEADLYSIGNAL Home. 0 and 1. Apr 5, 2024 · When encrypting a segment by itself, you need to pass in a reference to the unit segment, where some of the encryption parameters are stored (that info is only in the init segment and not repeated in each individual segment). Reload to refresh your session. 5. To verify mp4decrypt. 265 (HEVC), AAC, AC-3, EC-3 (Dolby Digital Plus), AC-4, Dolby ATMOS, DTS, ALAC, and many more. exe encrypted. Exploitation Mechanism Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 Sep 5, 2018 · After any action mp4dump/mp4edit etc. This is the output of mp4info --verbose Jan 25, 2022 · However, the biggest surprise that I had today was the tools provided by bento4 SDK (for Linux platforms) are NOT working! The user need to make the tools from source for centOS-8 (that's what I have) to use the tools. 0-641. The same file in . mp4 type mhlr subtype vide name video processed. There is probably something in procedure, that I'm missing or there is some issue with Bento4 and ism files. CMAF unifies MPEG DASH and HLS in a way that allows the authoring of an MPEG DASH manifest and an HLS playlist that point to shared media segments, thus having just one set of encoded segment files. 265 (HEVC), AAC, AC3 and eAC3 (Dolby Digital), DTS, ALAC, and many more. aac format is decrypted using the same key, but as I said, it Jan 6, 2021 · Saved searches Use saved searches to filter your results more quickly Hello, there. Nov 2, 2022 · Medium severity (4. 6 LTS (docker), these crashes with the following. 6 LTS (docker), these binary-crashes with t Apr 27, 2020 · Hello! Can support for CBCS be added to the mp4decrypt tool? I use this a lot for validation of CTR CENC content, but would like to use it for CBCS too :) Sep 22, 2024 · Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - Issues · axiomatic-systems/Bento4 Mar 10, 2021 · I am trying to decrypt an audio file in . for example: in hdlr atom orig. The Common Media Application Format is a standard for the encoding and packaging of segmented media objects for adaptive streaming. The operation system is Ubuntu Summary Hi there, These are some faults that can lead to memory leaks in mp4xx, the version of Bento4 is the latest (the newest master branch) and the operation system is Ubuntu 18. However, I encountered errors in doing so, as some blocks were being read twice. ===== ==1732==ERROR: LeakSanitizer: detected memory leaks Indirect leak of 512 byte(s) in 1 o Dec 17, 2020 · hey hi there , I tried to search for issues regarding this but couldn't find any which answers my question . m4s and that: the result plays fine. The simplest way to produce encrypted MPEG DASH streams is to instruct mp4dash to perform the encryption for you automatically, by using the --encryption-key option. exe, it should log some text to the console. Automate any workflow Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - Bento4/README. The primary factors you need to care for are: The player used must support the chosen DRM technology. Mar 8, 2021 · Unfortunately decrypting it with mp4decrypt changes nothing. The MP4DECRYPT tool runs fine but the output is still encrypted. Hi, I am having similar issue like this post here #450 I can decrypt video with key in format 1:key and kid:key and audio only decrypts with kid:key(windows). m4s (which would make it equivalent to 4. Saved searches Use saved searches to filter your results more quickly Aug 27, 2021 · I have both KEY and KID (for the live stream) and was able to decrypt a VOD video properly. 1 Reading an MP4 file in a player 3. 8k. Sep 23, 2022 · You signed in with another tab or window. K. The goal here is to provide the simplest, most efficient, and robust script to download content from itv. Feb 20, 2021 · Is there such a feature? Also, I cant see progress even though I have --show-progress parameter. md at master · axiomatic-systems/Bento4 Jul 2, 2015 · it should be noted that i decrypted the segment using mp4decrypt todo this i had to combine the init segment with the media segment as using the mp4 decrypt option --fragment-info and setting it to the location of the init segment does not seem to work and the file is not decrypted Axiomatic Systems, LLC. There is an out-of-bound write in SetDataOffset, Ap4TrunAtom. Can this way used on livestreams? (for example: on-the-fly conversion from encrypted mpd / HLS to unencrypted mpd / HLS formats) Bento4 is developed by Axiomatic Systems LLC in San Francisco, California. wmv file , but it's not working . chm, and a set of HTML pages zipped together in Bento4-HTML. You can reproduce the behavior by encrypting/decrypting a clear ISMV file using the file: https://mediasvcs6gbv2zdbl Jun 13, 2017 · You signed in with another tab or window. Jun 1, 2023 · Some scripts on this forum are unfortunately very slow, fragile, and unnecessarily complex. cpp axiomatic-systems/Bento4 Bento4 axiomatic-systems/Bento4 Home mp4decrypt mp4dcfpackager mp4compact mp4fragment mp4split mp4tag mp4mux mp4decrypt mp4dcfpackager mp4compact mp4fragment 2002-2016 Axiomatic Systems, LLC usage: mp4split [options] <input> Options: --verbose : print verbose information Usage: mp4-hls. There is also support for building the library with the SCons build system. DEVELOPERS¶ Precompiled SDKs and Tools¶. 4 (Bento4 Version 1. 264 (AVC), H. Support for multiple DRM systems that are compatible with MP4-formatted content (usually leveraging CENC Common Encryption), such as Marlin, PlayReady and Widevine. However when I try to play the output in a media player it is scrambled: Is there any way to fix this so I can watch the (several --pssh options can be used, with a different system ID for each) (the filename can be left empty after the ':' if no payload is needed) --pssh-v1 <system-id>:<filename> Same as --pssh but generates a version=1 'pssh' atom (this option must appear *after* the --property options on the command line) --kms-uri <uri> Specifies the KMS URI Nov 27, 2014 · DASH videos protected using CENC can be played back using many different DRM technologies. The affected component is mp4decrypt in Axiomatic Bento4, with the specific version information not available at the time of classification. l Jan 15, 2024 · In an environment where disk usage is simulated using memory, I am using mp4decrypt. Apr 5, 2022 · Hi, I am doing some DRM POC for the current project and I have downloaded the fMP4 playlist, from which I obtained: Initialization segment file Segment #0 file If I fuse those two files together, I can successfully play it. Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 axiomatic-systems/Bento4 Home Documentation Documentation Overview MPEG DASH MPEG mp4decrypt mp4dcfpackager mp4compact mp4fragment mp4split Following from the "Video guide to get your Win system set-up for . The operation system is Ubuntu Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 The standard distribution contains makefiles for unix-like operating systems, including Linux and Android, project files for Microsoft Visual Studio, and an XCode project for MacOS X and iOS. The affected system includes Axiomatic Bento4 with the mp4decrypt component, impacting all versions. ? Thanks & Regards. May 23, 2021 · Hello, Is is possible to check if used key for decryption is correct key? Because now if key is correct mp4decrypt generates output and have exit code 0 mp4info not show that output file in this case if encrypted, but in fact output file We've verified that the organization axiomatic-systems controls the domain: www. Contribute to Ak1r4Yuk1/Witty-Downloader development by creating an account on GitHub. MP4 Decrypter - Version 1. The standard distribution contains makefiles for unix-like operating systems, including Linux and Android, project files for Microsoft Visual Studio, and an XCode project for MacOS X and iOS. 1-622 compiled from source on Linux. To use this plugin, make sure you place the --use-postprocessor option before any Host and manage packages Security. ( Any other tools doesn't work too!). txt) 3. 0 includes an improvement to how the decrypter complies with the spec. Notifications Fork 452; Star 1. Open khangnh opened this issue Jul 19, 2022 · 0 MPEG DASH ENCRYPTION AND DRM¶ Encrypting The Media¶. Find and fix vulnerabilities Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 Free essays, homework help, flashcards, research papers, book reports, term papers, history, science, politics The vulnerability in Axiomatic Bento4's mp4decrypt component can be exploited remotely, leading to a memory leak that could result in a denial of service. I want t o decrypt a video file in linux with mp4decrypt. MPEG DASH supports a Common Encryption mode (CENC), which is implemented by Bento4. The library is Open Source, with a dual-license model. 3) Improper Resource Shutdown or Release in axiomatic-systems/bento4 | CVE-2022-3814 Mar 15, 2007 · The standard distribution contains makefiles for unix-like operating systems, including Linux, project files for Microsoft Visual Studio, and an XCode project for MacOS X. com. Bonjour! I've been trying to dive a bit into the protocol to see how it works, by decrypting stuff. On Linux it just finishes instantly but the output file is identical to the input, no decryption has occured, its just a copy of the original file The standard distribution contains makefiles for unix-like operating systems, including Linux and Android, project files for Microsoft Visual Studio, and an XCode project for MacOS X and iOS. 2012 Table of Contents 1 Why use Bento4? 3. I'm 100% sure that decryption key is correct. You signed out in another tab or window. wmv -->No movie found in the file mp4decrypt --key 1 CMAF¶. Affected Systems and Versions. m4s), and decrypting the concatenation of audio. How can we decrypt a mpd file using mp4decrypt ? File : https://m-storagellnw-j2apps. I used the key and mp4decrypt to take off the encryption and it removed. 2. Here are the links to the raw audio and video MP4 segment files: Oct 6, 2022 · Summary Hi, developers of Bento4, I tested the binary of bento4 with my fuzzer, and some memory-leak crashes incurred. mp4info. I have some experience with decrypting dash files, so I know how to properly use mp4decrypt. s. Visit the Download Page for details. axiosys. mp4" Widewinekey_in_hex:KID_id_for track But dont seem to have any effect, and i dont get any e Nov 29, 2023 · Saved searches Use saved searches to filter your results more quickly Mar 8, 2021 · Unfortunately decrypting it with mp4decrypt changes nothing. exe --show-progress --key Feb 27, 2021 · Hello, Could you tell me if is possible to decrypt audio with extension 'aac' by mp4decrypt? When use a correct DRM key it's not working. The video file i have must be decrypted with 4 keys . 2-590 to v1. Thanks! Apr 8, 2021 · You signed in with another tab or window. A change made between 1. com, not videoconfusion. mp4encrypt -- I have a file that was encrypted in CENC I believe, and I'm trying to decrypt it for over a few months now using mp4decrypt from the bento4 mp4decrypt tools but trust me I just don't know-how. The vulnerability in mp4decrypt of Axiomatic Bento4 results in a memory leak when manipulated, enabling attackers to initiate remote attacks. 6. . com without the need for downloading anything other than the essential components. Oct 11, 2024 · Hi Keep getting this issue: [WARNING 17:09:01] mp4decrypt not found at "mp4decrypt", music videos will not be downloaded However it is in the path, I have tried going directly to the exe and the folder. Exploitation Mechanism Automate any workflow Packages {"payload":{"allShortcutsEnabled":false,"fileTree":{"Source/C++/Apps/Mp4Decrypt":{"items":[{"name":"Mp4Decrypt. Code; when decrypt with mp4decrypt #727. Oct 31, 2023 · So i have this weird issue for some dash streams where if i try do the decryption using the--fragments-info. The files will be decrypted instantly after download and will replace the encrypted files. mp4extract 从MP4文件中提取atom/box mp4encrypt 加密MP4文件(支持多种加密方案) mp4decrypt 解密MP4文件(支持多种加密方案) mp4dcfpackager 将媒体文件加密为OMA DCF文件 mp4compact 将“stsz”表转换为“stz2”表以创建更紧凑的MP4文件 mp4fragment 从非碎片化的MP4文件创建碎片化MP4 Jul 18, 2023 · So it's most likely down to an issue with mp4decrypt. I attempted to delete the portions of the original file that have already been read during the execution of mp4decrypt. html with an HTML browser) usage: mp4decrypt [options] < input > < output > Options are: --show-progress : show progress details --key < id >: < k > < id > is either a track ID in decimal or a 128-bit KID in hex, < k > is a 128-bit key in hex (several --key options can be used, one for each track or KID) note: for dcf files, use 1 as the track index note: for Marlin IPMP/ACGK, use 0 as the track ID note: KIDs are only Hello, I have encountered an uncommon issue with mp4decrypt, where it successfully decrypts an MP4 file, but the resulting decrypted audio track cannot be played correctly. I have noticed that the KID is base64'ed, and when decoded and hex'd, it's only 32-bit long. command line argument it does not decrypt but if i combine the fragments info file with the media segment its self using Hi, I use my fuzzer for fuzzing binary mp4decrypt, and a crash incurred shows that. 0. I need to replicate the atom, with the duration information, codec-id among others, but without changing the video, just the information, the i Oct 21, 2017 · You signed in with another tab or window. /mp4decrypt --show-progress --key 2 Saved searches Use saved searches to filter your results more quickly Full-featured MP4 format, MPEG DASH, HLS, CMAF SDK and tools - axiomatic-systems/Bento4 The standard distribution contains makefiles for unix-like operating systems, including Linux and Android, project files for Microsoft Visual Studio, and an XCode project for MacOS X and iOS. axiomatic-systems/Bento4 Home Documentation Documentation Overview MPEG DASH MPEG mp4decrypt mp4dcfpackager mp4compact mp4fragment mp4split mp4decrypt mp4dcfpackager mp4compact mp4fragment mp4split 2002-2017 Axiomatic Systems, LLC usage: mp4info [options] <input> Options: --verbose: show extended Library API Documentation¶. 1 Overview (README. Support for multiple DRM systems that are compatible with MP4-formatted content (usually leveraging CENC Common Encryption), such as Marlin, PlayReady, Widevine, FairPlay and Adobe Access. cpp","path":"Source/C++/Apps/Mp4Decrypt/Mp4Decrypt. py [options] <media-file> [<media-file> ] Each <media-file> is the path to an MP4 file, optionally prefixed with a stream selector delimited by [ and ]. vcxproj","path":"Build/Targets Summary Hi, developers of Bento4, I tested the binary of bento4 with my fuzzer, and some memory-leak crashes incurred. Do you have maybe any suggestion how i can do it? This is a plugin for yt-dlp that enables decryption of encrypted audio and video files using the mp4decrypt command-line tool. comes basic CLI "Guide" to get your Linux (Debian based) system set-up to use with the projects in this forum Mar 14, 2023 · Saved searches Use saved searches to filter your results more quickly Sep 17, 2016 · I have a file which i've encrypted in CENC, and i'm trying to now decrypt it using mp4decrypt from the bento4 mp4decrypt tools. 1 (Bento4 Version 1. 2 Typical Bento4 use cases 3. mp4decrypt MP4 DCF Packager - Version 1. For your convenience, we make available pre-compiled SDK and tools for the most popular platforms. The doxygen output is available as a windows CHM file in Bento4. If I get a version of mp4decrypt that allows this, I can send it. Apr 12, 2018 · I have an fmp4 file encrypted with a test key (SAMPLE-AES, cbcs) that plays back on the iPad (with a valid m3u8) but when I decrypt the same file using mp4decrypt and verify the decrypted output, the video looks garbled. 2 Writing an MP4 file from a source 4. 4. You can also read some of the API documentation produced from the source code comments Jan 8, 2018 · Saved searches Use saved searches to filter your results more quickly Jul 19, 2022 · axiomatic-systems / Bento4 Public. m4s may have caused a problem, but I tried concatenating that same [emsg] box at the start of 3. Fixed MP4Decrypt so it can: Decrypt PIFF media Select track by KID instead of track ID Show progress Fixes #368 hello fellas I have an encrypted mp4 file vid_enc,mp4 i get return 3 keys xxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Feb 16, 2022 · Hello, how to create "fragments info" file, that is used as option "--fragments-info " for mp4decrypt tool. vlowvx iokgfe rqjawihs ktlq bkbyc wwpso pthsv dzjsu samtuy cuonh