جنـرال الـهكـر
السٌّمعَة : 4 تاريخ التسجيل : 20/04/2014 الموقع : https://sadam-alsharabi.roo7.biz
| موضوع: كود لمعدلي نسخ الوندوز Attribution Of Desktop.ini at Start Menu Files الأحد مايو 11, 2014 6:41 pm | |
| السلام عليكم ورحمة الله وبركاته قد كنت فيما مضى أقوم بها يدويًا و البارحة فكرت باستعادة الذكريات و في نفس الوقت اختصار الوقت والجهد بضغطة زر العملية التي يحتاجها معدل نسخ الوندوز لإرجاع خاصيتي الـ Hidden & System لملفات الـ desktop.ini ومجلداتها في قائمة ابدأ لكي تظهر بعد تشغيل الوندوز بالأيقونات المعدلة دون مشاكل مثال هاه ؟ وصلت ؟ :d الكود يقوم بمهمة الدخول إلى مسار الـ ALLUSERSPROFILE ثم يجلب كافة مسارات ملفات الـ Desktop.ini سواء في جذر المجلد أو في فروعه ثم يقوم بمهمة استبدال المسار بما يمكن من متغيرات لكي يحسن من أدائه ثم يقوم بنسخ مسارات المجلدات وحدها ليضيف إليها خاصية الـ system ويقوم بإضافة خاصية الـ h & s للـ INI ويدرجها ضمن ملف bat بنفس مسار عمل الأداة ومعها أمر حذف للـ bat بمجرد عمله أخيرًا , الكود به "شوية لخبطة" و ليس بالمثالي لكنه يؤدي الغرض وهذا المهم , أقلها بالنسبة لي : ) - الكود:
-
[COLOR="DimGray"]// C++ // Author : m0az // DevC++ #include #include #include
using namespace std; bool Fnd(string Original,string Search); string replace(string big , string small,int sort,int LengthReplaceWith); int ssort = 0 ,length = 0; int main(){ string checksys ,path,temp; checksys = getenv ("ALLUSERSPROFILE"); // "%HOMEDRIVE%\\USERS\\default" in windows 7 int flag1 = system("cd \"%ALLUSERSPROFILE%\\Start Menu\" & dir /b /s /a *.ini >m0az.txt"); //cout << flag1; //temp = "\""; temp += checksys; temp += "\\"; temp += "Start Menu\\"; temp += "m0az.txt"; //temp += "\""; checksys = temp; //remove(checksys.c_str()); ifstream input; ofstream output; // cout << checksys; input.open(checksys.c_str()); output.open("lnks.bat"); string rep = "C:\\Documents and Settings\\All Users\\",rep2 = "Desktop.ini"; //"C:\\Documents and Settings\\All Users\\"in windows XP //"%HOMEDRIVE%\\USERS\\default"in windows 7 string PathEnv = "%ALLUSERSPROFILE%\\" , FolderAttrib = "attrib +s " , iniAttrib = "attrib +s +h "; if(!input.fail()){ while(!input.eof()){ string line,line2,line3; getline(input,line); if(Fnd(line,rep)){ int x = ssort; line = replace(line,PathEnv,x,rep.length());
line3 = line; line3 = replace(line,FolderAttrib,x,0);
string temp2; temp2 ="\""; temp2 +=line; temp2 +="\""; Fnd(temp2,rep2); line3 = replace(temp2,"",ssort-1,rep2.length()); //cout << line3 << "\n\n"; line2 = iniAttrib + temp2 ; output << line2 << endl; line = ""; for(int d = 0 ; d < line3.length()-2 ; d++) line+= line3[d]; line = FolderAttrib + line + "\""; output << line << endl;
}
} }else cout << "\nOops!"; output << "erase /q %~n0%~x0"; input.close(); output.close(); remove(checksys.c_str()); return 0; }
bool Fnd(string Original,string Search) { int X = Search.length(); int Y = Original.length(); ::length = X; for(int SearchInChars = 0 ; SearchInChars < Y ; SearchInChars++) {
int CorrectChars = 0,cc = SearchInChars ; ::ssort = SearchInChars; for( int SearchStringChars = 0 ; SearchStringChars < X ; SearchStringChars++) { if(Original[SearchInChars] == Search[SearchStringChars]){ SearchInChars++; CorrectChars++; }
if(CorrectChars == X) return 1; } } return 0; }
string replace(string big , string small,int sort,int LengthReplaceWith){
string temp ="",temp2=""; for(int c = 0, t = 0; c < big.length() ; c++) { if(!(c >= sort && c < (sort+LengthReplaceWith))) { temp+= big[c]; t++; } }
for(int c = 0 , cc = 0 ; c < temp.length() ;c++) { if(c == sort ) temp2 += small;
temp2 += temp[c];
}
return temp2; }[/COLOR] ناتج عمل الكود على الصورة السابقة - الكود:
-
[LEFT][COLOR="DeepSkyBlue"]attrib +s +h "%ALLUSERSPROFILE%\Start Menu\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Accessibility\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Accessibility" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Communications\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Communications" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Entertainment\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\Entertainment" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\System Tools\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Accessories\System Tools" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Games\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Games" attrib +s +h "%ALLUSERSPROFILE%\Start Menu\Programs\Startup\desktop.ini" attrib +s "%ALLUSERSPROFILE%\Start Menu\Programs\Startup" erase /q %~n0%~x0[/COLOR][/LEFT] [/COLOR] | |
|