Мой блог по IT!
571
81
KeksovName сказал(а):↑Итак,незнаю можно ли но я решил создать свой блог по изучению Айти!
Не люблю это слово но как ещё описать плохо связанные вещи,например программирование и компьютерные сети?
Пусть будет айти!
Итак,дневник!Буду писать что узнал,общими словам и максимально упрощенно.
Что я узнал?Из книг по языку ассемблера и видеокурсов я узнал что:
1)Любая программа состоит из main а он обычно находиться(в памяти) по 401000 адресу.
Программа из main вызывает подпрограммы,и те в свою очередь используют стэк для локальных данных
и аргументов(в книгах описывается всё сложнее,я просто не нашёл нужную картинку).
Большая картинкаКод разбивается на простые блоки,которые IDA называет функции.
Функции связаны друг с другом,одна вызывает другую передавая параметры.
А та функция передаёт первой полученный результат.
Любая программа на 90% состоит из библиотечного мусора,который не имеет смысла изучать(это код из стандартных библиотек) и только 10% кода написано самим программистом и в них есть функционал.
Код ассемблера=простой код(относительно).
Самое важное это команда cmp и jxx условия.
Можно изучить код ассемблера,прочитав 1-2 книги.
2)Код СИ это код который использует упрощённую модель чем язык ассемблера.
Люди на СИ могут писать более абстрактно и образно,использовать формулы и никогда не сталкиваются
с языком ассемблера.
Код на СИ состоит из объявления переменных,циклов и формул по которым что-то высчитывается и выводится пользователю.
Конечно это очень простое объяснение но я выделил основное.
Чтобы написать код нужна формула,ввод-вывод через printf и scanf и в общем-то всё.
Очень трудно написать GUI.
3)Компьютерные сети!
Почитав книги,понял что всё связано на OSI!
По сети гуляют пакеты,которые состоят из несколько полей.
Поля определяют адрес(кому доставлять) и многие другие параметры,у каждого типа пакета есть свои поля.
Чтобы не ломать голову есть Wireshark там все поля определенны.
Анализируя пакеты,можно определить кому и что передаётся,если это не зашифрованно.
Посылая пакеты можно добиться определённых результатов,например если отловить\послать пакет в игру-персонаж в игре будет двигаться
вперёд.
Вся сеть делиться на несколько видов WAN,LAN(локальная сеть) и так далее.
Разные протоколы=разный набор пакетов и полей в них.
Описания протоколов в RFC.
А смысл какой?Смысл как известно в свободе,можно изучать чужой код и пытаться понять что он делает-если он зашифрован или закриптован(а это ггвп)-изучать в мониторах активности(Process Monitor)
и Wireshark.
Вообще любой софт(для изучения) лучше запускать в VMware(в виртуальной системе) а не на своём компьютере.
Всё работает также но основная система в безопасности.
Ну вот я вкратце описал,для первого поста пойдёт я думаю.
Кто-то скажет это просто набор текста а я отвечу-это самое общее,нельзя описать сложную тему за одну страницу текста.
Надеюсь у людей возникнет желание изучать айти дальше самостоятельно.
Нажмите, чтобы раскрыть...Молодец, вторую сессию в своей шараге по проф предмету закроешь
KeksovName сказал(а):↑Ещё очень красивая картинка,сборка ядра.
Нажмите, чтобы раскрыть...тебе пункт в меню строчкой ниже надо
KeksovName сказал(а):↑Да за что дизлайки-то?
Нажмите, чтобы раскрыть...возможно за то, что исследователь-реверсер с многолетним опытом не осилил примитивную задачку из 10 коммента
BrightFuture сказал(а):↑тебе пункт в меню строчкой ниже надо
возможно за то, что исследователь-реверсер с многолетним опытом не осилил примитивную задачку из 10 коммента
Нажмите, чтобы раскрыть...Да я за неё и не брался!
Вот яшечка доснимет свой видеокурс и вот тогда всё станет яснее.
Не люблю решать какие-то задачи,особенно если я их сам не выбираю.
Да и потом обычно задача-это скачать файлик,проверить его на пакеры,запустить в VMware
и там отлаживать.
Задачи с хэшами или в хекс-виде я не решал.
KeksovName сказал(а):↑Да я за неё и не брался!
Нажмите, чтобы раскрыть...там на 3 минуты делов если че
KeksovName сказал(а):↑Да и потом обычно задача-это скачать файлик,проверить его на пакеры,запустить в VMware
и там отлаживать.
Нажмите, чтобы раскрыть...ну допустим. проверяешь на пакеры, там условный safeengine, допустим с включенными antivm/anti api hooks/integrity check/code mutation Ваши действия?))
KeksovName сказал(а):↑Задачи с хэшами или в хекс-виде я не решал
Нажмите, чтобы раскрыть...ты снова прочитать не осилил что нет там хешей? в хексе оно компактнее лишь, но дизассемблер для лохов, да?
штош, сдизасмю за вас
16179c58662500010f85f10000000x00000000 1 16 push ss
0x00000001 1 17 pop ss0x00000002 1 9c pushfd0x00000003 1 58 pop eax0x00000004 4 66250001 and ax, 0x1000x00000008 6 0f85f1000000 jne 0xff
31c0fec0c1e021f7d00f20e321c30f22e30x00000000 2 31c0 xor eax, eax
0x00000002 2 fec0 inc al0x00000004 3 c1e021 shl eax, 0x210x00000007 2 f7d0 not eax0x00000009 3 0f20e3 mov ebx, cr40x0000000c 2 21c3 and ebx, eax0x0000000e 3 0f22e3 mov cr4, ebx
d9ee9bd97424f45883c00a900x00000000 2 d9ee fldz
0x00000002 5 9bd97424f4 fnstenv [esp - 0xc]
0x00000007 1 58 pop eax
0x00000008 3 83c00a add eax, 0xa
0x0000000b 1 90 nop
8d7e04f3a40x00000000 3 8d7e04 lea edi, [esi + 4]
0x00000003 2 f3a4 rep movsb byte es:[edi], byte [esi]
штош исследователь-реверсер с многолетним опытом, так легче?
BrightFuture сказал(а):↑ну допустим. проверяешь на пакеры, там условный safeengine, допустим с включенными antivm/anti api hooks/integrity check/code mutation Ваши действия?))
Нажмите, чтобы раскрыть...Подберу плагинчики для x64dbg чтобы нормально отлаживалось,хайдер поставлю.
Подключу старый компьютер и буду по строчке изучать код-пытаясь понять его смысл,запущу-сниму дамп чтобы засунуть его в IDA.
Хотя компьютер целый жалко,вдруг там MBR загрузчик или ещё какая-нибудь низкоуровневая *цензура*
BrightFuture сказал(а):↑ты снова прочитать не осилил что нет там хешей? в хексе оно компактнее лишь, но дизассемблер для лохов, да?
штош, сдизасмю за вас
16179c58662500010f85f10000000x00000000 1 16 push ss
0x00000001 1 17 pop ss0x00000002 1 9c pushfd0x00000003 1 58 pop eax0x00000004 4 66250001 and ax, 0x1000x00000008 6 0f85f1000000 jne 0xffНажмите, чтобы раскрыть...Ну здесь:
заталкивается в стэк ss
из стэка забирается ss
Eflags копируется в eax
jne???Бред какой-то!Что он проверяет?Тут же нету cmp или похожей инструкции.
BrightFuture сказал(а):↑31c0fec0c1e021f7d00f20e321c30f22e30x00000000 2 31c0 xor eax, eax
0x00000002 2 fec0 inc al0x00000004 3 c1e021 shl eax, 0x210x00000007 2 f7d0 not eax0x00000009 3 0f20e3 mov ebx, cr40x0000000c 2 21c3 and ebx, eax0x0000000e 3 0f22e3 mov cr4, ebxНажмите, чтобы раскрыть...Тут обнуляется eax а в предыдущем куске кода в нём был EFLAGS значит это разные куски кода.
Или что-то не так с кодом.
К EAX(младшей части)добавляется один потом сдвиг вправо на 21 и not eax.
Потом mov ebx(ebx раньше не использовался)..чтоо?Что он копирует?
Очевидно что там сейчас мусор-ведь он раньше не использовался.
И то что дальше бессмысленно,ведь в ebx мусор и копировать он будет мусор.
BrightFuture сказал(а):↑d9ee9bd97424f45883c00a900x00000000 2 d9ee fldz
0x00000002 5 9bd97424f4 fnstenv [esp - 0xc]
0x00000007 1 58 pop eax
0x00000008 3 83c00a add eax, 0xa
0x0000000b 1 90 nop
Нажмите, чтобы раскрыть...Использует xmm регистры но не хватает куска кода,где в xmm что-то копируется.
Сейчас там мусор,запрет прерываний.
Вытаскивается значение из стэка в eax и складываеться с 10.
Потом nop.
BrightFuture сказал(а):↑8d7e04f3a40x00000000 3 8d7e04 lea edi, [esi + 4]
0x00000003 2 f3a4 rep movsb byte es:[edi], byte [esi]
штош исследователь-реверсер с многолетним опытом, так легче?
Нажмите, чтобы раскрыть...Опять-же куска кода не хватает!Что в edi,что в esi?
Бессмысленный набор команд.
И копирование байта из еси в еди.
Ну и что я тут должен был понять?
Чтобы анализировать нужен полный код а не его кусочки,знать что и куда копируется(посмотреть в отладчике)
и ещё анализ в IDA.
KeksovName сказал(а):↑Подберу плагинчики для x64dbg чтобы нормально отлаживалось,хайдер поставлю.
Подключу старый компьютер и буду по строчке изучать код-пытаясь понять его смысл,запущу-сниму дамп чтобы засунуть его в IDA.
Нажмите, чтобы раскрыть...а как этот условный safeengine вм палит? какие антидебуги используются? (в последней версии, допустим) исследователь-реверсер исследовал? . удачи, кста, поизучать по строчке мутированный кодец, особенно если ты снизу примитивщину не осилил даж
KeksovName сказал(а):↑заталкивается в стэк ss
из стэка забирается ss
Eflags копируется в eax
jne???Бред какой-то!Что он проверяет?Тут же нету cmp или похожей инструкции
Нажмите, чтобы раскрыть...внатуре, есть десятки(сотни) инструкций модифицирущих флаги, но cmp нету знач провал
KeksovName сказал(а):↑Тут обнуляется eax а в предыдущем куске кода в нём был EFLAGS значит это разные куски кода.
Или что-то не так с кодом.
К EAX(младшей части)добавляется один потом сдвиг вправо на 21 и not eax.
Потом mov ebx(ebx раньше не использовался)..чтоо?Что он копирует?
Очевидно что там сейчас мусор-ведь он раньше не использовался.
И то что дальше бессмысленно,ведь в ebx мусор и копировать он будет мусор.
Нажмите, чтобы раскрыть...0x00000009 3 0f20e3 mov ebx, cr4
0x0000000c 2 21c3 and ebx, eax0x0000000e 3 0f22e3 mov cr4, ebxзапись до использования, внимательность?
KeksovName сказал(а):↑Использует xmm регистры но не хватает куска кода,где в xmm что-то копируется.
Сейчас там мусор,запрет прерываний.
Вытаскивается значение из стэка в eax и складываеться с 10.
Потом nop.
Нажмите, чтобы раскрыть...это прям совсем мимо, максимально
KeksovName сказал(а):↑Опять-же куска кода не хватает!Что в edi,что в esi?
Бессмысленный набор команд.
И копирование байта из еси в еди.
Нажмите, чтобы раскрыть...абсолютно неважно, куда указывает esi, можешь считать, что куда угодно
0/4 , кто бы сомневался, найс курсы, найс асм по 1-2 книге. сдаешся или хочешь еще подумать?)
KeksovName сказал(а):↑Чтобы анализировать нужен полный код а не его кусочки,знать что и куда копируется(посмотреть в отладчике)
Нажмите, чтобы раскрыть...все фрагменты абсолютно валидные, не связанные друг с другом, всех имеющихся данных достаточно для понимания
и еще, нафига пробовать пересказывать каждую инструкцию, вопрос о фрагменте целиком - что делает/зачем нужен/в чем смысл
единственная задача отладчика - получать частный случай состояния программы в произвольный момент выполнения. для понимания кодеца - в нем нет ни малейшей необходимости
эх, просто антиреклама курсов
BrightFuture сказал(а):↑а как этот условный safeengine вм палит? какие антидебуги используются? (в последней версии, допустим) исследователь-реверсер исследовал? . удачи, кста, поизучать по строчке мутированный кодец, особенно если ты снизу примитивщину не осилил даж
внатуре, есть десятки(сотни) инструкций модифицирущих флаги, но cmp нету знач провал
0x00000009 3 0f20e3 mov ebx, cr4
0x0000000c 2 21c3 and ebx, eax0x0000000e 3 0f22e3 mov cr4, ebxзапись до использования, внимательность?
это прям совсем мимо, максимально
абсолютно неважно, куда указывает esi, можешь считать, что куда угодно
0/4 , кто бы сомневался, найс курсы, найс асм по 1-2 книге. сдаешся или хочешь еще подумать?)
все фрагменты абсолютно валидные, не связанные друг с другом, всех имеющихся данных достаточно для понимания
и еще, нафига пробовать пересказывать каждую инструкцию, вопрос о фрагменте целиком - что делает/зачем нужен/в чем смысл
единственная задача отладчика - получать частный случай состояния программы в произвольный момент выполнения. для понимания кодеца - в нем нет ни малейшей необходимости
эх, просто антиреклама курсов
Нажмите, чтобы раскрыть...Давай я тебя развёрнуто отвечу!
Я не учился решать какие-то пространные задачи,вроде этой.
Есть практическая задача-я её решаю.
Также методы одни и те-же НУЖЕН exe файл,нужны строки в этом exe файле и некоторая дебюжная информация.
Что делает файл?Отслеживается в отладчике-по F7-F8 и не обязательно каждую команду изучать.
+Отслеживаются вызовы API функций.
Средняя программа состоит из сотен тысяч строк кода ассемблерного,и понимать каждый кусок куда это
В среднем задача такая:пишет программа unregister в окошко или что-то не работает,ищешь этот кусок кода и пытаешься изменить j(cond).
Не срабатывает?Ищешь код выше,в CALL выше или другие строки используешь,может в API что-то есть-например CreateFile какой-нибудь прямо в этот момент используется,ставишь бряк на него.
У крякера задача-снять защиту,чтобы программа была зарегистрирована.
И я не берусь за код,упакованный чем-то серьёзней чем ASPack.
Чтобы не %цензура% свой мозг всяким запутанным кодом-да и 99% людей за это(исследование Themida или Obsidium)не возьмутся.
И я успешно решаю задачи которые перед собой ставлю,потому-что задачи не сложные.
Если ты думал что я такой сижу и ломаю Themida или пишу эксплойт новый то извини-ты такого не найдёшь на всяких курсах,может это и антиреклама но там правда такого нету.
pyles сказал(а):↑у чела ограниченные возможности, в том числе и по голове, не обижай его
Нажмите, чтобы раскрыть...А ты тролль просто,попробуй переведи хоть один видеокурс-я его 2 года переводил!А что сделал ты?
Как выскочка из толпы,какая-то мелкая %цензура% которая говорит гадости-прикрываясь анонимностью в Интернете.
KeksovName сказал(а):↑Давай я тебя развёрнуто отвечу!
Я не учился решать какие-то пространные задачи,вроде этой.
Есть практическая задача-я её решаю.
Также методы одни и те-же НУЖЕН exe файл,нужны строки в этом exe файле и некоторая дебюжная информация.
Что делает файл?Отслеживается в отладчике-по F7-F8 и не обязательно каждую команду изучать.
+Отслеживаются вызовы API функций.
Средняя программа состоит из сотен тысяч строк кода ассемблерного,и понимать каждый кусок куда это
В среднем задача такая:пишет программа unregister в окошко или что-то не работает,ищешь этот кусок кода и пытаешься изменить j(cond).
Не срабатывает?Ищешь код выше,в CALL выше или другие строки используешь,может в API что-то есть-например CreateFile какой-нибудь прямо в этот момент используется,ставишь бряк на него.
У крякера задача-снять защиту,чтобы программа была зарегистрирована.
И я не берусь за код,упакованный чем-то серьёзней чем ASPack.
Чтобы не %цензура% свой мозг всяким запутанным кодом-да и 99% людей за это(исследование Themida или Obsidium)не возьмутся.
И я успешно решаю задачи которые перед собой ставлю,потому-что задачи не сложные.
Если ты думал что я такой сижу и ломаю Themida или пишу эксплойт новый то извини-ты такого не найдёшь на всяких курсах,может это и антиреклама но там правда такого нету.
А ты тролль просто,попробуй переведи хоть один видеокурс-я его 2 года переводил!А что сделал ты?
Как выскочка из толпы,какая-то мелкая %цензура% которая говорит гадости-прикрываясь анонимностью в Интернете.
Нажмите, чтобы раскрыть...не поверишь, смотрел курс на английском и изучал язык. первый совет бесплатный. остальные - платные
по поводу твоих проблем по здоровью - ты не понимаешь посыл, и мне впадлу тебе пояснять
ты обычная жертва "ошибки выжившего". увидел, как в интернете ОДИН чел с дцп пробился в айти.
а теперь подумай, сколько таких же, которые не пробились. и у непробившихся есть на то вполне объективные причины -
у них нет ФИЗИЧЕСКОЙ возможности
есть категория людей, которым хочется полутать зп в айти, но при этом мало работать.
но у них ЕСТЬ возможность вкатиться(скажем так уровень интеллекта)
а у многих даже гречневых такой возможности нет.
поэтому сижу и угораю над тем, что ты не можешь реально оценить свои шансы
pyles сказал(а):↑не поверишь, смотрел курс на английском и изучал язык. первый совет бесплатный. остальные - платные
по поводу твоих проблем по здоровью - ты не понимаешь посыл, и мне впадлу тебе пояснять
ты обычная жертва "ошибки выжившего". увидел, как в интернете ОДИН чел с дцп пробился в айти.
а теперь подумай, сколько таких же, которые не пробились. и у непробившихся есть на то вполне объективные причины -
у них нет ФИЗИЧЕСКОЙ возможности
есть категория людей, которым хочется полутать зп в айти, но при этом мало работать.
но у них ЕСТЬ возможность вкатиться(скажем так уровень интеллекта)
а у многих даже гречневых такой возможности нет.
поэтому сижу и угораю над тем, что ты не можешь реально оценить свои шансы
Нажмите, чтобы раскрыть...А у меня есть возможность?Ты хоть понимаешь что я списан со ВСЕХ счетов,брошен в утиль и так далее.
Я делаю ОЧЕНЬ большие успехи для инвалида.
Да и я не стремлюсь в Айти,где-то была гифка в профиле(но radikal.ru больше не работает).
Смысл в ней такой:мой путь бесконечен-за одной книжкой будет другая,за одним видеокурсом-другой.
И смысл только в том чтобы понять эти знания,использовать и..пойти за следующими.
И где-то я буду впервые(как в СИ)так и старичком(в крякинге) видевшим cracklab.ru десять лет назад.
Оставлю эту песеньку,жалко нету про паренька такой песни-во многом сходит с моими мыслями и чувствами.
saltoman сказал(а):↑Как вкатиться то? Ты хоть знаешь что такое И вентиль
Нука распиши мне алгоритм деления вентилями
Нажмите, чтобы раскрыть...Не знаю,И это логическая операция-ищи таблицу истинности.
Посмотрел два видеокурса "Введение в ревёрсинг с нуля используя Ollydbg"и мой перевод видеокурса от Лены151.
СпойлерПонял что часто можно изменить что-то в коде и программа будет работать по другому.
Вообще многое подчеркнул из этих видеокурсов,что всегда есть путь и можно зарегистрировать программу.
Хотя меня больше интересует обратная разработка,изучение кода программ.
Решил наконец-то разобраться с Linux'ом
Буду смотреть теперь видеокурсы по Linux,3 части(от Специалист.ру) а потом возможно я смогу понять и этот видеокурс.
Самый сложный курсЧто для меня Линукс?Это ещё одна операционная система отличная от Windows.
Изучая её я лучше пойму операционные системы в целом,был бы курс по Android я бы тоже посмотрел.
Да и по MacOS тоже,но таких нету.
Кстати,очень интересно как приложения используют API для своих целей.
В Windows и Linux абсолютно разные API и подходы,в Windows API это например MessageBoxA.
СообщениеОкноА,по названию понятно что оно делает(выводит сообщение).
А вот что с Linux я пока незнаю.
KeksovName сказал(а):↑Решил наконец-то разобраться с Linux'ом
Буду смотреть теперь видеокурсы по Linux,3 части(от Специалист.ру) а потом возможно я смогу понять и этот видеокурс.
Самый сложный курсЧто для меня Линукс?Это ещё одна операционная система отличная от Windows.
Изучая её я лучше пойму операционные системы в целом,был бы курс по Android я бы тоже посмотрел.
Да и по MacOS тоже,но таких нету.
Кстати,очень интересно как приложения используют API для своих целей.
В Windows и Linux абсолютно разные API и подходы,в Windows API это например MessageBoxA.
СообщениеОкноА,по названию понятно что оно делает(выводит сообщение).
А вот что с Linux я пока незнаю.
Нажмите, чтобы раскрыть...А я вот дрочить люблю. Коллеги значит.
Решил рассказать о своём пути!
Я давно хочу подружить Counter-Strike Source v90 с v34.
И я буду первым кто это сделает.
Так вот,я обошёл многие проверки в коде-просто добавив коду что он хочет.
В итоге я набрёл на последнее сообщение об ошибке,которого не было и я не придумал как его обойти.
СпойлерПример изменённого кода,всё просто-там было сложная проверка edx с каким-то значением.
СпойлерРаньше я боялся изменять код и пытался решить всё продвинутым способом,разгадав алгоритм с edx-откуда берётся начальное значение?Какие регистры важны?
Но потом я решил пойти другим путём и просто изменил код и проверка была обойдена.
Однажды я решу эту задачу(добьюсь чтобы версия 34 работала с версией 90)...но пока у меня нету идей что делать дальше.
Ещё одна мысль,многое зависит от того что ты изучаешь.
Вот я раньше не понимал код в отладчике и ребят с cracklab.ru,посмотрев туториалы и изучив книги по ассемблеру
стало всё более ясно.
А потом резко стало нужно знать язык СИ,дальше автор(видеокурса) писал программы на этом языке.
И я не понимаю высокоуровневых языков,как там можно что-то делать когда нету регистров и флагов процессора?
А условные прыжки?Да в высокоуровневых языков всё по другому.
И надо снова изучать эти языки(Си и Си++) и попытаться их понять,наверняка они крутые и важные.
Но это сложно,тяжело меняться.
KeksovName сказал(а):↑Закончился курс по СИ,решил выложить все исходники программ.
Нажмите, чтобы раскрыть...ну спасибо что не облако мейл
KeksovName сказал(а):↑Там примеры работы в СИ,работа с файлами и так далее.
Нажмите, чтобы раскрыть...то есть то что гуглится за 6 секунд?
KeksovName сказал(а):↑Также в архиве exe файлы,я не стал их удалять-это скомпилированные файлы.
Нажмите, чтобы раскрыть...спасибо что пояснил
KeksovName сказал(а):↑Закончился курс по СИ,решил выложить все исходники программ.
Там примеры работы в СИ,работа с файлами и так далее.
Также в архиве exe файлы,я не стал их удалять-это скомпилированные файлы.
Нажмите, чтобы раскрыть...
Есть хоть одна причина, по которой ты код выкладываешь на Яндекс диск?
BTW, забавно очень было читать про "поменять одно место в программе" в контексте того, что не надо понимать что код делает.
Renderhauer сказал(а):↑ну спасибо что не облако мейл
то есть то что гуглится за 6 секунд?
спасибо что пояснил
Нажмите, чтобы раскрыть...
ТС находится на каком-то новом уровне вкатывания, лично я в восторге.
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:2
Просмотров:3
-
Сообщений:16
Просмотров:20
-
Сообщений:10
Просмотров:12
-
Сообщений:1
Просмотров:2
-
Тимур Латыпов (2) 26 Apr 2024 в 18:49Сообщений: 7 26 Apr 2024 в 18:49
Сообщений:7
Просмотров:9