@Tomurisk Thanks a lot, I have added it to the PKGBUILD and it works. Hopefully this is temporary and I hope that tracker software or Wine updates will fix this in the future.
Search Criteria
Package Details: pdf-xchange 11.0.0.0-1
Package Actions
| Git Clone URL: | https://aur.archlinux.org/pdf-xchange.git (read-only, click to copy) |
|---|---|
| Package Base: | pdf-xchange |
| Description: | Feature-rich PDF editor/viewer. Create, view, edit and annotate plus much more. |
| Upstream URL: | https://www.tracker-software.com/product/pdf-xchange-editor |
| Licenses: | custom |
| Submitter: | swearchnick |
| Maintainer: | swearchnick |
| Last Packager: | swearchnick |
| Votes: | 25 |
| Popularity: | 0.019318 |
| First Submitted: | 2014-07-04 12:51 (UTC) |
| Last Updated: | 2026-05-14 07:41 (UTC) |
Dependencies (5)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- wine (wine-stable-nextAUR, wine-stableAUR, wine-valveAUR, wine-pure-gitAUR, wine-pure-gitAUR, wine-tkg-staging-ntsync-binAUR, wine-asahi-gitAUR, wine-gitAUR, wine-staging-gitAUR, wine-cachyosAUR, wine32AUR, wine-tkg-staging-wow64-binAUR, wine-tkg-staging-binAUR, wine-staging)
- gendesk (make)
- icoutils (make)
- p7zip (p7zip-natspecAUR, 7zip-natspecAUR, p7zip-full-binAUR, 7zip-zstd-binAUR, 7zip-zstdAUR, 7zip) (make)
Required by (0)
Sources (1)
swearchnick commented on 2026-03-02 17:49 (UTC)
Tomurisk commented on 2026-03-02 10:52 (UTC) (edited on 2026-03-02 11:42 (UTC) by Tomurisk)
Version 10.8.4.409 released, requires this binary patch on PDFXEdit.exe:
python3 - << 'PY' "$EXE"
import sys, pathlib, re
path = pathlib.Path(sys.argv[1])
data = bytearray(path.read_bytes())
# Pattern around the CoRegisterActivationFilter call:
# 48 8B CB mov rcx,rbx
# FF 15 ?? ?? ?? ?? call qword ptr [rip+disp32]
# C6 43 10 01 mov byte ptr [rbx+0x10],1
# C1 E8 1F shr eax,0x1f
# 84 C0 test al,al
# 75 ?? jnz rel8
pat = re.compile(
b"\x48\x8b\xcb" # mov rcx,rbx
b"\xff\x15...." # call qword ptr [rip+disp32] (wildcard disp32)
b"\xc6\x43\x10\x01" # mov byte ptr [rbx+0x10],1
b"\xc1\xe8\x1f" # shr eax,0x1f
b"\x84\xc0" # test al,al
b"\x75." # jnz rel8 (wildcard offset)
, re.DOTALL
)
count = 0
for m in pat.finditer(data):
call_off = m.start() + 3 # 3 bytes into pattern: at FF 15
# Replace the 6-byte CALL with xor eax,eax + 4×nop
data[call_off:call_off+6] = b"\x31\xc0\x90\x90\x90\x90"
count += 1
if count == 0:
raise SystemExit("No matching CoRegisterActivationFilter pattern found")
path.write_bytes(data)
print(f"Patched {count} call site(s) via code pattern")
PY
Further updates may break those offsets, if that happens, you need to find the offset in Ghidra: https://ibb.co/YF2J7znT
Basically here's how you do it:
Download Ghidra https://github.com/NationalSecurityAgency/ghidra/releases and extract somewhere
Download Temurin https://adoptium.net/temurin/releases?version=25&os=any&arch=any
Download the MSI https://www.pdf-xchange.com/product/pdf-xchange-editor/download?fileid=745
File -> New Project... -> Non-Shared Project -> C:\Users\User\PDFXchange, Project Name: PDFXchange -> File -> Import File... C:\Program Files\Tracker Software\PDF Editor\PDFXEdit.exe -> Format: Portable Executable (PE) -> Double click the parent executable under PDFXchange folder in Ghidra -> Analyze? Yes (or Analysis -> Auto Analyze) -> Keep defaults and press Analyze -> Now go to Symbol Tree, navigate to OLE32.DLL -> CoRegisterActivationFilter -> Double click the FUN_[something] next to XREF[1]:
Now take top bytes as an anchor: 48 8b cb in current version
Then ff 15 [any 4] – we just write as "...." We keep those specific:
c6 43 10 01
c1 e9 1f
84 c0
Then:
75 [any] – 75 .
pat = re.compile(
b"\x48\x8b\xcb" # mov rcx,rbx
b"\xff\x15...." # call qword ptr [rip+disp32] (wildcard disp32)
b"\xc6\x43\x10\x01" # mov byte ptr [rbx+0x10],1
b"\xc1\xe8\x1f" # shr eax,0x1f
b"\x84\xc0" # test al,al
b"\x75." # jnz rel8 (wildcard offset)
, re.DOTALL
)
You're supposed to prefix each byte with \x
hsantanna commented on 2026-01-24 06:10 (UTC)
New url for 10.8.2.407: https://downloads.pdf-xchange.com/10.8.2.407/EditorV10.x64.msi
swearchnick commented on 2025-09-01 15:34 (UTC) (edited on 2025-09-04 06:11 (UTC) by swearchnick)
@RealOrRandom Should be fine now.
RealOrRandom commented on 2025-09-01 12:04 (UTC)
I get a different sha256sum:
> sha256sum pdf-xchange-10.7.1.399.msi
0b3424c90133d7fb76cff17af42aee129c879a6a28872e74a0e9db8dcd88e876 pdf-xchange-10.7.1.399.msi
shrippen commented on 2024-03-24 16:17 (UTC)
I am having trouble activating my installation. I have tried installing pdf-xchange with this package and manually via Bottles. The program accepts my licence key but it will just not activate it, either via online or offline.
Did anyone else have this problem and solved it?
swearchnick commented on 2024-02-19 16:11 (UTC)
@ciros Yes, will do that in the next update.
ciros commented on 2024-02-19 07:54 (UTC) (edited on 2024-02-19 07:56 (UTC) by ciros)
please change pdf-xchange.desktop Categories from Utility to Office
swearchnick commented on 2024-02-01 14:06 (UTC)
@MBK Looked into the "Enhanced OCR engine". It seems like it is a "PDF-XChange Editor Plus" thing and adds a lot of files that takes a lot of space. Since I will never use this and don't want to add additional huge files that I never will use, I will not add this "Enhanced OCR engine". My suggestion is, for someone with a "plus" license (not me :-)), to create a separate "PDF-XChange Editor Plus" package for this.
MBK commented on 2024-01-25 17:17 (UTC)
@swearchnick
Thanks. The default (low quality) OCR engine (Tesseract) now works.
But the Enhanced OCR engine (Finereader) is missing from this install.
To get it to work, copy the folder "ABBYY" from the original install to "/usr/lib/pdf-xchange/Common\ Files/Tracker\ Software/Common/" (It will automatically work with a valid license).
Can you add this? Thanks.
Pinned Comments