मैं एक तरह से (वस्तु कोड में) अंधेरा करना एक परीक्षण रहा हूँ - क्या जांच करने के लिए है कि एक लाइसेंस कुंजी मान्य है किया जा सकता है की तरह कुछ। जो मैं रोकने की कोशिश कर रहा हूं वह किसी ऐसे कोड के लिए छवि बाइनरी के माध्यम से खोज रहा है जो प्रतिक्रिया को संसाधित करता है।प्रतिक्रिया प्रक्रिया के साथ छेड़छाड़ को रोकने के लिए मैं कोड में एक परीक्षण को कैसे रोक सकता हूं?
bool checkError = foo();
if (checkError) // I'd like to avoid making a simple check like this one.
{
// process response
}
यह एक साधारण उदाहरण है, लेकिन नहीं एक सुझाई गई पहुंच:
int check = 71 * 13;
check += 35 * isValid(); // will only return 0 or 1
//later (delayed execution of response)
if (check % 71)
{
//process response
}
संपादित करें: बस स्पष्ट करने के लिए, वास्तविक परीक्षा पहले से ही समाप्त हो गया है और मैं एक पास/असफल वापसी हो रही है। मेरी प्रतिक्रिया प्रसंस्करण एक मूल जेएमपी होगी और जेएमपी के स्थान को खराब करने के तरीके पर पॉइंटर्स में दिलचस्पी होगी।
बहुत बेहतर। :) – GManNickG
आपको पता होना चाहिए कि, यह एक छोटी सी समस्या नहीं है। माइक्रोसॉफ्ट जैसी बड़ी सॉफ्टवेयर कंपनियां लाखों लोगों को अपनी सुरक्षा को बाधित करने से रोकने की कोशिश कर रही हैं, और फिर भी लोग अपने प्रयासों को बाधित करने का प्रबंधन करते हैं। –
@ चार्ल्स साल्विया: यह सच है। मैं सिर्फ इस सवाल से सुरक्षा की डिग्री नहीं ढूंढ रहा हूं। ;) हालांकि, यह मेरी पहली बार इन पंक्तियों के साथ कुछ करने का प्रयास कर रहा है और मुझे यह मानना है कि मुझे नहीं पता कि कहां से शुरू करना है। – Dubron