Почитав наш любимый форум и пообщавшись с нубами я понял одну вещь.. Много юзеров этого форума имеют плохие представления о шестнадцатиричной системе счисления (далее 16 СС или хекс). Дабы уменьшить пустоты в этой области знаний пишу данный ликбез.
Начнем с азов.
Хекс система имеет слегка "непривычный" нам (бренным телам) набор чисел. А именно: 0 1 2 3 4 5 6 7 8 9 A B C D E F. ЧислА G (да и всех последующих) в ней нет, поэтому при изменении значений смысла писать эту букафку тоже нет. Любой фаил, который вы откроете хекс-редактором в первую очередь предстанет перед вами в виде наборов этих циферо-буковок. По идее все данные там идут друг за дружкой, но для удобства программы-редакторы разбивают их на пары (0Е 3А и т.д.). Такие пары по буржуйски зовутся оффсетами (offset) или по нашински - байтами (Напомню, что 1 байт = 2^8 бит = 256 значений, которые хексом кодируются всеми различными парами от 00 до FF). Так же каждый байт имеет свой адрес, который тоже записывается в хекс.
Получение хекс значения.
Для того, чтобы получить аналог нашего с вами числа в хекс существует несколько способов:
Самый доступный. При условии что у вас винда).
Открываем калькулятор и включаем в нем инженерный вид.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Перед нами великое творение мелкомягких во всем его великолепии. Слева вверху мы видим незамысловатые надписи Hex и Dec (остальные нас не интересуют).
[Ссылки могут видеть только зарегистрированные пользователи. ]
Как уже наверное некоторые догадались Hex - режим отображения в хекс, Dec - в привычной нам 10 СС. Для того чтобы получить хекс значение - выделяем Dec и вводим наше с вами число. Затем тыкаем на Hex и... бах! Получаем значение в хекс-формате. Эта незамысловатая утилитка разбивает значения в группы по 4. Этого можно не пугаться, итоговое значение при копировании будет таким каким нам нужно. Кстати зачем она это делает - ума не приложу.. наверное понтуецо =)
Для получения десятичного числа из хекс делаем все с точночстью до наоборот. Т.е. сначала тыкаем Hex, вводим число и тыкаем Dec.
.
Для счастливых обладателей WinHex'а.
----
И сказал пророк:"Открой ВинХекс и тыкни на F8. Будет тебе счатье до конца дней твоих!"
----
Следуя наказам пророка поступаем в точности как он говорил. И, о чудо! Перед нами появляется великое окошечко!
[Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь все, что от нас требуется это ввести либо хекс значение либо десятичное. Они вводятся слева и справа соответственно (для тех, кто в танке: 1000 - это десятичное число, 3Е8 - хекс). Далее тыкается ентер и мы получаем нужное нам число в соответствующей графе. Усе.
.
Юзерам, имеющим в своем арсенале Hex Editor Neo.
Для начала стоит открыть Base Convertor, если он у еще не открыт конечно =) Для свершения сего чудного действа следует пойти по пути View -> Tool Windows -> Base Converter.
Перед нами в виде доп. панельки появится незамысловатое окошечко с кучей полей... из которых нас интересуют только Decimal и Hex.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Люди, еще не потерявщие цепочку логических рассуждений наверняка догадались, что в поле Decimal вводится десятичное число, а его шестнадцатиричный аналог можно будет лицезреть в поле Hex. Конвертация идет незамделительно, так что никаких дополнительных телодвижений не требуется.
.
Для продвинутых читеров.
Люди использующие СЕ (Cheat Engine, есть в архиве темы) могут прибегнуть к оч хитрой фишке этой программы. А именно:
[Ссылки могут видеть только зарегистрированные пользователи. ]
В выделенном мною (красным прямоугльничком) поле ввести значение нуждающееся в переводе (при вводе хекс-значения - галочка Hex есть, при вводе десятичного значения галочки нет)... и... поставить или убрать соответственно галочку! Усе. Число переведтся в выбранную СС.
Запись хекс значения
Трудная часть закончилась. Теперь начнется АД. Дело в том, что все числа хранятся в "неправильном" порядке. А именно задом-наперед.
Для того, чтобы нам правильно вписать число в память, нужно проделать несколько простых действий:
Разбить наше с вами хекс число на пары. Начинать с правого конца. Для примера я возьму длинное число:
Код:
009624D4
В итоге получаем:
Код:
00 96 24 D4
Если чисел нечетное количество, к примеру 3Е8, то оставшееся одинокое число (оно всегда должно получаться слева) дополнить ноликом. 03 Е8.
Так же замечу, что если вам известо, что в данной области памяти хранится число определенного размера (к примеру 4 байта), а цифорок даже по прикидкам "на глаз" слегка меньше, то надо дописать нолики до этой размерности. На примере того же числа: 00 00 03 Е8.
.
Поменять байты местами. Т.е. последний станет первым, предпоследний - вторым и т.д. В нашем случае получаем:
Код:
D4 24 96 00
Для второго числа:
Код:
Е8 03 00 00
.
Полученную последовательность спокойно вписывать в память.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для получения правильного значения в 10 СС делаем все в обратной последовательности (от пункта 3 к пункту 1).
Незнанием этого "момента" объясняются многие косяки юзеров по типу: "ААА!! Изменил этот пакет и меня выкинуло!!!" Ни для кого не секрет, что первые два байта в пакете (в трафике РФ) - его длина в хекс.
Первые два байта - 12 00. При правильном переводе в 10 СС мы получим длину равную 18. Подсчитав число байт, убедимся, что значение верное. Дык вот. При изменении длины пакета, длину тоже надо менять. При чем правильно, а не тупым переводом из 10 СС в хекс.
На этом спешу закончить.
__________________________________________________
Все (не считая нубских) вопросы оставляйте тут. По мере возможностей буду деать FAQ. Вопросы типа: "Все сделал как ты написал - ничо ни работаит!" и прочие нубские будут удаляться. Расписывать еще (!) подробнее я не собираюсь, ибо считаю что получится некое неуважение к форумчанам (типа ваще для дибилоф).
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
В принцепи все работает, когда нажимаю обмен у банкира, в окне денег появляется введеная в СЕ сумма, но обменя ничего незя, пишет обмен не удался, и в инвертаре деньги ослись прежние, значение не поменялось, кто может помочь, отпишитесь
Вот тебе и результат - ты увидел введенную в СЕ сумму денег. А обменять ничего нельзя, потому что количество денежек проверяется сервером, а СЕ работает на стороне клиента.
Последняя версия программы Dehex, программа написана мной дабы облегчить жизнь тем людям кто неочнь дружит с Hex системой счисления, проект является полностью законченым и далее развиваться небудет. Критика по программе также не принимается!
пост перечитай. вдумчиво. потом еще раз перечитай. подумай, что ты упустил в первый раз. потом почитай еще раз. может поймешь.
________________
Внимательно читаем Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). . Незнание правил не освобождает Вас от ответственности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Просьба не писать мне в ЛС по поводу того, что что-то не работает/выложить тему из подполья/рассказать о последних багах, читах, глюках. Не отвечу! Задавайте конкретные вопросы. Чем смогу - тем помогу. И в теме указывайте суть вопроса, а то смотреть вообще не буду - удалю и все.
__________________
Предоставляю услуги Гаранта/Проверяющего. Все подробности Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). .
Связь только через ПМ. В теме писать "Гарант/Проверка".
__________________
__________________
Мои проекты: -> Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Народ подскажите в item.edf как понять где чё значит. Я хачу допустим какийнить вещи подредактировать, а там спошные байты. Справа текст но там не текс а х пойми чё.
Зы сильна какашками не кидаца я ток учусь
первые два байта - 12 00. при правильном переводе в 10 сс мы получим длину равную 18. подсчитав число байт, убедимся, что значение верное. дык вот. при изменении длины пакета, длину тоже надо менять. при чем правильно, а не тупым переводом из 10 сс в хекс.
Предлагаю способы, как проще узнать длину пакета, не перещитывая каждый байтиг.
например: у нас есть пакет, который отправляет в чат сообщение: "флудфлудфлуд". (см. скринадын)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Мы изменяем его, добавляем к "флудфлудфлуд" "ищофлуд х_х" (см. скриндва). Из-за этого изменяется длина пакета. Нам говорят: "Итоговый пакет: [ok] (добавлены 2 байта размера)" (если указана фунцкия "автоматическое определение" или "всегда добавлять"). То есть к пакету с уже 2-я байтами размера, прибавились ещё два (2D 00 сначала, потом 3A 00 2D 00). Естественно, если на сервер придёт такой пакет, то он не сможет его понять, т.к. ID пакета сдвинулся на два байта направо. Если фунцкия автоопределенияивсегдадобавления отключена, то сервер всё равно нас отключит, т.к. длина пакета не будет совпадать с байтами размера (это такая защита).
[Ссылки могут видеть только зарегистрированные пользователи. ]
Что же делать? Точнее что делать мы знаем.. но этот способ слишком долгий Врядли кто-то захочет пересчитывать все байты каждый раз, тем более, если пакет длинный, то это просто невозможно.
Вот два способа:
Первый:
Нам добавили два байта размера: "3A 00". (см. скриндва)
Естественно эти два байта уже посчитаны. Их надо вычесть. То есть 3A - 2 = 38. Нужно вместо старого размера (2D) поставить эти 38. (см. скринтри)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Второй способ:
Для тех кто не умеет отнимать от HEX значений, и для тех кому так будет проще (скорее всего даже удобнее этот)
Выделяем в пакете два первых байта (размера), удаляем их. Теперь ВПФ сам будет считать байты в пакете, и при отправке вставлять два байта размера. Теперь можно изменять сам пакет, добавлять, убавлять байты, а про байты размера забыть. (см. скринчитыри)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь можно спокойно отправлять пакет.
Пользуйтесь чем удобнее)
зы: кто-то говорил, что максимальная длина пакета = 255 байтов.. Не правда длина пакета считается то в двух байтах. То есть самая большая длина пакета = FF FF (65535 байтов). Но ВПФ позволяет только 1802 (6146 байта)
Добавлено через 3 минуты
Цитата:
Народ подскажите в item.edf как понять где чё значит. Я хачу допустим какийнить вещи подредактировать, а там спошные байты. Справа текст но там не текс а х пойми чё.
Зы сильна какашками не кидаца я ток учусь
Почитав наш любимый форум и пообщавшись с нубами я понял одну вещь.. Много юзеров этого форума имеют плохие представления о шестнадцатиричной системе счисления (далее 16 СС или хекс). Дабы уменьшить пустоты в этой области знаний пишу данный ликбез.
Начнем с азов.
Хекс система имеет слегка "непривычный" нам (бренным телам) набор чисел. А именно: 0 1 2 3 4 5 6 7 8 9 A B C D E F. ЧислА G (да и всех последующих) в ней нет, поэтому при изменении значений смысла писать эту букафку тоже нет. Любой фаил, который вы откроете хекс-редактором в первую очередь предстанет перед вами в виде наборов этих циферо-буковок. По идее все данные там идут друг за дружкой, но для удобства программы-редакторы разбивают их на пары (0Е 3А и т.д.). Такие пары по буржуйски зовутся оффсетами (offset) или по нашински - байтами (Напомню, что 1 байт = 2^8 бит = 256 значений, которые хексом кодируются всеми различными парами от 00 до FF). Так же каждый байт имеет свой адрес, который тоже записывается в хекс.
Получение хекс значения.
Для того, чтобы получить аналог нашего с вами числа в хекс существует несколько способов:
Самый доступный. При условии что у вас винда).
Открываем калькулятор и включаем в нем инженерный вид.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Перед нами великое творение мелкомягких во всем его великолепии. Слева вверху мы видим незамысловатые надписи Hex и Dec (остальные нас не интересуют).
[Ссылки могут видеть только зарегистрированные пользователи. ]
Как уже наверное некоторые догадались Hex - режим отображения в хекс, Dec - в привычной нам 10 СС. Для того чтобы получить хекс значение - выделяем Dec и вводим наше с вами число. Затем тыкаем на Hex и... бах! Получаем значение в хекс-формате. Эта незамысловатая утилитка разбивает значения в группы по 4. Этого можно не пугаться, итоговое значение при копировании будет таким каким нам нужно. Кстати зачем она это делает - ума не приложу.. наверное понтуецо =)
Для получения десятичного числа из хекс делаем все с точночстью до наоборот. Т.е. сначала тыкаем Hex, вводим число и тыкаем Dec.
.
Для счастливых обладателей WinHex'а.
----
И сказал пророк:"Открой ВинХекс и тыкни на F8. Будет тебе счатье до конца дней твоих!"
----
Следуя наказам пророка поступаем в точности как он говорил. И, о чудо! Перед нами появляется великое окошечко!
[Ссылки могут видеть только зарегистрированные пользователи. ]
Теперь все, что от нас требуется это ввести либо хекс значение либо десятичное. Они вводятся слева и справа соответственно (для тех, кто в танке: 1000 - это десятичное число, 3Е8 - хекс). Далее тыкается ентер и мы получаем нужное нам число в соответствующей графе. Усе.
.
Юзерам, имеющим в своем арсенале Hex Editor Neo.
Для начала стоит открыть Base Convertor, если он у еще не открыт конечно =) Для свершения сего чудного действа следует пойти по пути View -> Tool Windows -> Base Converter.
Перед нами в виде доп. панельки появится незамысловатое окошечко с кучей полей... из которых нас интересуют только Decimal и Hex.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Люди, еще не потерявщие цепочку логических рассуждений наверняка догадались, что в поле Decimal вводится десятичное число, а его шестнадцатиричный аналог можно будет лицезреть в поле Hex. Конвертация идет незамделительно, так что никаких дополнительных телодвижений не требуется.
.
Для продвинутых читеров.
Люди использующие СЕ (Cheat Engine, есть в архиве темы) могут прибегнуть к оч хитрой фишке этой программы. А именно:
[Ссылки могут видеть только зарегистрированные пользователи. ]
В выделенном мною (красным прямоугльничком) поле ввести значение нуждающееся в переводе (при вводе хекс-значения - галочка Hex есть, при вводе десятичного значения галочки нет)... и... поставить или убрать соответственно галочку! Усе. Число переведтся в выбранную СС.
Запись хекс значения
Трудная часть закончилась. Теперь начнется АД. Дело в том, что все числа хранятся в "неправильном" порядке. А именно задом-наперед.
Для того, чтобы нам правильно вписать число в память, нужно проделать несколько простых действий:
Разбить наше с вами хекс число на пары. Начинать с правого конца. Для примера я возьму длинное число:
Код:
009624D4
В итоге получаем:
Код:
00 96 24 D4
Если чисел нечетное количество, к примеру 3Е8, то оставшееся одинокое число (оно всегда должно получаться слева) дополнить ноликом. 03 Е8.
Так же замечу, что если вам известо, что в данной области памяти хранится число определенного размера (к примеру 4 байта), а цифорок даже по прикидкам "на глаз" слегка меньше, то надо дописать нолики до этой размерности. На примере того же числа: 00 00 03 Е8.
.
Поменять байты местами. Т.е. последний станет первым, предпоследний - вторым и т.д. В нашем случае получаем:
Код:
D4 24 96 00
Для второго числа:
Код:
Е8 03 00 00
.
Полученную последовательность спокойно вписывать в память.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для получения правильного значения в 10 СС делаем все в обратной последовательности (от пункта 3 к пункту 1).
Незнанием этого "момента" объясняются многие косяки юзеров по типу: "ААА!! Изменил этот пакет и меня выкинуло!!!" Ни для кого не секрет, что первые два байта в пакете (в трафике РФ) - его длина в хекс.
Первые два байта - 12 00. При правильном переводе в 10 СС мы получим длину равную 18. Подсчитав число байт, убедимся, что значение верное. Дык вот. При изменении длины пакета, длину тоже надо менять. При чем правильно, а не тупым переводом из 10 СС в хекс.
На этом спешу закончить.
__________________________________________________
Все (не считая нубских) вопросы оставляйте тут. По мере возможностей буду деать FAQ. Вопросы типа: "Все сделал как ты написал - ничо ни работаит!" и прочие нубские будут удаляться. Расписывать еще (!) подробнее я не собираюсь, ибо считаю что получится некое неуважение к форумчанам (типа ваще для дибилоф).
Читал ету ****ь 20 минут. нех*я не понял. вообще что ето такое и нах*й оно нужно??) обьясните норм языком))