Байттарды өңдеуге арналған бағдарлама: Hex редакторлары туралы толық ақпарат. Файлдардың бинарлық құрылымын, форматтарын қарастырады. Дискілерді өңдеуге де қолданылады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Байтпен жұмыс істеуге арналған компьютерлік бағдарлама
Computer program for byte manipulation
Гекс-редактор (немесе бинарлық файл редакторы немесе байт редакторы) – компьютерлік файлды құрайтын негізгі бинарлық деректерді өңдеуге мүмкіндік беретін компьютерлік бағдарлама. "Гекс" атауы "он алтылық" сөзінен шыққан, ол бинарлық деректерді көрсетуге арналған стандартты сандық формат. Әдетте, компьютерлік файл сақтау құралында бірнеше бөлікке орналасады, олардың мазмұны файлды құру үшін біріктіріледі. Флоппи-дискілер немесе қатты дискілердің физикалық сегменттеріндегі секторлық деректерді талдау және өңдеуге арналған гекс-редакторлар кейде секторлық редакторлар немесе дискілік редакторлар деп аталады.
A hex editor (or binary file editor or byte editor) is a computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal', a standard numerical format for representing binary data. A typical computer file occupies multiple areas on the storage medium, whose contents are combined to form the file. Hex editors that are designed to parse and edit sector data from the physical segments of floppy or hard disks are sometimes called sector editors or disk editors.
Ерте тарих
Компьютерлердің ойдағыдай жұмыс істеуіне және түрлі мақсаттарда қолданылуына байланысты, сан алуан файл форматтары құрылды. Кейбір ерекше жағдайларда деректерді шикі сандар тізбегі түрінде қарау ыңғайлы болды. IBM OS/360 жүйелері үшін SUPERZAP (AMASPZAP) деп аталатын бағдарлама бар еді, ол дискідегі шикі жазбаларды өңдеуге және атқарылатын файлдардың форматын түсінуге мүмкіндік берді. Қазіргі стандарт – он алтылық сандар жұбы (әр жұп бір байтты көрсете алады), себебі бүгінде қолданылатын көптеген машиналар мен файл форматтары деректерді 8 биттен тұратын байттар түрінде немесе топтарымен өңдейді. Он алтылық және сегіздік санау жүйелері де кең таралған, өйткені бұл сандар байттың ішіндегі белсенді биттерді анықтауға көмектеседі. Дегенмен, бүгінде ондық санау жүйесі, он алтылыққа қарағанда, көбірек таныс болуы және үлгілік жүйелер мен деректерді тексеру құралдары сияқты қосымша көмекші құралдардың болуы себепті, екінші танымал опцияға айналуда, бұл он алтылық сандардың артықшылықтарын төмендетіп жібереді.
Since the invention of computers and their different uses, a variety of file formats has been created. In some special circumstances it was convenient to be able to access the data as a series of raw digits. A program called SUPERZAP (AMASPZAP) was available for IBM OS/360 systems which could edit raw disk records and also understood the format of executable files. Pairs of hexadecimal digits (each pair can represent a byte) are the current standard, because the vast majority of machines and file formats in use today handle data in units or groups of 8 bit bytes. Hexadecimal and also octal are common because these digits allow one to see which bits in a byte are set. Today, decimal instead of hexadecimal representation is becoming a popular second option due to the more familiar number base and additional helper tools, such as template systems and data inspectors, that reduce the benefits of the hexadecimal numerical format.
Үлгі жүйелері
Кейбір алтылық редакторлар екілік файлдың байттар тізбесін құрылымдалған түрде ұсынатын, қажетті файл форматының бір бөлігін немесе толығымен қамтитын үлгілер жүйесін ұсынады. Әдетте, үлгінің графикалық интерфейсі негізгі алтылық редактордың қасындағы жеке құрал терезесі болып табылады. Кейбір чит-жүйелер мұндай үлгілік интерфейстен ғана тұрады. Көбінесе үлгілер белгіленген мәтіндік өрістердің тізімі түрінде ұсынылады, осылайша файлдың жеке мәндерін тиісті форматта (мысалы, мәтін, түс немесе ондық сан түрінде) оңай өңдеуге болады. Үлгілерді қолдамау жағдайында, өзгертілгісі келген мән сақталатын файлдағы дұрыс орнын табу қажет. Сонымен қатар, қарапайым алтылық өңдеуі гексадецималды ондыққа, байттар тәртібіне немесе басқа да деректер түрлерін түрлендіру ерекшеліктеріне байланысты түрлендіруді қажет етуі мүмкін. Үлгілер файлдар түрінде сақталуы мүмкін, осылайша пайдаланушылармен алмасылады және көбінесе өндірушінің веб-сайты арқылы көпшілікке таратылады. Көптеген, егер барлығы болмаса, алтылық редакторлар өздерінің үлгілік файл форматтарын анықтайды; әртүрлі форматтар арасында стандартты қолдау немесе үйлесімділікке бейімділік жоқ.
Some hex editors offer a template system that can present the sequence of bytes of a binary file in a structured way, covering part or all of the desired file format. Usually the GUI for a template is a separate tool window next to the main hex editor. Some cheat engine systems consist only of such a template GUI. Typically, a template is represented as a list of labeled text boxes, such that individual values of a file can be easily edited in the appropriate format (e. g., as string, color, or decimal number). Without template support, it is necessary to find the right offset in a file where the value that is to be changed is stored. Also, raw hex editing may require conversion from hexadecimal to decimal, catering for byte order, or other data type conversion peculiarities. Templates can be stored as files, thereby exchanged by users, and are often shared publicly over the manufacturer's website. Most if not all hex editors define their own template file format; there is no trend to support a standard or even compatibility between the various formats out in the wild.
Скрипттік жүйелер
Құрылған гекса-редакторларда скрипт жүйелері болады, олар пайдаланушыға макрос сияқты мүмкіндіктерді пайдаланушы интерфейсі командаларының тізбегі арқылы жасауға және жиі кездесетін тапсырмаларды автоматтандыруға мүмкіндік береді. Мұны файлдарды автоматты түрде өңдейтін (мысалы, ойында алдау, модтау немесе қауымдастық ұсынған өнімдерге түзетулер енгізу) скрипттерді жасауға немесе күрделірек/зор мүмкіндіктерге ие үлгілерді жазуға болады. Скрипт тілдері әртүрлі болады, көбінесе MS DOS пакеттік файлдарына ұқсас, өнімге арналған тілдерден бастап, Lua немесе Python сияқты толыққанды скрипт тілдерін қолдайтын жүйелерге дейін.
Advanced hex editors have scripting systems that let the user create macro like functionality as a sequence of user interface commands for automating common tasks. This can be used for providing scripts that automatically patch files (e. g., game cheating, modding, or product fixes provided by community) or to write more complex/intelligent templates. Scripting languages vary widely, often being product specific languages resembling MS DOS batch files, to systems that support fully fledged scripting languages such as Lua or Python.
Плагин жүйелері
Таңдалған бірнеше редакторларда графикалық интерфейсті кеңейтуге және жаңа мүмкіндіктерді қосуға арналған плагиндер жүйесі бар, олар көбінесе C тіліне үйлесімді тілде жазылған динамикалық кітапханаларды жүктейді.
A few select editors have a plugin system that allows to extend the GUI and add new functionality, usually loading dynamic link libraries written in a C compatible language.