DCSIMG
עצלנות של מפתחים ואבטחת מידע - והפעם כיצד לעקוף את הבדיקה שטלריק עושים האם קניתם את המוצר - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

עצלנות של מפתחים ואבטחת מידע - והפעם כיצד לעקוף את הבדיקה שטלריק עושים האם קניתם את המוצר

 

בפוסט הקודם הראיתי עד כמה מפתחים לא חושבים מספיק על כל הנושא של אבטחת מידע.
 
היום אני אראה משהו דומה ונראה עד כמה מפתחים כותבים לפעמים בצורה מגוכחת.
 
 
אחד הכלים החשובים ביותר בכל סביבת פיתוח - היא הפקדים של טלריק, בכל סביבה שבה אני עובד (win form, web, wpf, silverlight) אני משתדל שיהיה לי את היכולת להשתמש בפקדים שלהם.
 
כמובן שהפקדים עולים כסף (ובכלל לא זול - בסביבות 1000$ עבור סביבה אחת - אבל זה שווה כל שקל), חשוב שיהיה ברור שאני לא מעודד לגנוב אותם חלילה - מטרתי בפוסט זה היא רק להראות עד כמה חשוב לכתוב קוד נכון.
 
בימים אלו יצא לי לראשונה להשתמש בחבילה של wpf controls שלהם, ובכל הפעלה של האפליקצייה קבלתי את ההודעה המעצבנת הבאה:
 
 
telerik trial
 
 
באיזשהו שלב בזמן הפיתוח נמאס לי לקבל את הודעת השגיאה - התחלתי לחפש ב - reflector (שגם איתו יש סיפור מצחיק - בהמשך אספר) איפה הם עושים את הבדיקה האם להציג את הודעת השגיאה, אחרי כרבע שעה של שיטוטים מצאתי את הקוד הבא:
 
 

internal static void Verify(FrameworkElement targetControl)

{

    if ((!IsInDesignMode &&

        (Application.Current != null)) &&

        (Application.Current.Resources["Telerik.Windows.Controls.Key"] == null))

    {

        VerifyImpl(targetControl);

        AssemblyProtection.Validate();

    }

}

 
הם קוראים לפונקצייה בכל ctor של פקד.
 
כל מה שהייתי צריך לעשות כדי להפסיק לקבל את ההודעה הוא להוסיף את הקוד הבא:
 

<Application.Resources>

    <my:String x:Key="Telerik.Windows.Controls.Key">someKey</my:String>

</Application.Resources>

 
 
קצת מצחיק שזה כל מה שצריך לעשות כדי להפסיק לקבל הודעה על גרסת ניסיון.
 
זה לא אומר שלי יש כרגע רעיון טוב כיצד לממש את נושא הרשיון - אבל ברור לי שהרעיון של טלריק לא מוצלח במיוחד.
 
 
רציתי גם לספר על ה - reflector (וזה שהם לוקחים כסף) - אבל לצערי כבר אין לי זמן, אז זה יחכה כבר לפוסט הבא.

תוכן התגובה

יוני כתב/ה:

גדול :-)

# November 16, 2011 11:01 PM

שלמה גולדברג (הרב דוטנט) כתב/ה:

בפוסט הקודם תיארתי כיצד לעקוף את הבדיקה של טלריק האם המוצר נקנה או שהוא גרסת ניסיון - על הדרך הבטחתי

# November 17, 2011 9:07 AM

עצלן קרקע כתב/ה:

אולי זו לא עצלנות, אולי הם פשוט לא מתייחסים ללקוח שלהם כרמאי בפוטנציה?

# February 17, 2012 6:42 PM

Shlomo כתב/ה:

זה לא משנה, 99% מהלקוחות הם אכן תמימים, אנחנו צריכים לכתוב את הקוד שלנו בחשיבה על אותו אחוז בודד.

# February 18, 2012 7:59 PM

רז כתב/ה:

לא תגנוב.

# February 19, 2012 10:22 AM

Shlomo כתב/ה:

ברור שקנינו (3 רשיונות).

הפוסטים נדברים על איכות קוד

# February 19, 2012 1:34 PM

משה כתב/ה:

ענק!

(ובסיסי)

אבל במילא עם Reflector יכולת לנסות ליצור Key של עצמך. לא ?

# February 26, 2012 5:08 PM

שלמה גולדברג (הרב דוטנט) כתב/ה:

אני יודע שהפוסטים הללו לא בהכרח קשורים כך כך לאבטחת מידע - אבל בעקיפין אם נכתוב קוד לא נכון שניתן לכתוב

# March 30, 2012 6:27 AM

דורון לוי אוהב חרדים טובים ושונא חרדים רעים כתב/ה:

איזו עברית גרועה יש לך - כמעט כמו המוסר הגרוע שלך. על "לא תגנוב" שמעת?

# May 23, 2012 2:14 PM

Shlomo כתב/ה:

לקחתי לתשומת לבי את ההערה על העברית, אני מניח שקראת את אחד מהפסקאות הראשונות בפוסט:

"חשוב שיהיה ברור שאני לא מעודד לגנוב אותם חלילה - מטרתי בפוסט זה היא רק להראות עד כמה חשוב לכתוב קוד נכון"

# May 23, 2012 8:02 PM

דורון לוי אוהב חרדים טובים ושונא חרדים רעים כתב/ה:

"פיסקה" היא נקבה. קצת כבוד ללשון הקודש! חוץ מזה, אתה נשמע כך כמו אדם לא חכם ולא משכיל (וחבל כי זה בבירור לא המצב).

לגבי ענין הגניבה - לא שכנעת אותי... כמה נאיבי לחשוב שאתה לא מסייע לעוברי עבירה בכתיבת הפוסט הזה ודומיו.

# May 24, 2012 1:57 PM

Shlomo כתב/ה:

לגבי העברית - שוב אתה צודק (אולי כדאי שאתחיל לכתוב באידיש)

לגבי עניין הגניבה - אני בעמדתי ואתה בעמדתך - כך שחבל להמשיך לתווכח.

# May 24, 2012 9:12 PM

דודי ב. נהריה כתב/ה:

לדורון לוי אוהב חרדים טובים ושונא חרדים רעים:

אם אני מבין אותך נכון, אפשר בהחלט להחליף את המילה "חרדים" ב"אנשים" וזה עדיין יאפיין אותך כמו שצריך. נכון?

אם כך, עניין החרדיות כלל לא רלוונטי, ואין באמת צורך להזכיר דוקא את הקבוצה הזו באוכלוסיה.

נקודה למחשבה.

# May 25, 2012 12:11 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 8 and 8 and type the answer here:


Enter the numbers above: