الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

غير الويندوز SP2 إلى SP3 فقط بواسطة هذه الأداة المتواضعة ...

مغلقمُجاب
بدأه The Hidden Ghost في 11 فبراير 2013 · 3 رد · 14,212 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله تعالى و بركاته ،،،

 

إن الحمد لله نحمده و نستعينه و نستغفره و نعوذ بالله من شرور أنفسنا و من سيئات أعمالنا ، من يهده الله فلا مضل له و من يضلل فلا هادي له ، و أشهد أن لا إله إلا الله وحده لا شريك له و أشهد أن محمدا عبده ورسوله صلى الله عليه وسلم .

 

وكما قال السوريون الأحرار : ~~ قائدنا للأبد سيدنا محمد ~~ عليه الصلاة و السلام .

 

و في هذا المقام لا يسعني إلا أن أهدي هذه الأبيات إلى إخواني السوريين الأبطال الذين ضربوا أعظم الأمثلة في الصمود و الجهاد ،،، فبشرى لكم يا أهل الشام بشرى !!!

 

قصيدتي قصيرة - شعر حر - ، اخترت لها إسما أقصر ، عنوانها | إنما القول قول الصوارم | :

 

سألت المدن ، سألت الدول ، سألت الأمـــــــــــــم

سؤالي غريب، فلحرف العين قصة تنتظر الرد من أي متكلـــــم

"أين شجاعة العرب ؟" هذا سؤالي للمسلمين قاطبة و للعالــم

أخرسان في حفلة ساخبة ، كل واحد يتهم الآخر بعدم سماع الكلام

يأتي رجل من العامة ، فيذهب بهما إلى مكان هادئ و من موقعهما الجديد ، يستمر كل واحد في اتهام الآخر

فافهم المغزى يا من تقول أنا مسلـــــــــم .

 

أمة خرساء ،  شعوب صماء ، و عالم أعمى  . هذه هي ضريبة قيام السوريين بثورة عظيمة ...

 

~ الموضوع ~

 

أقدم لكم هذه الأداة البسيطة التي من خلالها يمكنك تغيير نسخة الويندوز المنصبة في الجهاز ،،، خلاصة الكلام :

 

ljlYYF9.png

 

~ الجانب النظري ~

 

يمكننا تغيير نسخة الويندوز إلى SP3 من خلال تغيير قيمة النسخة التي في الروجستري ،،،

 

نفتح الروجيستري و نذهب إلى المسار التالي :

 

6RUKHT2.png

 

نجد القيمة المسماة ب CSDVersion و هي تحمل رقم النسخة المنصبة في الجهاز ، طبعا إن كانت النسخة هي SP2 في القيمة ستكون 2 و قس على ذلك ...

 

Qmf2uE2.png

لنغير النسخة يكفي أن نبدل الرقم 200 بالهكس إلى 300 بالهكس أيضا ، هكذا :

 

yQsHMgB.png

 

~ الجانب التطبيقي ~

 

شكل الأداة المتواضعة :

 

5w3yyVA.png

 

نضغط على الزر Change it now  ،،، لتظهر لنا الرسالة الآتية :

 

jLenSt6.png

 

الآن أصبحت لديك نسخة الويندوز إكس باء ذات الحزمة الخدمية 3 :lol:  - ترجمة وحشة أوي ههههه -

 

و الآن مع السورس كود المتواضع :(  :

 

.486
.model flat,stdcall
option casemap:none

include windows.inc
include advapi32.inc ;; For RegSetValueEx Function
include kernel32.inc
include user32.inc

includelib kernel32.lib
includelib user32.lib
includelib advapi32.lib

.data

Text            DB          "Change Your Windows XP SP1 or SP2 to SP3",0
RegKey          DB          "SYSTEM\ControlSet001\Control\Windows",0
RegValue        DD          300h ;; SP 3
key             DD          0
CSDVersion      DB          "CSDVersion",0
success         DB          20h,"Your Windows XP is converted to Windows XP SP3 successfully !!!",0
fail            DB          20h,"An Error Is Occurred.Try Again Please,,,",0
cap             DB          "Notice",0
cap2            DB          "Error",0
DLG_ID          DB          "XPSP",0
ExitButton     EQU          2h
ChangeItButton EQU          3h
MovedText      EQU          4h
AboutMe         DB          20h,20h,20h,20h,"This is a little tool that I programmed in order to convert your "
                DB                          "Windows XP sp1 or sp2 to sp3, this is a little trick you can use it for installing "
                DB                          "Programs, I mean programs that work only in Windows XP SP3 .",13,10,13,10
                DB          09h,09h,09h,09h,09h,09h,09h,"Created by The Hidden Ghost",0
AboutMeCap      DB          20h,"About the Hidden Ghost",0


.code
wndproc PROTO :DWORD,:DWORD,:DWORD,:DWORD

begin:

invoke GetModuleHandle,0
invoke DialogBoxParam,eax,addr DLG_ID,0,wndproc,0
invoke ExitProcess,0



wndproc proc hwnd:DWORD,msg:DWORD,wparam:DWORD,lparam:DWORD
	
	
	invoke SetDlgItemText,hwnd,MovedText,addr Text
	
	.if msg == WM_COMMAND
		
		mov eax,wparam
		
		.if eax == ChangeItButton
		
			invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,addr RegKey,0,KEY_ALL_ACCESS,addr key
			invoke RegSetValueEx,key,addr CSDVersion,0,REG_DWORD,addr RegValue,SIZEOF RegValue
			invoke RegCloseKey,key
			
			.if eax == ERROR_SUCCESS
				
				invoke MessageBox,0,addr success,addr cap,MB_OK + MB_ICONINFORMATION
				ret
				
			.else
			
				invoke MessageBox,0,addr fail,addr cap2,MB_OK + MB_ICONERROR
				ret
				
			.endif
			
		.elseif eax == ExitButton
		
		      invoke MessageBox,0,addr AboutMe,addr AboutMeCap,MB_OK + MB_ICONINFORMATION
		      invoke ExitProcess,0
		      ret
			
		.endif
		
		
	.endif
	
	.if msg == WM_CLOSE
		
		invoke EndDialog,hwnd,0
		ret
		
	.endif
	
	xor eax,eax
	ret

wndproc endp

end begin

 

أتمنى أن يروق لكم هذا الموضوع البسيط ، والسلام عليكم ورحمة الله تعالى وبركاته ،،، :P

 

Changeit.zip

rS3eY.png
#2 أفضل إجابة

الإختلاف بين service packs ليس مجرد قيمة بالريجسترى و انما تحديثات و اضافات تمت على مكتبات النظام و الكرنل الخاص بنظام التشغيل و بهذه الأداه هناك احتمال كبير ان تتسبب فى انهيار النظام بسبب الـ compatibility.

 

 

و الله ولي التوفيق

تم تعديل هذه المشاركة بواسطة C++er في 11 فبراير 2013 في 22:17

2

مدونتي: C++ Tips and Tricks

#3

معك حق أخي علاء B)  ،،، و الله كلامك في الصميم ... سأسرد لك القصة من البداية ،،،

العديد من البرنامج ( أخص بالذكر هنا حزمات التنصيب ) تملك خاصية مميزة ألا وهي إمكانية استخلاص أو استخراج رقم نسخة الويندوز المنصبة على الجهاز . فإن كانت هذه النسخة لا تملك صلاحية تنصيب البرنامج ،سوف يتم وقف التنصيب و إظهار رسالة خطأ تطلب تحديث نسخة الويندوز أو تغييرها تماما  ... :(

- هنا جاءت الفكرة ، فعندما كنت بصدد تنصيب برنامج Avira Premuim ظهرت لي رسالة خطأ تطلب مني تحديث نسخة الويندوز الحالية و التي هي Windows XP sp2 إلى sp3 وذلك لكي أستطيع عمل install للبرنامج ، لكن الأمر لا يتطلب كل هذا فبمجرد أن نغير قيمة النسخة التي في الروجيستري ، سيعمل برنامج التنصيب و كأن شيئا لم يكن ...

 

لكن المشكل الذي واجهني أثناء التنصيب هو نفس المشكل الذي ذكرته أنت ، إنه مشكل انهيار النظام بسبب الـ compatibility لأنه أثناء التنصيب قام الحاسوب بعمل rebout ، ومن هنا بدأت المشكلة حيث كلما قمت باشعال الجهاز يظهر لي برنامج - أعتقد أنه برنامج bootable - يشتغل قبل نظام التشغيل  و بدوره يظهر رسالة خطأ - أعتقد انها في الkernel - ومن تم يعاود الحاسوب تشغيل نفسه و هكذا دواليك ...

 

الحل الذي لجأت إليه يتمثل في فرمطة الجهاز و هذا ما لم أرده قط :lol:  ...

 

شكرا على تدخلك أخي علاء ، حقا إنك تثري المواضيع بمداخلاتك العجيبة ^_^ ...

 

بالتوفيق ... ;)

تم تعديل هذه المشاركة بواسطة Hamza+C+ASM في 11 فبراير 2013 في 22:51

rS3eY.png
#4

بما أنك ذكرت مشكل انهيار النظام أخي علاء ، ألا يمكننا استخدام هذه الطريقة لبرمجة فيروس قاهر للنظام ؟

 

أقصد فيروس يستخدم هذه الطريقة لتهويد النظام ، فربما أراد المستخدم تنصيب برنامج يعمل تحت Service Pack 3 ، و بهذا يحدث مشكل في الكرنل و ينتهي الأمر . :P  ما رأيك في الفكرة ؟ غبية أليس كذلك ؟ :lol:

rS3eY.png

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…