আমি কীভাবে উইন্ডোজ in এ কোনও ফাইলের বাইনারি সামগ্রীগুলি দেখতে পারি? (এটা কি সম্ভব.)


35

আমার কাছে একটি ফাইল রয়েছে, 500MB এর থেকে কিছুটা বড়, এটি কিছু সমস্যা তৈরি করছে।

আমি বিশ্বাস করি যে বিষয়টি ব্যবহৃত লাইন (ইওএল) কনভেনশনটির শেষের দিকে। আমি ফাইলটির ইওএল কনভেনশনটি নিশ্চিত করার জন্য ফাইলটিকে তার ব্যাখ্যা ছাড়াই কাঁচা ফর্ম (1) এ দেখতে চাই।

উইন্ডোজ 7 এ অন্তর্নির্মিত কিছু ব্যবহার করে কোনও ফাইলের "বাইনারি" আমি কীভাবে দেখতে পারি? আমি অতিরিক্ত কিছু ডাউনলোড করা এড়াতে পছন্দ করব।

(1) আমার সহকর্মী এবং আমি টেক্সট সম্পাদকগুলিতে ফাইলটি খুললাম এবং তারা যেমন প্রত্যাশা করবে সেগুলি লাইনগুলি প্রদর্শন করে। তবে উভয় পাঠ্য সম্পাদক বিভিন্ন ইওএল কনভেনশন সহ ফাইলগুলি খুলবেন এবং তাদের স্বয়ংক্রিয়ভাবে ব্যাখ্যা করবেন। (টেক্সটএডিট এবং ইম্যাক্স ২৪.২। ইমাক্সের জন্য আমি head -c4096একটি লিনাক্স বাক্সে প্রথম 4K বাইট ব্যবহার করে একটি দ্বিতীয় ফাইল তৈরি করেছিলাম এবং এটি আমার উইন্ডোজ বাক্স থেকে খুললাম।

আমি ইমাসে হেক্সেল-মোড ব্যবহার করার চেষ্টা করেছি, কিন্তু যখন আমি হেক্সেল-মোডে গিয়ে আবার পাঠ্য-মোডে ফিরে যাই, বাফারের সামগ্রীগুলি পরিবর্তিত হয়ে প্রতিটি লাইনের শেষে একটি দৃশ্যমান ^ এম যোগ করে, তাই আমি নই এই মুহুর্তে বিশ্বাস

আমি বিশ্বাস করি যে বিষয়টি ব্যবহৃত লাইন চরিত্রের শেষ হতে পারে। আমার সহকর্মী এবং আমি সম্পাদকরা চেষ্টা করেছি (1) কেবল স্বয়ংক্রিয়ভাবে লাইন কনভেনশনের সমাপ্তিটি স্বীকৃতি পেয়েছে এবং আমাদের লাইনগুলি দেখিয়েছে। এবং অন্যান্য প্রমাণের ভিত্তিতে আমি বিশ্বাস করি যে EOL কনভেনশনটি কেবল গাড়ীর ফেরত। (2) কেবল ফেরত।

ফাইলটি আসলে কী তা জানতে, আমি ফাইলের বাইনারি বিষয়বস্তুগুলি বা ফাইলের কমপক্ষে কয়েক হাজার বাইটের চেয়ে ভালভাবে হেক্সে দেখতে চাই, যদিও আমি দশমিক বা অষ্টাল দিয়ে কাজ করতে পারি। কেবল একটি শূন্যগুলি দেখতে বেশ রুক্ষ হবে।

হালনাগাদ

প্রস্তাবিত DEBUGউত্তর ব্যতীত নীচের সমস্ত উত্তরগুলি কিছুটা বা অন্য কিছুতে কাজ করে। আমি তাদের প্রত্যেককে সহায়ক হিসাবে ভোট দিয়েছি। আমার প্রশ্নটি গঠনমূলক ছিল। প্রতিটি প্রস্তাবিত সমাধানের পরীক্ষায় আমি দেখতে পেলাম যে আমি সত্যিই পাশাপাশি হেক্স এবং পাঠ্য বিষয়বস্তু দেখতে চেয়েছি এবং এটি আমার এমন কিছু হতে চেয়েছিল যেখানে যখন আমার কার্সারটি ছিল তখন কোনও বাইট মান বা পাঠ্য অক্ষরের সাথে মিল থাকা জিনিস ছিল অন্য দিক হাইলাইট করা হবে।

আমি যখন আসলে ইম্যাক্স হেক্সেল-মোড "সঠিকভাবে" কাজ করা শুরু করি তখন আমি আমার সমস্যার সমাধান করেছি। সুতরাং আমি এই উত্তরগুলির কোনওটিই না ব্যবহার করে শেষ করেছি, কেবল সেগুলি পরীক্ষা করে।


সম্ভবত সাইগউইনের অধীনে কোনও ধরণের সরঞ্জাম রয়েছে তবে তার জন্য সাইগউইন ইনস্টল করা দরকার। অথবা যদি আপনার বাক্সে জাভা ইনস্টল করা থাকে তবে জাভাতে একটি হেক্স ডাম্প প্রোগ্রাম লেখার পক্ষে এটি মোটামুটি সহজ কাজ।
ড্যানিয়েল আর হিক্স

উত্তর:


11

আপনার একটি "হেক্স সম্পাদক" দরকার। আমি বছরের পর বছর ধরে "হেক্স সম্পাদক সম্পাদক নিও" ব্যবহার করেছি এবং এটি খুব ভাল। এটা পাওয়া যাচ্ছে তা বিনামূলের এবং অর্থ প্রদত্ত সংস্করণের । (এবং আমি নিশ্চিত যে অন্যান্য অন্যান্য অনুরূপ সরঞ্জাম উপলব্ধ রয়েছে))


4
আমি জিজ্ঞাসা করেছি যে, উইন্ডোজ besides ব্যতীত অন্য কোনও জিনিস ছাড়াই আমি অতিরিক্ত প্রোগ্রাম যুক্ত করতে পছন্দ করি না কারণ 1) অনেকেই এমনভাবে ইনস্টল করেন যা আমার অধিকারের অনুমতি দেয় না। ২) কিছু লোককে দেখতে অচল মনে হয়। এটি হেক্স সম্পাদক সম্পাদক নিও একটি ভাল প্রস্তাব বলে মনে হচ্ছে। +1
শ্যানন সিরিয়েনার্স

1
zblist.com একটি স্বতন্ত্র প্রোগ্রাম যা ইনস্টল করার প্রয়োজন নেই বা কোনও বিশেষ অধিকারের প্রয়োজন নেই এবং এতে একটি আল্ট-এইচ বা হেক্স মোড রয়েছে
sgmoore

বিবৃত, ভুল বিহীন, অস্তিত্বহীন সহ আমার সমস্ত প্রয়োজনীয়তা পূরণ করে। হেক্স সম্পাদক নিও খুব দ্রুত ছিলেন এবং আমার সরঞ্জাম ব্যাগে যুক্ত হয়েছেন।
শ্যানন সিভেরেন্স

1. অন্যান্য সম্পাদক স্থানীয় না। ২. ফাইল ম্যানেজাররা এই উদ্দেশ্যে ভাল এবং চারপাশে প্রচুর পরিমাণে রয়েছে যা বহনযোগ্য। ৩. টাইপ কমান্ডটি সামগ্রীটি দেশীয়ভাবে প্রদর্শন করতে পারে এবং দরকারী ফিল্টার রয়েছে (পৃষ্ঠা অনুসারে পৃষ্ঠায়)।
ওভারমাইন্ড

37

আপনার কাছে পাওয়ার শেল সংস্করণ 5.0 বা তার পরে থাকলে আপনি powershellবিল্ট-ইন ফাংশনটি ব্যবহার করতে পারেনFormat-Hex

PS:21 C:\Temp >Format-Hex application.exe

            0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F

00000000   42 4D 5E 00 00 00 00 00 00 00 36 00 00 00 28 00  BM^.......6...(. 
00000010   00 00 0A 00 00 00 01 00 00 00 01 00 20 00 00 00  ............ ... 
00000020   00 00 00 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00  ......Ä...Ä..... 
00000030   00 00 00 00 00 00 B7 59 71 FF B7 59 71 FF B7 59  ......•Yq.•Yq.•Y 
00000040   71 FF B7 59 71 FF B7 59 71 FF B7 59 71 FF B7 59  q.•Yq.•Yq.•Yq.•Y 
00000050   71 FF B7 59 71 FF B7 59 71 FF B7 59 71 FF        q.•Yq.•Yq.•Yq.

4
আমি স্পষ্টভাবে অবাক হয়েছি যে এটি শীর্ষের উত্তর নয়। উইন্ডোজে অন্তর্নির্মিত সরঞ্জামটি ব্যবহার করে এটি করার সঠিক উপায়। আপনি যদি কোনও ফাইলে আউটপুট লিখতে চান তবে আপনি> ফর্ম্যাট-হেক্স অ্যাপ্লিকেশন.এক্সে> আউট টেক্সট
টেকডুড

এটি দুর্দান্ত বলে মনে হচ্ছে তবে Format-Hexআমার পাওয়ারশেলে এটি উপলভ্য নয়; আমি কেবল "স্বীকৃত নয়" ত্রুটি
পেয়েছি

জেমিসির মতে, পাওয়ারশেল 5.0 পর্যন্ত এটি দৃশ্যত যোগ করা হয়নি।
টেকডুড

26

অন্তর্নির্মিত, দ্রুত এবং নোংরা: শুরু করুন powershell, কার্যকর করুন:

gc -encoding byte -TotalCount 100 "your_file_path" |% {write-host ("{0:x}" -f $_) -noNewline " "}; write-host   

টোটালকাউন্টটি আপনি ফাইল থেকে পড়তে চান এমন বাইটগুলির গণনা।

গুগল 'পাওয়ারশেল হেক্সডাম্প' আরও অনেক বেশি পালিশ / কার্যক্ষম সংস্করণ পেতে।

আপনার যদি উইন্ডোজ রিসোর্স কিট সরঞ্জামগুলি থাকে (একেবারে অন্তর্নির্মিত নয় তবে কাছাকাছি থাকে) তবে আপনি একটি সেমিডি লাইন ইউটিলিটিও ব্যবহার করতে পারেন list.exe। এটি হেক্স মোড সহ একটি ছোট সম্পাদক। বড় ফাইলগুলির সাথে কাজ করার জন্য বিশেষভাবে ডিজাইন করা:

তালিকা পাঠ্য ফাইল সরঞ্জাম (তালিকা) একটি কমান্ড-লাইন সরঞ্জাম যা এক বা একাধিক পাঠ্য ফাইল প্রদর্শন করে এবং অনুসন্ধান করে। অন্যান্য পাঠ্য প্রদর্শনের সরঞ্জামগুলির থেকে পৃথক, আপনি যখন এটি খুলবেন তখন তালিকা পুরো ফাইলটিকে মেমোরিতে পড়বে না। এটি কোনও ব্যবহারকারীকে একটি হেক্সাডেসিমাল বিন্যাসে একটি পাঠ্য ফাইল সম্পাদনা করার অনুমতি দেয়।

দূরবর্তী অবস্থান থেকে পাঠ্য বা লগ ফাইলগুলি প্রদর্শন করতে এবং সার্ভারে যেখানে প্রশাসকরা সিস্টেমের কার্যক্ষমতা হ্রাসের সাথে সম্পর্কিত তাদের তালিকা ব্যবহারের জন্য তালিকা দরকারী।


1
এখনও অবধি, এই সমাধানটি আমি যা চেয়েছিলাম তার সবচেয়ে কাছাকাছি।
শ্যানন সিভেরেন্স

1
দুর্দান্ত, সহজ, ইতিমধ্যে ইনস্টল installed আমি লেখার-হোস্টে ফর্ম্যাটটি পরিবর্তন করেছি ("{0: X2}" 0x0A কে "0 এ" হিসাবে "এ" হিসাবে দেখাতে বাধ্য করতে বাধ্য করিনি, উপরের ক্ষেত্রে 2 ডিজিটের জন্য 2 কারণ আমি এটি পছন্দ করি
অ্যাডাম স্ট্রুঘান

1
List.exe নিখুঁত ছিল - list.exe /?সহায়তা কমান্ড খুব বেশি তথ্য দেয় না, তবে একবার সম্পাদকের ভিতরে ?কমান্ডগুলি দেখে হিট করে। Hহেক্স সম্পাদকটি খোলেন, এবং F1হেক্স প্রদর্শিত হওয়ার
উপায়টিকে

7

এটি এক্সপি-র পরে সমস্ত কিছুর উপরেও কাজ করে:

certutil -encodehex MyProgram.exe MyProgram.txt

এক্সপির এখান থেকে উইন্ডোজ সার্ভার 2003 অ্যাডমিনিস্ট্রেশন সরঞ্জাম প্যাক প্রয়োজন:

https://www.microsoft.com/en-us/download/details.aspx?id=16770


উইন্ডোতে সর্বাধিক পোর্টেবল এবং পিছনে তুলনামূলক সমাধান, এমনকি উইন্ডোজ ব্যাচ স্ক্রিপ্ট থেকেও ব্যবহার করা যেতে পারে, অবাক হয়ে কেন এটি এখনও সমস্ত উত্তরের উপরে নেই
অ্যান্ড্রি

6

একটি সঙ্গে একটি নামের ফাইল অনুলিপি করুন .COMএক্সটেনশন, যেখানে বেস নাম আট অক্ষরের চেয়ে এখন আর নেই। চালান

DEBUG your_filename

এটি একটি ' -' প্রম্পট দেবে। আদর্শ

DEnter

বারবার থেকে একটি সময়ে isplay ফাইল 128 বাইট। আদর্শ

D ঠিকানা Enter

ঠিকানা থেকে শুরু করে 128 বাইট প্রদর্শন করতে , যা হেক্সে টাইপ করতে হবে, যেখানে ফাইলটির শুরুতে ঠিকানা 100 হয় Type টাইপ করুন

D ঠিকানা 1 ঠিকানা 2 Enter

থেকে প্রদর্শন করে ঠিকানা 1 থেকে ঠিকানা 2 । আদর্শ

D ঠিকানা Lনম্বর Enter

প্রদর্শন করে NUM বাইট (দৈর্ঘ্য) থেকে শুরু ঠিকানা ।  হেক্সে নাম্বারও প্রবেশ করানো হয়েছে। Qছাড়তে ব্যবহার করুন ।

উদাহরণ স্বরূপ,

C:\Users\scott\Documents> debug thispost.com
-d
0BE4:0100  43 6F 70 79 20 74 68 65-20 66 69 6C 65 20 74 6F   Copy the file to
0BE4:0110  20 61 20 6E 61 6D 65 20-77 69 74 68 20 61 20 2E    a name with a .
0BE4:0120  43 4F 4D 20 65 78 74 65-6E 73 69 6F 6E 2C 20 77   COM extension, w
0BE4:0130  68 65 72 65 20 74 68 65-20 62 61 73 65 20 6E 61   here the base na
0BE4:0140  6D 65 20 69 73 20 6E 6F-20 6C 6F 6E 67 65 72 20   me is no longer
0BE4:0150  74 68 61 6E 20 65 69 67-68 74 20 63 68 61 72 61   than eight chara
0BE4:0160  63 74 65 72 73 2E 0D 0A-52 75 6E 20 44 45 42 55   cters...Run DEBU
0BE4:0170  47 20 2A 79 6F 75 72 5F-66 69 6C 65 6E 61 6D 65   G *your_filename
-d
0BE4:0180  2A 0D 0A 49 74 20 77 69-6C 6C 20 67 69 76 65 20   *..It will give
0BE4:0190  61 20 27 2D 27 20 70 72-6F 6D 70 74 2E 0D 0A 54   a '-' prompt...T
0BE4:01A0  79 70 65 20 44 20 45 6E-74 65 72 20 72 65 70 65   ype D Enter repe
0BE4:01B0  61 74 65 64 6C 79 20 74-6F 20 2A 2A 64 2A 2A 69   atedly to **d**i
0BE4:01C0  73 70 6C 61 79 20 74 68-65 20 66 69 6C 65 20 31   splay the file 1
0BE4:01D0  32 38 20 62 79 74 65 73-20 61 74 20 61 20 74 69   28 bytes at a ti
0BE4:01E0  6D 65 2E 0D 0A 54 79 70-65 20 44 20 5F 61 64 64   me...Type D _add
0BE4:01F0  72 65 73 73 5F 20 74 6F-20 64 69 73 70 6C 61 79   ress_ to display
-d 200 L16
0BE4:0200  20 31 32 38 20 62 79 74-65 73 20 73 74 61 72 74    128 bytes start
0BE4:0210  69 6E 67 20 61 74                                 ing at
-

3
দুর্ভাগ্যক্রমে এটি কাজ করবে না যদি ফাইলটি প্রায় is৪ কেবি এর চেয়ে বড় হয়, কোনও .COM এর জন্য সর্বোচ্চ। (এটি অফসেট 100h থেকে শুরু করে সেগমেন্টে ফিট করতে হবে))
কেন

1
C:\>attrib debug.exe /s। ফলাফল: File not found - debug.exe। অফিসিয়াল সন্ধান করতে অক্ষম, ডিবাগ আর সমর্থিত বিবৃতি নয়, তবে ওয়েবে যা দেখেছি তা থেকে মনে হচ্ছে ডিবাগ সমর্থনটি কিছুক্ষণ আগে বাদ দেওয়া হয়েছে। আমি মাইক্রোসফ্ট থেকে ডিবাগডিয়াগ খুঁজে পেয়েছি। (অতিরিক্ত ডাউনলোড।) ডিবাগিং? সম্ভবত এটি এইচএক্স-এ ফাইলগুলি দেখার সমর্থন করে? .MSI ফাইল হিসাবে বিতরণ করা হয়েছে। ইনস্টলের জন্য প্রশাসকের পাসওয়ার্ড দরকার। আমি একজন নই
শ্যানন সিরিয়েনার্স

@ কেন আমি ইতিমধ্যে head -c4096 bigFileName > smallFileNameলিনাক্সে প্রথম 4 কেবি ফাইল পেতে ব্যবহার করেছি। লাইনগুলি যথেষ্ট ছোট যে চারটি
কেবিতে

তাহলে hexdump -Cলিনাক্সের সময় কেন ব্যবহার করবেন না ?
কেন

3
@ শ্যানন ডিবাগ ডসের একটি অংশ, এবং এর মতো, আপনি যদি এক্স 64 ব্যবহার করছেন, এটি সেখানে নেই।
কিনোকিজুফ

6

এইচএক্সডি হ'ল একটি বহনযোগ্য হেক্স সম্পাদক, যার অর্থ কোনও ইনস্টলেশন প্রয়োজন হয় না এবং এটি একটি একক এক্স ফাইল ছাড়া আর কিছুই নয়।

http://mh-nexus.de/en/hxd/

অনুরূপ আরেকটি বহনযোগ্য বিকল্প হ'ল:

http://frhed.sourceforge.net/en/screenshots/


ভাল লাগলো- ইনস্টলযোগ্য এবং বহনযোগ্য সংস্করণ রয়েছে।
পিডেমি

5

উইন্ডোজ 7 যেহেতু ডটনেট ফ্রেমওয়ার্ক 3.5 এর সাথে অন্তর্নির্মিত রয়েছে, তাই আপনি সি # সংকলকটি অন্তর্নির্মিত থাকবে যাতে আপনি দখল করতে পারেন, উদাহরণস্বরূপ, http://illegalargumentexception.blogspot.co.uk/2008/04/c- file-hex-dump-application.html এবং তারপরে ব্যবহার করে সংকলন করুন

  \windows\Microsoft.NET\Framework\v3.5\csc printhex.cs 

এবং আপনার একটি প্রিন্টেক্স.েক্সের সমাপ্তি হওয়া উচিত যা হেক্স এবং এসসিআই অক্ষর উভয়ই প্রদর্শিত করতে পারে।


সহজ, এবং বিশাল ডাউনলোডের প্রয়োজন নেই।
লাইভ-

2

এটি আদর্শ নয়, তবে আপনি যদি সত্যিই কিছু ডাউনলোড করতে চান না, তবে আপনি এই ফাইলটিকে অন্য একটি সম্পূর্ণ ভিন্ন ফাইলের সাথে তুলনা করতে fc / b (অর্থাত্ বাইনারি মোডে ফাইল তুলনা) ব্যবহার করতে চেষ্টা করতে পারেন , এবং এটি আপনাকে হেক্স প্রদর্শন করবে প্রতিটি বাইটের মান পৃথক পৃথক। আপনি দুটি মান দুটি ফাইলে একই হতে পারে এবং তাই আউটপুট থেকে এড়িয়ে যেতে পারেন, তবে আপনি যদি অফসেট কলামে অনুপস্থিত মানগুলি পরীক্ষা করে এটি ঘটতে পারেন তা বলতে পারেন।


আদর্শ নয়, তবে আমি 0x00 বাইটের একটি ফাইল তৈরি করে তা করতে সক্ষম হয়েছি এবং তারপরে তার তুলনা করব। আমি যে টেক্সট ফাইলটি দেখছিলাম এবং যেহেতু তুলনা কাজ করেছিল তেমন আমি 0a এবং 0 ডি-তে বেশিরভাগ নালীর একটি ফাইল নিয়ে আগ্রহী। তবে চরিত্রের দৃষ্টিভঙ্গি এবং হেক্স ভিউ উভয়ই পাশাপাশি দেওয়া হয়নি যেখানে আমি আরও শক্ত দেখতে চাই finding (স্কট এর উত্তরে যেমন ডিবাগ এবং ইমাকসের হেক্সেল-মোডের মতো কাজ করে। আমি পাশাপাশি দর্শন চেয়েছিলাম না, তবে আমি কীভাবে আসলে হেক্স ডাম্প ব্যবহার করি তার পক্ষে এটি অত্যন্ত গুরুত্বপূর্ণ))
শ্যানন সিভেরেন্স

2

আপনি PowerShell ফাংশন, ফাইল বিষয়বস্তু, অর্থাত একটি hexdump দেখতে পান-সামগ্রী সহ নিচের ব্যবহার করতে পারেন Get-Content -Encoding Byte 'MyFile.bin' | Format-HexDump। 222 কেবি ফাইল ডাম্প করতে প্রায় 23 সেকেন্ড সময় লাগে এবং যদি ইচ্ছা হয় তবে ডাম্প পরীক্ষা করা আরও সহজ করে তুলতে আউটপুট একটি পাঠ্য ফাইলে পুনর্নির্দেশ করা যায়।

$encodingAutoCompleter = {
    param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
    $availableEncodings = ([System.Text.Encoding]::GetEncodings() | Select Name, CodePage, DisplayName) + @( [PSCustomObject] @{ CodePage = '20127'; Name = 'ascii'; DisplayName = 'US-ASCII' }, [PSCustomObject] @{ CodePage = '1200'; Name = 'unicode'; DisplayName = 'Unicode' } )
    $availableEncodings | ?{ $_.Name.StartsWith($wordToComplete) } | %{ New-Object System.Management.Automation.CompletionResult -ArgumentList $_.Name, $_.Name, 'ParameterValue', "$($_.DisplayName). Code Page $($_.CodePage)." }
}

function Format-BufferText([byte[]] $buffer, [System.Text.Encoding] $displayEncoding, [switch] $useControlPictures)
{
    $bufferChars = $displayEncoding.GetChars($buffer);
    $bufferText = (($bufferChars | %{ if ([char]::IsControl($_) -eq $true) { if ($useControlPictures -eq $false) { '.' } else { [char] ($_.ToInt16([cultureinfo]::InvariantCulture) + 0x2400) } } else { "$_" } }) -join "")

    $bufferText
}

<#
    .Synopsis
    Displays binary data as a hexadecimal dump.

    .Description
     Displays binary data as a hexadecimal dump. Options are available to suppress displaying text and to display control characters 
     as Unicode Control Pictures instead of dots.

    .Parameter Bytes
    The bytes to be displayed.

    .Parameter Encoding
    The name of the text encoding to use. The default is ascii.

    .Parameter NoTextDisplay
    If specified the text display sidebar will be suppressed; otherwise, the display text sidebar will be present.

    .Parameter UseControlPictures
    If specified control characters will be displayed as Unicode Control pictures; otherwise, dots are used to represent control 
    characters.

    .Example
    Format-HexDump -Encoding unicode $bytes

    .Example
    Get-Content -Encoding Byte 'MyFile.bin' | Format-HexDump -Encoding unicode

    .Example
    0..255 | Format-HexDump -NoTextDisplay
#>
function Format-HexDump
{
    [CmdletBinding()]
    param
    (
        [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
        [byte[]] $Bytes,
        [ValidateScript({ if (([System.Text.Encoding]::GetEncodings().Name + @('unicode', 'ascii')) -icontains $_) { return $true } else { Throw "Encoding must be one of the following: $([System.Text.Encoding]::GetEncodings().Name -join ', '), unicode, or ascii." } })]
        [Parameter(ValueFromPipeline = $false)]
        [string] $Encoding = "ASCII",
        [Parameter()]
        [switch] $NoTextDisplay,
        [Parameter()]
        [switch] $UseControlPictures
    )

    BEGIN
    {
        $displayEncoding = [System.Text.Encoding]::GetEncoding($Encoding)

        $counter = 0
        $hexRow = ""
        [byte[]] $buffer = @()
    }

    PROCESS
    {
        foreach ($byte in $Bytes)
        {
            $buffer += $byte
            $hexValue = $byte.ToString("X2")

            if ($counter % 16 -eq 0)
            {
                $buffer = @($byte)
                $hexRow = "$($counter.ToString("X8")): $($hexValue) "
            }
            elseif ($counter % 16 -eq 15)
            {
                if ($NoTextDisplay -eq $true)
                {
                    $hexRow += "$($hexValue)"
                    $hexRow
                }
                else
                {
                    $bufferText = Format-BufferText $buffer $displayEncoding $UseControlPictures
                    $hexRow += "$($hexValue)   $($bufferText)"
                    $hexRow
                }
            }
            else
            {
                $hexRow += "$($hexValue) "
            }

            $counter++
        }
    }

    END
    {
        $counter--

        if ($counter % 16 -ne 15)
        {
            $hexRow += " " * (((16 - $counter % 16) * 3) - 1)

            if ($NoTextDisplay -eq $false)
            {
                $bufferText = Format-BufferText $buffer $displayEncoding $UseControlPictures
                $hexRow += "$($bufferText)"
            }

            $hexRow
        }
    }
}

Register-ArgumentCompleter -CommandName Format-HexDump -ParameterName Encoding -ScriptBlock $encodingAutoCompleter

আউটপুট এর মতো দেখাচ্ছে:

00000000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F   ................
00000010: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F   ................
00000020: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F    !"#$%&'()*+,-./
00000030: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F   0123456789:;<=>?
00000040: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F   @ABCDEFGHIJKLMNO
00000050: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F   PQRSTUVWXYZ[\]^_
00000060: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F   `abcdefghijklmno
00000070: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F   pqrstuvwxyz{|}~.
00000080: 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F   ????????????????
00000090: 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F   ????????????????
000000A0: A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF   ????????????????
000000B0: B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF   ????????????????
000000C0: C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF   ????????????????
000000D0: D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF   ????????????????
000000E0: E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF   ????????????????
000000F0: F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF   ????????????????

অথবা কেবল ফরমেট-হেক্স ফাইলের
নামটি

@ টেকডুড ফর্ম্যাট-হেক্স পাওয়ারশেলের সমস্ত সংস্করণে উপলভ্য নয়। এটি পাওয়ারশেল 4 এবং এর আগে বিদ্যমান নেই। ফর্ম্যাট-হেক্সের অস্তিত্বের আগে আমি এই কোডটি লিখেছিলাম।
জেমিসি

এটি কীভাবে বাইনারি ফাইলে ফিরে যাবে?
জিম্বা

1

যেহেতু সাব্লাইম টেক্সটটি আমার প্রিয় সম্পাদক, আমি হেক্স ফাইলগুলি দেখার জন্য এর প্লাগইনটি ব্যবহার করি। http://facelessuser.github.io/HexViewer/

HexViewer


0

আমি জানি আপনি ইমাস ব্যবহার করছেন তবে ভিম ব্যবহারকারীরা xxdইউটিলিটি ব্যবহার করতে পারবেন :

xxd -s <start_offset> -l <length_offest> <file>

অর্থাত

Usage:
       xxd.exe [options] [infile [outfile]]
    or
       xxd.exe -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
Options:
    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.
    -b          binary digit dump (incompatible with -ps,-i,-r). Default hex.
    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
    -E          show characters in EBCDIC. Default ASCII.
    -g          number of octets per group in normal output. Default 2.
    -h          print this summary.
    -i          output in C include file style.
    -l len      stop after <len> octets.
    -ps         output in postscript plain hexdump style.
    -r          reverse operation: convert (or patch) hexdump into binary.
    -r -s off   revert with <off> added to file positions found in hexdump.
    -s [+][-]seek  start at <seek> bytes abs. (or +: rel.) infile offset.
    -u          use upper case hex letters.
    -v          show version: "xxd V1.10 27oct98 by Juergen Weigert (Win32)".
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.