সিরিয়াল পোর্টের উপরে আমি ব্যাসিবক্স ভিত্তিক লিনাক্স এম্বেডড সিস্টেমে সবেমাত্র একটি K 7 কেবি ফার্মওয়্যার ফাইল আপলোড করেছি।
কোনও নেটওয়ার্কিং নেই, ফাইল স্থানান্তরের কোনও সুবিধা নেই; ডিভাইসে কোনও বেস 64 ব্যবহার বা দূর থেকে কার্যকর কিছু নেই useful
হোস্টে, আমি তুচ্ছভাবে একটি ফার্মওয়্যারটি নিম্নলিখিত ফর্ম্যাটটিতে এনকোড করেছি; printf
কমান্ডের সাথে মিলিত শেল আক্ষরিক সমন্বয়ে এক ধরণের হেক্স-ডাম্প :
printf "\xDE\xAD\xBE\xEF\x...\xF0"
printf "\xCA\xFE\x33\xE1\x...\xD3"
মূলত শপ printf
কমান্ডগুলি \x
শুরুর সিকোয়েন্সগুলি যা printf
ব্যাখ্যা করে। ডিভাইসে আমি করেছি:
device $ cat > firmware.sh
তারপরে হোস্টে এই ফাইলটি minicom
প্রেরণের জন্য 'ASCII ফাইল প্রেরণ ( Ctrl-AS) ব্যবহার করুন । আমি মাত্র অনুলিপি এবং পেস্ট ব্যবহার করতে পারতাম, যেহেতু ডেটার পরিমাণ কম।
তারপরে, এক্সিকিউটেবল হিসাবে চিহ্নিত এবং printf
স্ক্রিপ্টটি চালানো:
device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin
ব্যাসিবক্স ব্যবহার করে চেক করা হয়েছে md5sum
যে firmware.bin
ডিভাইসে চেকসাম হোস্টের মূল ফার্মওয়্যারের চিত্রের সাথে মেলে।
পিএস শেল ডাবল কোট বাক্য \x
গঠনটি ভারব্যাটিমের মধ্য দিয়ে যায় কারণ এটি কোনও স্বীকৃত পালানোর ক্রম নয়; অতএব আমাদের ব্যাকস্ল্যাশগুলি দ্বিগুণ করতে হবে না।
busybox --help
এবংls -l /bin
এবংls -l /usr/bin
, দয়া করে।