<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Strings on P01NT</title><link>https://outofsrvc.github.io/ar/tags/strings/</link><description>Recent content in Strings on P01NT</description><generator>Hugo</generator><language>ar</language><lastBuildDate>Tue, 25 Aug 2026 20:10:00 +0300</lastBuildDate><atom:link href="https://outofsrvc.github.io/ar/tags/strings/index.xml" rel="self" type="application/rss+xml"/><item><title>التحكم الأساسي في التدفق (Basic Flow Control)</title><link>https://outofsrvc.github.io/ar/asm/basic-flow-control/</link><pubDate>Tue, 25 Aug 2026 20:10:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/asm/basic-flow-control/</guid><description>&lt;p>بسم الله الرحمن الرحيم&lt;/p>
&lt;p>سنناقش في هذا المقال التحكم في تدفق البرامج&lt;/p>
&lt;hr>
&lt;h2 id="1-تعليمة-jmp">1. تعليمة JMP&lt;/h2>
&lt;p>تنفّذ تعليمة &lt;code>JMP&lt;/code> قفزة &lt;strong>غير مشروطة&lt;/strong> (Unconditional Jump). فهي تعادل وظيفيًا الكتابة فوق مؤشر التعليمات (&lt;code>EIP&lt;/code>) بالعنوان المحدد في المعامل.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-asm" data-lang="asm">&lt;span class="line">&lt;span class="cl">&lt;span class="nl">start:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">mov&lt;/span> &lt;span class="no">eax&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nl">top:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">inc&lt;/span> &lt;span class="no">eax&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">jmp&lt;/span> &lt;span class="no">top&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;em>القائمة 3.1: استخدام تعليمة JMP لتكوين حلقة لا نهائية بسيطة&lt;/em>&lt;/p>
&lt;p>توضح القائمة 3.1 حلقة لا نهائية بسيطة:&lt;/p>
&lt;ol>
&lt;li>تُهيّئ &lt;code>EAX&lt;/code> إلى القيمة 0.&lt;/li>
&lt;li>تدخل الحلقة وتزيد &lt;code>EAX&lt;/code> بمقدار 1.&lt;/li>
&lt;li>تقفز عائدةً إلى عنوان التسمية &lt;code>top&lt;/code>.&lt;/li>
&lt;/ol>
&lt;p>ولأنه لا يوجد شرط للخروج، تتكرر الحلقة إلى ما لا نهاية حتى يتم إنهاء البرنامج.&lt;/p></description></item><item><title>سلاسل الهروب</title><link>https://outofsrvc.github.io/ar/cworkshop/escape-sequences/</link><pubDate>Thu, 13 Aug 2026 10:00:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/cworkshop/escape-sequences/</guid><description>&lt;p>بسم الله الرحمن الرحيم.&lt;/p>
&lt;p>في هذا المقال سنتعرف على سلاسل الهروب (Escape Sequences) وأهميتها واستخداماتها.&lt;/p>
&lt;h2 id="ما-هي-سلاسل-الهروب">ما هي سلاسل الهروب؟&lt;/h2>
&lt;p>تُستخدم داخل النصوص للتعبير عن رموز خاصة أو للتحكم في تنسيق المخرجات. يتم تمثيلها بالشرطة المائلة العكسية (&lt;code>\&lt;/code>) متبوعة بحرف أو أكثر. الغرض منها تسهيل تمثيل المحارف الخاصة التي يصعب كتابتها داخل سلسلة نصية حرفية (String Literal) — كالـ Tab أو السطر الجديد.&lt;/p>
&lt;h2 id="1-التحكم-في-التنسيق-والمخرجات">1. التحكم في التنسيق والمخرجات&lt;/h2>
&lt;h3 id="n--سطر-جديد-newline">&lt;code>\n&lt;/code> — سطر جديد (Newline)&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Hello&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">World&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>الناتج:&lt;/p></description></item><item><title>المصفوفات والسلاسل النصية</title><link>https://outofsrvc.github.io/ar/cworkshop/arrays-and-strings/</link><pubDate>Thu, 13 Aug 2026 10:00:00 +0300</pubDate><guid>https://outofsrvc.github.io/ar/cworkshop/arrays-and-strings/</guid><description>&lt;p>بسم الله الرحمن الرحيم.&lt;/p>
&lt;p>في هذا المقال سنتعرف على المصفوفات والسلاسل النصية واستخداماتها وأهميتها في الهندسة العكسية.&lt;/p>
&lt;blockquote>
&lt;p>من هذا المقال سنتوسع بالشرح — لأن المقالات المتبقية هي من أهم ما يفيدنا في الهندسة العكسية، ويجب إتقان التعامل معها.&lt;/p>&lt;/blockquote>
&lt;p>المصفوفات والسلاسل النصية من أهم أنواع البيانات المستخدمة لتخزين البيانات ومعالجتها، وهما يختلفان في الاستخدام والهيكلية. &lt;strong>فهم كيفية عملهما في الذاكرة هو أساس تحليل البرامج التنفيذية، خصوصاً فيما يتعلق بالكشف عن الثغرات.&lt;/strong>&lt;/p></description></item></channel></rss>