আমি একটি ইন্টারেক্টিভ সি প্রোগ্রামে একটি বাফার ওভারফ্লো সম্পাদন করার চেষ্টা করছি। আমাকে একটি ঠিকানা দিয়ে EIP পুনর্লিখন করতে হবে যার বাইট হিসাবে হেক্সের মান 88 রয়েছে। তার জন্য আমাকে অনুরোধ করা হলে সংশ্লিষ্ট ASCII টাইপ করতে হবে।
আমি CTRL + SHIFT + u চেষ্টা করেছি এবং চরিত্রটি পেতে হেক্স মান [ u88 ] প্রবেশ করলাম , তবে এটি কার্যকর হয়নি। পরিবর্তে এটি রেজিস্টার C288 প্রেরণ ।
আমি কিছু গবেষণা করেছি এবং বুঝতে পেরেছিলাম যে এটি ক্যারেক্টার ট্যাবুলেশন সেট [এইচটিএস] তবে উবুন্টুতে কাজ করবে এমন একটি পলায়ন এনকোডিং আমি খুঁজে পাইনি।
- পিএস: পার্ল বা পাইথনটি \ x88 পাসকরতে এখানে কোনও বিকল্প নয় কারণ প্রোগ্রামটি আর্গুমেন্টের মাধ্যমে ব্যবহারকারীদের ইনপুট নেয় না।
@ ওয়াইরঘৌল আমি প্রশ্নটিতে ইতিমধ্যে উল্লেখ করেছি বলে আমি এটি একটি যুক্তি হিসাবে পাস করতে পারি না। আমি একটি এনকোডিং পদ্ধতি খুঁজছি। নাল চরিত্রের জন্য Ctrl + @ পছন্দ করুন।
তর্ক হিসাবে এটি পাস করা হয়নি;
—
কেউ কোথাও কোথাও
echo
এটি প্রোগ্রামের STDIN এ দেয়।
এটি কেবলমাত্র একটি টার্মিনালে একটি নির্দিষ্ট অক্ষর টাইপ করছে এবং এইভাবে এখানে অফ-টপিক। আপনার যদি বাফার ওভারফ্লোর জন্য চরিত্রের প্রয়োজন হয় তবে কিছু যায় আসে না।
—
স্টিফেন অলারিখ
@ ইগমন্ট আপনাকে ধন্যবাদ! তুমি একজন জীবন রক্ষাকারী. আমি পূর্ব (ISO-8859-1- করার এনকোডিং পরিবর্তন এটা কাজ করে।
—
hax
echo -e "\x88" | ./a.out
অন্যথায় যদি এটি পাঠ্য ভিত্তিক হয় তবে আপনি এটি দিয়ে মুড়িয়ে ফেলতে পারেনexpect