[Bug 55955] New: some part of the software is black, if I click a line it appears, but only a line, never more than a line
https://bugs.winehq.org/show_bug.cgi?id=55955 Bug ID: 55955 Summary: some part of the software is black, if I click a line it appears, but only a line, never more than a line Product: Wine Version: 8.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: comctl32 Assignee: wine-bugs(a)winehq.org Reporter: gerard.labadie(a)sysgroup.fr Distribution: --- Created attachment 75543 --> https://bugs.winehq.org/attachment.cgi?id=75543 Display of Captvty 3 on Windows The resolution of the bug https://bugs.winehq.org/show_bug.cgi?id=55742 allows to launch successfully Captvty V3, but part of the window is black and impossible to read I have attached the file Captvty-3-display-ok, when running on Windows which shows a normal display and the file Captvty-linux which shows that the resume of the replay is Ok, but not the lines with the names of the replays. reproducer have wine 8.20 or after, the latest winetricks create a directory .captvty_V3 download the zip from v3.captvty.fr unzip it to .captvty_V3 export WINEARCH=win64 export WINPREFIX=~/.captvty_V3 wineboot -u winetricks -q dotnet48 corefonts gdiplus fontsmooth=rgb vlc win7 mkdir temp cd temp cabextract ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe cp -rf ./x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2/comctl32.dll ~/.wine_captvty_V3/drive_c/windows/syswow64/comctl32.dll cd ~ rm -rf temp launch it with wine .captvty_V3/Captvty.exe I noticed from the command line the messages fixme:uxtheme:BeginBufferedPaint painting parameters are ignored and 0024:fixme:uxtheme:AllowDarkModeForWindow 00030048 1: stub using winecfg I tried various options for comctl32, any option with "native" works (with the black display), any other option crashes the sofware. in https://forum.winehq.org/viewtopic.php?t=38088 somebody commented I don't know how to fix the black display, but I strongly believe this might be due to using the native comctl32 (which is not really a good thing). I think it might be a good idea to open a bugreport about the application not being able to load builtin comctl32, maybe one of the developers has an idea how to fix this, and maybe this "black display" issue might be solved then as well -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 gerard.labadie(a)sysgroup.fr changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gerard.labadie(a)sysgroup.fr --- Comment #1 from gerard.labadie(a)sysgroup.fr --- Created attachment 75544 --> https://bugs.winehq.org/attachment.cgi?id=75544 display problem with black screen -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 Louis Lenders <xerox.xerox2000x(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW URL| |http://releases.captvty.fr/ | |17d9d967e51828e91601a2e8a31 | |0b21e24464108/captvty-3.0.1 | |.4.zip Summary|some part of the software |Captvty fails to load |is black, if I click a line |builtin comctl32: |it appears, but only a |System.DllNotFoundException |line, never more than a |: Dll was not found. (using |line |native comctl32 works | |around this, but with | |graphical glitches ) CC| |xerox.xerox2000x(a)gmail.com Keywords| |download --- Comment #2 from Louis Lenders <xerox.xerox2000x(a)gmail.com> --- Confirming. I change the title to reflect the 1st problem/bug that needs to be resolved (System.DllNotFoundException: Dll was not found) As said by reporter of bug: putting native comctl32 in syswow64 strangely works around this issue; I couldn't find a hint debug logs, mysterious bug to me... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation CC| |dark.shadow4(a)web.de --- Comment #3 from Fabian Maurer <dark.shadow4(a)web.de> --- When running in a clean WINEPREFIX I get
at _9OA._bh (System.Diagnostics.ProcessModule , System.IntPtr , System.String ) [0x000fa] in <3761aa8afd52472ab51210ad57dc01a3>:0 at _9OA._Gx[] (System.Diagnostics.ProcessModule , System.String , System.String , _9OA+_9Jb , System.Func`2[T,TResult] ) [0x000c7] in <3761aa8afd52472ab51210ad57dc01a3>:0 at _9OA._o6[] (System.Diagnostics.ProcessModule , System.String , System.Int32 , System.Func`2[T,TResult] ) [0x0001e] in <3761aa8afd52472ab51210ad57dc01a3>:0 at _yJb._yKA () [0x00044] in <3761aa8afd52472ab51210ad57dc01a3>:0 at _u6A._jib () [0x0023a] in <3761aa8afd52472ab51210ad57dc01a3>:0
Is that the same for you? The application is obfuscated, here some tools to help: https://lallouslab.net/2019/07/08/a-walkthrough-to-deobfuscating-a-confusere... Especially ConfuserExSwitchKiller Then you can use https://github.com/Techlord-RCE/ConfuserEx-Static-String-Decryptor to decrypt the strings... If I understand correctly, the C# program parses its loaded dlls manually. Then it tries to patch those native DLLs to hook them in managed code (yes really). And when it can't find/patch the function it throws a DllNotFoundException -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #4 from Fabian Maurer <dark.shadow4(a)web.de> --- Created attachment 75565 --> https://bugs.winehq.org/attachment.cgi?id=75565 Reproducer Adding a little reproducer. Problem seems to be that wine comctl32 doesn't have uxtheme in its delay import list in the PE header. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Captvty fails to load |Captvty expects comctl32 to |builtin comctl32: |have delay import table in |System.DllNotFoundException |PE header |: Dll was not found. (using | |native comctl32 works | |around this, but with | |graphical glitches ) | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #5 from Fabian Maurer <dark.shadow4(a)web.de> --- Link now only redirects me to homepage. Would love to have this archived at archive.org, but the waybackmachine also just saves the redirected homepage... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- URL|http://releases.captvty.fr/ |http://v3.captvty.fr/ |17d9d967e51828e91601a2e8a31 | |0b21e24464108/captvty-3.0.1 | |.4.zip | --- Comment #6 from Fabian Maurer <dark.shadow4(a)web.de> --- Adjusting link. The website generates a new link for every IP, so you can't link it directly. If you find a way to archive, please do. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 joaopa <jeremielapuree(a)yahoo.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree(a)yahoo.fr --- Comment #7 from joaopa <jeremielapuree(a)yahoo.fr> --- Archived link here: https://archive.org/details/captvty-3.0.1.7-autoextract -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #8 from gerard.labadie(a)sysgroup.fr --- if you want to automate downloading the zip of Captvty (2 or 3) have a look at https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu in the script for V2 or V3, they do adresse=$(wget -q -O- 'http://v3.captvty.fr' | sed -n 's/.*href="\(\/\/.\+\.zip\).*/http:\1/p') test -n "$adresse" && wget -qO /tmp/Captvty.zip "$adresse" if test -n /tmp/Captvty.zip then unzip -d "$HOME/.captvty_V3/" /tmp/Captvty.zip && rm /tmp/Captvty.zip fi -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #9 from Fabian Maurer <dark.shadow4(a)web.de> ---
if you want to automate downloading the zip of Captvty (2 or 3)
I know that works, but you can't force the waybackmachine to do that. You can save a site, take that link and try to save that link - but chances are the link is invalid because it belongs to a different IP. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #10 from gerard.labadie(a)sysgroup.fr --- the author of Captvty has created a Linux (and Mac) version, so this bug can be closed -------------------------------------------------------------------------------------- extract from https://v3.captvty.fr/linux Version 3.0.0.0 bêta expérimentale publiée le 1er mars 2024 Télécharger (tar.gz) Debian, Ubuntu, Fedora, openSUSE Télécharger le fichier tar.gz, décompresser l’application Captvty dans le dossier de votre choix, puis ouvrir un Terminal sur le dossier. Pour lancer Captvty, Mono doit être installé. Sous Ubuntu/Debian, taper : $ sudo apt install mono-complete Une fois Mono installé, pour lancer Captvty sous n’importe quelle distribution Linux, taper : $ mono Captvty.exe Captvty pour Linux est prêt à être utilisé, et permet actuellement de lister les émissions et de les télécharger. ---------------------------------------------------------------------------------------- -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #11 from Fabian Maurer <dark.shadow4(a)web.de> --- No, this issue is still valid, we still want the windows version to work. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #12 from gerard.labadie(a)sysgroup.fr --- I tried with the latest $ wine --version wine-10.0-rc1 no improvement, but it seems I had not those messages before $ WINEARCH=win64 WINEDEBUG=fixme-all WINEPREFIX=~/.wine64 wine .captvt3/Captvty.exe 012c:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\atl100.dll" (error=80) 0140:err:setupapi:create_dest_file failed to create L"C:\\windows\\system32\\atl100.dll" (error=80) 0140:err:commdlg:DllMain failed to create activation context, last error 14001 002c:err:setupapi:do_file_copyW Unsupported style(s) 0x10 0160:err:ole:CoGetContextToken apartment not initialised 0024:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Foundation.Diagnostics.AsyncCausalityTracer" -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #13 from joaopa <jeremielapuree@yahoo.fr> --- Bug still occurs with wine-11.0-rc3 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #14 from joaopa <jeremielapuree@yahoo.fr> --- Bug still occurs with wine-11.0-rc3 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #15 from joaopa <jeremielapuree@yahoo.fr> --- *** Bug 59170 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #16 from Alexandre Julliard <julliard@winehq.org> --- In a sense that's a gcc/binutils bug, when building with llvm/lld it creates a proper delay import table. The app then dies a bit later on a MissingMethodException, helpfully not saying which method is missing... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #17 from joaopa <jeremielapuree@yahoo.fr> --- Thanks Alexandre for your comment. In comment 7, I put a archive.org link for cptvty3. It would be better to use thos one. Can an administrator put the link at the download place -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 Fabian Maurer <dark.shadow4@web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- URL|http://v3.captvty.fr/ |https://archive.org/details | |/captvty-3.0.1.7-autoextrac | |t -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #18 from joaopa <jeremielapuree@yahoo.fr> --- Bug still occurs with wine-11.9 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55955 --- Comment #19 from gerard.labadie@sysgroup.fr --- I have solved it with the procedures on my github https://github.com/k3ck3c/captvty3-wine-patcher traanslation from https://github.com/k3ck3c/captvty3-wine-patcher/blob/main/docs/history.md History Context Captvty 3.0.1.24 does not work correctly on recent versions of Wine. The main symptoms observed were: immediate crash upon startup; errors related to Windows themes (UxTheme / Visual Styles); crash during a download; crash at the end of a download. The goal of this project is not to modify how Captvty functions, but simply to enable it to run correctly on Wine. Analysis The analysis began by comparing Captvty's behavior across several versions of Wine. As the program is developed in .NET, the investigation was then conducted directly at the IL code level using Mono.Cecil and several small tools developed for this project. The goal was not to fully de-obfuscate Captvty, but to identify calls to the .NET framework likely to cause the observed exceptions. This approach quickly made it possible to isolate several assumptions made by the application that hold true on Windows but not always on Wine. First fix: startup The first crash occurred during application initialization. The method in question is: _zcA::_UXB() This routine performs several Windows-specific initialization tasks that are not essential for Captvty to run on Wine. The fix consists of neutralizing this method. Second fix: Windows theme colors Captvty queries several colors using: VisualStyleRenderer.GetColor(...) Wine does not fully replicate this behavior. The fix replaces this initialization with generic colors: SystemColors.Window SystemColors.WindowText The appearance remains very similar while becoming independent of Windows themes. Third fix: temporary file length During a download, Captvty may call: new FileInfo(path).Length even though the temporary file does not yet exist. The fix first checks: File.Exists(path) and returns a length of zero if the file is not yet present. Fourth fix: stream position Another exception originated from: Stream.Position while the stream was momentarily null. The fix simply returns 0 until the stream is initialized. Fifth fix: download completion At the end of a download, Captvty creates an object representing the downloaded file. Depending on when this operation occurs, the temporary file may have already been renamed. An additional File.Exists() check prevents an exception regarding FileInfo.Length. Validation The fix's operation was validated through several tests: full startup of Captvty; browsing show lists; complete download of a show; playback of the resulting file using mpv; stream verification using MediaInfo. Notably, downloading a show larger than 500 MB served to validate the final fix. Project philosophy This repository intentionally does not distribute any modified Captvty executables. The user retains their original copy of Captvty and applies the fix themselves. This approach offers several advantages: respect for the work of the Captvty author; ability to verify the patcher's source code; reproducibility of changes; no distribution of a modified executable with unverifiable content. Future outlook Ideally, this patcher would one day become unnecessary. Two scenarios are possible: Wine evolves and fully replicates the behaviors expected by Captvty; or the Captvty author directly incorporates equivalent robustness checks. In either case, this project will have fulfilled its purpose. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
WineHQ Bugzilla -
WineHQ Bugzilla