טיימרים מזייפים Flash , JS - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

טיימרים מזייפים Flash , JS


Eviljelly

Recommended Posts

שלום אני משחק קצת עם טיימרים וכותב טיימר פשוט, ניסיתי בפלאש (4.6) וגיליתי שיש חריגה של 10-15% בין הזמן שהטיימר מודד לי לבין מדידה חיצונית (טיימר של \ שעון של מחשב)

המשכתי לJS ושם הייתה לי חריגה של 5-10%.

בשני המקרים הטיימר בקוד היה איטי יותר מהמדידה החיצונית.

בשני המקרים התזמון היה כל 100 מילישניות והבתוך הפונקציה אני פשוט מעדכן מונה ומעדכן את התצוגה

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

html>
<head>
<script src="[url]http://code.jquery.com/jquery-latest.js"></script>[/url]
</head>

<body>
<div id="display">0</div>
<div id="displayComputer">0</div>


<script type="text/javascript">
var count = 0;
var computerTime = 0;
var zeroTime = 0;

function test() {
var i = setTimeout(test,100);
count = 100;
computerTime = getCurrentTime() - zeroTime;

$("#display").html(count);
$("#displayComputer").html(computerTime);
}

function init() {
zeroTime = getCurrentTime();
test();
}

function getCurrentTime() {
date = new Date();
return date.getTime();
}

$(document).ready(init);

</script>
</body>

</html>

מצאתי דרך להתגבר על זה על ידי שימוש בזמן של המחשב (הנתון השני בדוגמא) אבל סתם מטריד אותי למה יש זיופים ?

האם זה קורה גם בשפות אחרות ( C , Java , C# וכו?) ?

קישור לתוכן
שתף באתרים אחרים

לא הבנתי איפה הבדיקה שאתה עושה... display תמיד יציג 100 ו-displayComputer יציג את הזמן שעבר מאז שהדף נטען, בלי קשר לטיימר.

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...