• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

The Hidden Ghost

اعضاء
  • عدد المشاركات

    233
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة The Hidden Ghost

  1. السلام عليكم ورحمة  الله تعالى وبركاته. هل هناك أحد هنا يملك هذا الكتاب: assembly language programming and organization of the ibm pc by ytha yu charles marut ؟ لقد بحثت عنه كثيرًا في الإنترنت ولم أجده، تقريبا منذ عامين أو أكثر وأنا أبحث عنه ولم أجد له أثراُ بَعْدُ. إن كان هذا الكتاب متواجدًا عند أحدكم فليرفعه لنا هنا أو فليكتب رابطًا.   واعلموا أن الدّال عن الخير كفاعله. وجزاكم الله خيرًا.   تعديل: هذه هي واجهة الكتاب،،،  
  2. شكرا لك أخي محمد فؤاد تركي :)
  3. تفضل، هذا اسمي: The Hidden Ghost :)
  4. أنا أيضا أريد تغيير الإسم المستعار الخاص بي. أظن أن المشرفين هم من لهم الحق في هذا ولسنا نحن. سننتظر قدوم أي مشرف ثم نطلب منه أن يغير أسماءنا.
  5. أعرف أنه غير موجود فقد بحثت عنه منذ زمن طويل ولم أجده، وما كنت لأسأل عنه هنا لو لم تتقطع بي الأسباب وتوصد في وجهي كل الأبواب، فأرجو أن تفيدوني يا أصحاب.
  6. يا أخي آدم أنا أريد الكتاب بشدة، لكن في نفس الوقت لا أريد أن أتعبك معي :(
  7. لا يهم قدم الكتاب من عدمه، أنا أريده لأنني سمعت بعض الناس الذين استمتعوا بقراءته ينصحون به بشدة؛ فهو يشرح الأساسيات بطريقة جميلة وممتعة، زيادة على ذلك، فهو معتمد في الجامعات التي تدرس لغة التجميع للطلاب :) هل يمكنك المساعدة إذًا ؟
  8. السلام عليكم ورحمة الله تعالى وبركاته. إليكم مثالا واضحا لكيفية إنشاء العديد من المجلدات بالاعتماد على المقاطعة 21، أتمنى أن يكون الكود مفهوما. ;Hello guys :);I have created a little application with assembly language 16-bit, in order to enter ;to the Assembly language's door, So it just an application that creates a lot of folders ;using the path you put it . :P Let's see the code:;***********************************************************************************; This is a simple program in Assembly language which create a lot of folders. *;It is just for learning purposes, I want always to create an application in such *;language in order to jump this massive hurdle, well, I think a have just do it *;the job, there's no matter to be in the last part of the Stack, because it has *;a concept named LIFO( Last In First Out ), So you must be serious and happy :) * ; *; Coded by: The Hidden Ghost *;***********************************************************************************org 100h ;It's a COM mov ax,0013h ;Set Video Mode int 10h ;Bios interruptmov al,03h ;Set Text Modeint 10h ;Bios interruptmov ax,09000 ;Print a string on Screen [ah = 09h]mov dx,offset szBuff ;Print that string [szBuff]int 21h ;DOS interrupt mov ax,0A00h ;Input a string here please mov dx,offset szBuffIn ;Store the string or the folder path into [szBuffIn]int 21h ;DOS interruptxor bx,bx ;BX = 0mov bl,byte ptr szBuffIn[1] ;strlen(szBuffIn)push bx ;Save the lengthmov byte ptr szBuffIn[bx + 02h],00h ;Jump the extra 2 bytes and put the zero terminatedmov al,bl ;Store the length in al registerxor bx,bx ;BX = 0add bl,02h ;We want start from szBuffIn[2]xor cx,cx ;CX = 00hmov cl,al ;Make a loop like that: for(;length>=0;length--)copy_str:mov dl,byte ptr szBuffIn[bx] ;We copy szBuffIn[bl++] in dl, by the way [bl] equal 02h until nowmov byte ptr szBuffSwf[bx],dl ;szBuffSwf[bl++] = dlinc bl ;Increase bl by one [bl = bl + 01h] loop copy_str ;While(cx-- != 0) mov byte ptr szBuffSwf[bx],'$' ;Put the '$' in the end of the stringmov ax,0900h ;Print a string on Screen [ah = 09h]lea dx,szNewl ;New lineint 21h ;DOS interrupt lea dx,szNewl ;New lineint 21h ;DOS interrupt mov cx,0FFh ;We will create 255 folder [CX = 255]:)pop bx ;Restore the valute of BX which is the length of the string that we put it previouslymov si,bx ;SI = the lengthmov bl,21h; '!' ;We must add a character in the end of the folder name in order to ignore the existence of the created onecreate_folder: mov byte ptr szBuffIn[si+02h],bl ;Add the character stored in [bl] in the endmov byte ptr szBuffIn[si+03h],00h ;Zero terminated mov ax,3900h ;Function to create a folderlea dx,szBuffIn + 02h ;Folder nameint 21h ;DOS interruptmov ah,09h ;Print a string on Screen [ah = 09h]lea dx,szBuffShw ;Print that string [szBuffShw]int 21h ;DOS interrupt mov byte ptr szBuffIn[si+03h],'$' ;Put the '$' in the end of the string mov dx,offset szBuffIn[02h] ;The Folder nameint 21h ;DOS interrupt lea dx,szNewl ;New line makes me happy :)int 21h ;DOS interrupt inc bl ;Increase [bl] by one, so it will add another character to the folder nameloop create_folder ;While(cx-- != 0)xor ah,ah ;AH = 00hadd ah,01h ;Pause screenint 21h ;DOS interruptxor ax,ax ;AX = 00hint 10h ;Return to text moderet ;Return to Operating System szBuffSwf db 100 dup(' ') ;char szBuffSwf[100]szNewl db 0Ah,0Dh,"$" ;("\n\r")szBuff db "Enter your Folder's name here #> ","$" szBuffShw db "Creating folder: ","$"szBuffOut db "XXXXXXXXXXXX",0Ah,0Dh,"$"szBuffIn db 100 dup(' ') ;char szBuffIn[100]إلى اللقاء :)   fcreator.zip
  9. تحدي 1 - التلاعب بالنظام

    يجب أن نتحدث قليلا حول ماهية البرنامج الذي سأقوم بتصميمه أولا :)
  10. تحدي 1 - التلاعب بالنظام

    يمكنني تصميم GUI للبرنامج المطلوب :)
  11. إستخدام مصفوفة كجزء من مصفوفة

    الأمر معقد نوعا ما :boohoo: .   ألا يمكن فعل هذا بلغة السي ؟
  12. إستخدام مصفوفة كجزء من مصفوفة

    حتى الآن لم أفهم السؤال جيدا، أو أن الشرح غير مفهوم. قرأت الموضوع عدة مرات ولم أفهم المطلوب.   اشرح السؤال أكثر مما تشرح الفكرة.
  13. حاولت احل هذا الكود ولكن ,,,,, اارجو اللمسااعده

    هذا هو الحل لمعضلتك، تفضلي يا أختي الكريمة :) #include <iostream>#include <conio.h>using namespace std; // Array 2D by Hamza+C+Asmint main(){ char *cArray[4][2]= { {"KSA","Riyal"},{"UAE","Dirham"},{"UK","Pound"},{"USA","Dollar"} }; char cNameOrCurrency[100]; int a,b; cout<<" \n\n" " 1 - Enter country name to know its currency: \n\n\tOr\n\n" " 2 - Enter currency name to know which country it belongs to:\n\n\n" " \t ==> Your choice: "; cin>>cNameOrCurrency; for(a=0;a<4;a++) { for(b=0;b<2;b++){ if(!strcmp(cNameOrCurrency,cArray[a][b])) { if(!b) cout<<"\n\n The currency name of this counry ("<<cNameOrCurrency<<") is: "; else cout<<"\n\n The country name of this currency ("<<cNameOrCurrency<<") is: "; cout<<cArray[a][b==0?1:0]; goto found; } } } cout<<"\n\n Sorry, no results for: "<<cNameOrCurrency<< "!"; found: getch(); return 0;}إن لم تفهمي الكود فسأشرحه لك.   بالتوفيق.
  14. السلام عليكم ورحمة الله تعالى وبركاته إن الحمد لله نحمده ونستعينه ونستغفره ، ونعوذ بالله من شرور أنفسنا وسيئات أعمالنا ، من يهده الله فلا مضل له ومن يضلل فلا هادي له ، وأشهد أن لا إلـه إلا الله وحده لا شريك له وأشهد أن محمـدا عبده ورسوله صلى الله عليه وعلى آله وصحبه وسلم تسليما كثيرا إلى يوم الدين . أما بعد ، فأهدي سلامي لكل أعضاء وزوار منتدنا الحبيب . شاهدوا هذا البرنامج المسكين الذي يطلب منك إدخال السريال ، ألا تجدونه مملا ؟ عندما تدخل سريالا خاطئا تظهر لك هذه الرسالة المزعجة : ما رأيكم في أن نبرمج لهذا البرنامج باتشا قاتلا ؟ يجعله يتمنى لو لم يبرمجه حمزة إذا هيا بنا ، أول خطوة علينا أن نقوم بفتح الOLLY : تظهر لنا تعليمات البرنامج بالأسمبلي ، علينا أن نذهب إلى هذا العنوان : العنوان هو : 00401360 قبل هذا العنوان هناك التعليمة cmp وهي تعليمة تقارن ما أدخلته أنت أي السريال مع السريال الذي يطلبه البرنامج بعد هذه المقارنة ، نجد التعليمة jnz أو jne وهي تعني "إقفز إذا كان لا يساوي" ، أي سيتم القفز إلى الميساج الذي سوف يعرض لك في حالة ما إذا أدخلت سريالا صحيحا أو خاطئا . يا ترى كيف سنستطيع تغيير هذه التعليمة لكي يتم قبول أي سريال يدخله المستخدم ؟ بالنسبة للطريقة فهناك حلين يدوين يمكن تحويلهما إلى برمجة طبعا : الحل 1 : هو تغيير التعليمة jnz إلى jz أو je أي " إقفز إذا كان يساوي " الحل 2 : تغيير التعليمة jnz إلى nop أي "لا تعمل أي شيء" وبالتالي تخطي تعليمة المقارنة وعرض رسالة التسجيل. إلى حد الآن كل شيء واضح ، لكن بقي علينا معرفة الأوفسيت offset لكي نبرمج الباتش . نفتح هذا البرنامج : نذهب إلى العنوان الذي استخرجناه بواسطة olly : لاحظوا أنه أعطانا رقم الأوفسيت والذي هو :760 بالهكس. بقي شيء واحد لم أذكره ، بعدها سنبرمج الباتش . قلنا سابقا أننا سنستعمل التعليمة nop ولكي نتمكن من استعمال هذه التعليمة في برنامجنا يجب علينا تحويل هذه التعليمة إلى الهكس أو الديسيمال أي النظام العشري : nop ==> 90h ==> 144D هي 90 بالهكس و 144 بالديسمال . كود سورس الباتش بلغة السي : [/center] [center]#include <stdio.h> // مكتبة ضرورية // Patch for Serial-Program By Hamza Qdider int main() { char data[]={0x90};// nop التعليمة int offset=0x760; // رقم الأوفسيت FILE *Patch; // نصرح بملف if((Patch=fopen("SerialProgram.exe","r+b"))!=NULL) { // نقوم بفتح البرنامج الضحية في وضعية القراءة + البيناري لكي نقوم بالكتابة فيه fseek(Patch,offset,SEEK_SET); // هنا نذهب إلى الأوفسيت لكي ندخل التعليمة مع وضع مؤشر القراءة في البدابة fwrite(data,sizeof(data),sizeof(data),Patch); // هنا نقوم بكتابة التعليمة في البرنامج fclose(Patch); // نغلق البرنامج لكي يتم حفظ التغييرات printf("Patched By Hamza Qdider !!!"); getchar(); } else{ // في حالة ما إذا تعذر فتح البرنامج أو كان هذا البرنامج غير موجود أصلا printf("File Not Found !!!"); getchar(); } return 0; } [/center] [center] كود سورس الباتش بلغة السي++ : [center] #include <iostream> #include <fstream> // مكتبة ضرورية // Patch for Serial-Program By Hamza Qdider using namespace std; int main() { ofstream patch; char nop[1]={0x90};// nop التعليمة int offset=0x760; //the Offset patch.open("SerialProgram.exe",ios::in|ios::binary); // نقوم بفتح البرنامج الضحية في وضعية القراءة + البيناري لكي نقوم بالكتابة فيه if(patch!=NULL) { patch.seekp(offset,ios::beg); // هنا نذهب إلى الأوفسيت لكي ندخل التعليمة مع وضع مؤشر القراءة في البدابة patch.write(nop,sizeof(nop));// هنا نقوم بكتابة التعليمة في البرنامج patch.close(); // نغلق البرنامج لكي يتم حفظ التغييرات cout << "SerialProgram.exe is Patched"<<endl; cin.get(); } else{ // في حالة ما إذا تعذر فتح البرنامج أو كان هذا البرنامج غير موجود أصلا cout<<"Oops File not Found !!!"<<endl; cin.get(); } return 0; } [/center] [center] [/center] ضع الباتش قرب البرنامج أي في نفس مسار البرنامج الضحية، ثم اضغط على الباتش عد إلى البرنامج ثم أدخل أي سريال و لاحظ هذه الرسالة الجميلة ،،، Patch For Serial-Program.zip أتمنى أن يعجبكم الموضوع ،،، السلام عليكم ورحمة الله تعالى وبركاته ،،،
  15. تطور البرامج

    عليك أن تعلمي أن هذه الزلة لا تنقص من فحوى الموضوع شيئا :P .   فالموضوع جميل والشرح أجمل ;)
  16. تطور البرامج

    السلام عليكم ورحمة الله تعالى وبركاته :P     لا أتفق معك هنا :D ، فدور المترجم ليس هذا فالمترجم (Compiler) يقوم أولا بترجمة الكود المصدري (Source Code) إلى لغة الأسمبلي ثم بعدها إلى لغة الآلة، لينتج في الأخير الملف التنفيذي :) ...   هناك فرق بين المترجم (Compiler) والمجمع (Assembler) الذي يحول الكود المصدري مباشرة إلى لغة الآلة ...   هذا الشرح الذي وضعته ينطبق على المجمع وليس على المترجم ;) ...   تقبلي مروري ...
  17. أخي علاء، أنا لست متضايقا بل أنا متحسر :(   فعندما أضع أسئلة في منتديات أجنبية؛ فإنني ألقى استجابة كبيرة ولطفا ومساعدة جميلة من غير المسلمين أقول ...   لكننا - نحن المسلمون - اللذين كتب في قلوبنا حب المساعدة واللطف، ليس هذا هو سلوكنا مع الأسف :(   لما لا تكون المنتديات العربية أحسن من المنتديات الأجنبية ولو في مسألة حب المساعدة وتشجيع الآخرين ;) ...     شكرا لكم على كل حال ...
  18. السلام عليكم ورحمة الله تعالى وبركاته :)   لقد قمت بالبحث كثيرا في غوغل عن دروس تتطرق إلى كيفية فك تشفير موقع الفايسبوك. لكن كل محاولتي باءت بالفشل، حيث إنني لم أجد أي شيء البتة :(   لهذا السبب لم يتبقى لي إلا أنتم يا أصدقائي، فلعلي أجد عندكم الإجابات الشافية.   سؤالي كالتالي:   كيف يمكن لنا أن نفك تشفير موقع الفايسبوك باستخدام لغة السي؟   أعرف أن الخوارزمية المستخدمة في الموقع هي خوارزمية RSA. وبالتالي فأنا أريد أمثلة أو دروس تأخذ بيدي إلى بر الأمان...   أتمنى أن تجيبوني يا أصدقاء ;) .   صديقكم : حمزة .
  19. إن كانت الردود مثبطة للعزائم، فلا داعي لأن يجيب أحد على سؤالي هذا :(
  20. يا أخي أنا أعرف أن الاختراق لا علاقة له بلغة السي.... (لست أبله إلى هذه الدرجة يا أخي <_<)   ما أريده هو أمثلة عن كيفية الاتصال بموقع محدد( ولو نفترض أنه موقع الفايسبوك ) من خلال البرمجة وبالضبط لغة السي، أي Send & Recieve ...   وبالتالي فك تشفير البيانات التي تصل من الموقع ...   هل فهمتم قصدي من هذا كله ؟؟؟
  21. أخي أحمد :)   أنا أريد دروس عن كيفية إختراق الفايسبوك وفك تشفير ID و Password . وبما أنني أعرف البرمجة بالسي فأنا أريد أمثلة بهذه اللغة ليس إلا ...   هل يمكنك مساعدتي :) ؟؟؟
  22. Peace for All أقدم لكم أفضل مرجع للغة السي++ حتى الآن إنه كتاب ،،، C++ : The Complete Reference, 4th Edition صورة الكتاب ،،، روابط التحميل ،،، [url="http://adf.ly/647503/http://www.eazyupload.net/download/ouwizzsv/0072226803.zip.htm"]http://www.eazyupload.net/download/ouwizzsv/0072226803.zip.htm[/url][url="http://adf.ly/647503/http://www.mediafire.com/file/5z3rzjzytdz"]http://www.mediafire.com/file/5z3rzjzytdz[/url] كما أن هناك نسخة للغة السي أيضا ،،، صورة للكتاب ،،، روابط التحميل ،،، http://www.eazyupload.net/uclya1ev[url="http://adf.ly/647503/http://www.mediafire.com/?zxyznmoqlwx"]http://www.mediafire.com/?zxyznmoqlwx[/url] الكتب قيمة ، ويجب قراءتها و الاستفادة منها وعدم ركنها مع أخواتها في رفوف الخزانات بالتوفيق يا شباب وهنا كتاب أتحدى أن يكون عند أحدكم ،، صورة الكتاب ،،، Maximum MIDI: Music Applications in C رابط التحميل ،،، http://www.eazyupload.net/htzrmvlr
  23. السلام عليكم ورحمة الله تعالى وبركاته ،،، أظن أن سؤالي واضح كوضوح الشمس في عزة الظهيرة ، هل يمكننا فعل هذا فعلا . لقد مللت من إضافة #include في كل مرة أفتح فيها برنامج الديف السي بلس بلس . أنا متأكد بأن هناك طريقة ما لفعل هذا لأن الدالة printf الموجودة في مكتبة stdio.h هي نفسها تحول إلى كود أسمبلي ، فالحل هو أن نعرف هذا الكود ثم نصنع دالتنا الخاصة بنا . أعرف أنني يمكنني فعل هذا في ال 16 بت باللجوء إلى هذه الطريقة : void MyPrettyPrintf(char text[]) { asm mov ah,0x09 asm mov dx,offset text asm int 21h } void main() { MyPrettyPrintf("je Suis Hamza"); asm { mov ax,0x0000 int 16h } } لكنني أريد فعل هذا في ال32 بت ، أرجو المساعدة و شكرا لكم على حسن الضيافة
  24. السلام عليكم ورحمة الله تعالى و بركاته أخي مصطفى :)   مع أنني لا أزال مبتدئا إلا أنني سأحاول الإجابة على سؤلك قدر ما أستطيع ... حسنا، لقد كانت بدايتي مع البرمجة مذ كنت أدرس في الأولى ثانوي أي منذ 4 سنوات خلت، حيث بدأت بالبرمجة بلغة الباسكال لأننا كنا ندرسها في المدرسة . لكن بعد هذا انتقلت إلى لغة الفي بي، فكنت أقضي جل أوقاتي في صناعة برامج الفورم المنمقة بالسكينات الرائعة، لكن مع مرور الوقت لم أعد أحب تلك اللغة لأنها صراحة لم تشعرني بالمعنى الحقيقي للبرمجة و الذي كنت أصبو إليه أنذاك. لذا فإنني قررت أن أنتقل إلى الفي بي دوت نت و التي بدورها لبثت فيها ما شاء الله أن ألبث، تم بعد ذلك انتقلت إلى لغة السي شارب التي أحببتها قليلا ... لكن في النهاية ذهبت أحبو إلى حبيبتي لغة السي و التي لا أزال قرينها حتىم اللحظة . فهي لغتي المفضلة التي علمتني معنى البرمجة الحقيقية بعيدا عن Drag and Drop و بعيدا عن الكلاسات المتوفرة مسبقا...   منذ ذلك الحين و أنا أدرسها و أكتشف خباياها ... و في اعتقادي أنني سأظل أتعلمها حتى تفرق بيننا الممات :)   بالنسبة للمشاريع التي قمت ببرمجتها فهي متعددة و في نفس الوقت هي بسيطة ... فهناك ألعاب و برامج حسابية بدون أن ننسى الفيروسات :lol:   إذا أردت أن أحكي لك كل شيء بالتفصيل ... فسأفعل :P