בלוג
מאמרים מעשיים של KomuraSoft LLC על פיתוח אתרים, SEO, Google Ads, פיתוח עבור Windows, ניצול מערכות קיימות וחקירת תקלות.
חיפוש AI בכל האתר
שאילתות החיפוש נשלחות אל Cloudflare AI Search לצורך הפקת התוצאות. אל תזינו מידע אישי.
-
מה Not Responding באמת אומר — איך Windows מחליט שיש hang, ואיך לתכנן אפליקציות שלא נתקעות
Windows מסמן window כ-Not Responding אחרי 5 שניות בלי שליפת message ומציג ghost window: השיפוט, סיבות ה-hang, תכנון ה-UI thread, והחקירה.
-
Spurious wakeup — למה condition variable מתעורר בלי notify, ואיך לחכות נכון ב-Windows
Wait של condition variable יכול להתעורר בלי notify (spurious wakeup). למה Windows מתיר זאת, וצורת ה-wait הנכונה עם while ו-predicate ב-Win32, ב-C++ וב-C#.
-
איך clipboard ו-drag-and-drop עובדים — טיפול נכון ב-OLE data transfer באפליקציות עסקיות
למה הדבקת Excel מתפרקת ולמה paste נכשל אחרי סגירת המקור: clipboard formats, delayed rendering, OLE drag-and-drop, ומדיניות clipboard history וסנכרון ענן.
-
WPR/WPA בפועל — מבוא לחקירת "כל ה-PC איטי" על פני כל המערכת
חוקרים PC איטי או startup איטי ש-Task Manager לא מסביר עם ETW trace ברמת ה-OS: מצלמים ב-wpr.exe, ואז קוראים CPU, המתנות ו-I/O דיסק ב-WPA.
-
Shutdown ב-Windows מנקודת המבט של האפליקציה — לשרוד exit notifications, restart ו-power loss נכון
השחתת נתונים מ-restart לילי של Windows Update ניתנת למניעה בתכנון: notifications של WM_QUERYENDSESSION/PRESHUTDOWN, cleanup תוך שניות, ושמירות שעמידות ל-powe...
-
יסודות נגישות באפליקציות Windows — UI Automation והכנה לחובת reasonable accommodation
איך screen readers קוראים אפליקציות Windows דרך UI Automation: מתן שמות ב-WinForms/WPF, מקלדת, ניגודיות וכלי בדיקה, על רקע תיקון חוק ביטול האפליה ביפן (אפריל...
-
מלכודות גופנים ותווים יפניים — JIS2004, IVS ו-gaiji באפליקציות עסקיות
בעיות תווים במערכות עסקיות נהיות ניתנות לטיפול ברגע שמפרידים קוד תו (נתונים) מגופן (מראה). המאמר מכסה שינוי glyph ב-JIS2004, IVS ו-gaiji.
-
מ-GPO ל-Intune: מדריך מעבר לניהול מכשירים ב-SMB
כשמגיע זמן החלפת שרת AD, להישאר עם Group Policy או לעבור ל-Entra ID ו-Intune? המאמר מסדר ל-SMB את ההבדלים באיך השניים חלים, רישוי, מיון עם Group Policy analy...
-
חשבונות שירות ב-Windows: LocalSystem, virtual accounts ו-gMSA
עדיין מריצים Windows services כ-LocalSystem? המאמר משווה הרשאות וזהות רשת של LocalService, NetworkService, virtual accounts, domain users ו-gMSA, ומסביר איך ...
-
OneDrive Files On-Demand ואפליקציות עסקיות — placeholders שוברים הנחות
CSV בשולחן העבודה לא נפתח, או שייבוא נופל על "הקובץ לא נמצא" — הסיבה יכולה להיות KFM ו-Files On-Demand של OneDrive. המאמר מסביר placeholders, איך לזהות אותם ...
-
AppCompat ב-Windows: compatibility mode, shims ו-Compatibility Administrator
למה סימון compatibility mode מחזיר אפליקציה ישנה לחיים. המאמר מסביר shim כ-API hook, מה עושים ה-shims הנפוצים, איך מפיצים אותם עם Compatibility Administrator...
-
Windows Memory Internals (חלק 3) — Section objects ו-Copy-on-Write: מה באמת קורה ב-DLL וב-file mapping
המאמר מחבר section objects, image mapping ו-data mapping, shared cache ו-Copy-on-Write, ומסביר איך DLL ו-shared memory חולקים physical pages.
-
Context menu ו-file association ב-Windows 11 — IExplorerCommand, MSIX ו-sparse package
ב-Windows 11 פריטי context menu של האפליקציה נדחקים מאחורי "הצג אפשרויות נוספות". המאמר מסביר את שרשרת extension → ProgID → verb, מגבלות של shell extension ק...
-
Proxy ארגוני ו-Windows apps — WinINET, WinHTTP ו-.NET
בדפדפן זה עובר, ורק האפליקציה העסקית לא חוצה את ה-proxy הארגוני. בדרך כלל WinINET, WinHTTP, environment variables ו-.NET קוראים הגדרות שונות. המאמר מכסה PAC ...
-
מנגנון הזיכרון של Windows (חלק 2) — מחזור החיים של דף פיזי: חמש רשימות והאמת על ה-pagefile
המאמר מחבר את ה-PFN database, Standby, Modified, דחיסת זיכרון וה-pagefile, ומסביר לאן עובר דף פיזי אחרי שהוא יוצא מ-Working Set.
-
Packet capture ב-Windows בפועל — איך בוחרים בין pktmon, netsh trace ו-Wireshark
תקלת תקשורת שמשאירה בלוג האפליקציה רק "timeout" נחקרת שכבה אחת למטה ב-packets שעברו באמת על ה-wire. גם בלי להתקין Wireshark בשרת אפשר ללכוד עם pktmon ו-netsh...
-
Page Fault ב-Windows (חלק 1): מתי כתובת וירטואלית מקבלת RAM פיזי
VirtualAlloc, VAD, page table, TLB, demand-zero ו-hard fault מתחברים לרגע שבו כתובת וירטואלית מקבלת דף פיזי. המאמר עוקב אחרי הגישה הראשונה עד שהיא מגיעה ל-RAM.
-
פענוח קודי שגיאה ב-Windows — שלוש השכבות Win32, HRESULT ו-NTSTATUS
כשמופיע 0x80004005, מפרקים אותו לפני החיפוש. המאמר עובר על שלוש השכבות Win32, HRESULT ו-NTSTATUS, על ה-pattern של 0x8007xxxx, ועל חיפוש עם err.exe ו-PowerShell.
-
RISS אביב 2024, שאלת PM 1 — JWT alg=none, API authorization ו-WAF
שאלת PM 1 בבחינת RISS של IPA באביב 2024: JWT alg=none, API authorization, Mass Assignment, brute-force על קוד אימות בן 4 ספרות, ו-mitigation זמני עם WAF.
-
מה באמת אומר Memory Usage ב-Windows — איך לקרוא Working Set, Private Bytes, Commit ו-pagefile
עמודת Memory ב-Task Manager, Working Set, Private Bytes ו-Commit הם לא אותו מספר. המאמר מסביר את הקשר בין virtual memory ל-RAM ב-Windows, את תפקיד ה-pagefile...
-
Best practices לריבוי threads בפועל: Java — המוסכמות בעידן ה-virtual threads
ב-Java הנוהג המבוסס ב-multithreading הוא לא ליצור threads ישירות אלא לבנות על ExecutorService ועל virtual threads. המאמר מציג את העקרונות המעשיים: בחירה בין ...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C — כתיבה בטוחה לפי Win32 API
הגישה המבוססת ל-multithreading ב-C מול Win32 היא יצירת thread עם _beginthreadex, SRW lock ו-condition variable, Interlocked, ו-stop event יחד עם WaitForMulti...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת C++ — לבטל תאונות במבנה עם RAII ו-jthread
ב-C++, multithreading הוא עולם שבו data race הוא undefined behavior. המאמר עובר על מלכודת ה-destructor של std::thread, תכנון עצירה עם jthread ו-stop_token, ה...
-
שיטות עבודה מומלצות ל-multithreading בפועל: מהדורת .NET — מה להחליט לפני שמוסיפים threads
כללי תכנון שמונעים מקוד multithreaded ב-.NET/C# לקרוס או להיתקע מדי פעם: להשתמש ב-Task במקום ליצור threads בעצמכם, לצמצם shared mutable state, לשמור משמעת lo...
-
IPA SC, סתיו 2023, שאלה 2 אחר-הצהריים — קבצים שיוצאים מ-Wi-Fi לאורחים
על בסיס שאלת אחר-הצהריים 2 בסתיו 2023 של בחינת IPA SC (Registered Information Security Specialist), המאמר מסביר איך חברה שחסמה USB עדיין מוציאה קבצים דרך Wi-...
-
Volume Shadow Copy (VSS): איך זה עובד בפועל — למה תוכנת גיבוי מצליחה להעתיק קבצים שבשימוש
קבצים שבשימוש בדרך כלל אי אפשר להעתיק בגלל sharing violation — אז איך תוכנת גיבוי מצליחה? המאמר מסביר את תפקידי requester, writer ו-provider ב-Volume Shadow ...
-
WMI/CIM מ-C# ומ-PowerShell — מדריך מעשי למידע חומרה, ניטור process ושאילתות remote
WMI/CIM הוא הדרך הסטנדרטית לשלוף serial number של מחשב, לנטר דיסק פנוי ולזהות process שהתחיל. המאמר מכסה CIM cmdlets כמו Get-CimInstance, מעבר מ-Get-WmiObjec...
-
Group Policy בפועל — איך זה עובד, אישור apply, ובחירה בין GPO ל-Intune
עובדים בסביבת AD בלי באמת לדעת מה אומר "מופץ דרך GPO"? המאמר מסביר במבט מעשי איך Group Policy עובדת ואת סדר ה-apply LSDOU, אישור שהשינוי חל עם gpupdate ו-gpr...
-
audit policy ב-Windows וחקירת Event Log בפועל — איך להפוך לצוות IT שיודע לקרוא את 4625
מדריך מעשי למענה על "בדקו את יומני ה-logon שנכשלו". הוא מכסה את הקשר בין basic audit policy ל-Advanced Audit Policy, את ה-subcategories שכדאי להפעיל לפחות, א...
-
Windows LAPS — להפסיק סיסמת Administrator מקומית משותפת לכל המחשבים
סיסמת Administrator מקומית משותפת לכל המחשבים היא כר פורה ל-Pass-the-Hash: פריצה למחשב אחד מתפשטת לכל השאר. המאמר מסביר את הסיבוב האוטומטי ב-Windows LAPS שהפ...