Сейчас на форуме: Kybyx (+2 невидимых) |
eXeL@B —› Оффтоп —› syser - а он еще нужен? |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
Посл.ответ | Сообщение |
|
Создано: 26 декабря 2016 00:08 · Личное сообщение · #1 есть мысль себе в портфолио добавить хоть что то, что можно показать на паблик из всего что сделано или делается или будет делаться, почти ничего на паблик показывать нельзя вспомнил про Syser,его можно, могу восстановить соурсы ядра дебагера, которое общее для Ring3 и Ring0 (кто помнит у Syser два дебагера, ring3 и ring0, знают все только ring0, про ring3 мало наверное кто помнит, он был бесплатен) ну и сам Ring3 часть как рабочий дебагер, можно и всю Ring0, но мне это не интересно ну и все конечно на гитхаб собственно вопрос, а дальше это кому то интересно? подхватить,развивать итд, гуи дебагер для ядра еще живы ? |
|
Создано: 09 мая 2017 16:28 · Поправил: reversecode · Личное сообщение · #2 Code:
Code:
Добавлено спустя 10 минут Code:
Code:
| Сообщение посчитали полезным: shellstorm |
|
Создано: 09 мая 2017 19:01 · Личное сообщение · #3 |
|
Создано: 09 мая 2017 19:18 · Личное сообщение · #4 полторы суток назад подумывал уже забрасывать... диасм выглядел вообще не подьемным... итог да, в последнем сисере китаезы уже начали развивать x64 дизасм, вроде даже как то работает но в сисер он еще не адаптирован например в сисере везде 32 битные адреса и указатели, а в дизасм 64 битные пол дня думал как вытягивать таблицу опкодов, ида шный експорт на структуры фигню какую то выдает.. писать что то свое было лень... вобщем идц скриптом пол дня плясок к флагами и прочим что можно вятянуть с идц и таблица опкодов в 210 кил на си, сгенерена.... дело выглядит за малым... 1) интерфейс дизасма завести в гуи... 2) приделать загрузку файла... 3) и управление брекпоинтами доделать.. и можно уже что то пытаться запускать если дизасм x64 окажется законченным, то можно даже будет помечтать про syser-debugger-x64 правда перевести всю логику гуи на 64 битный размерность.. думаю легким не будет.. |
|
Создано: 09 мая 2017 19:33 · Личное сообщение · #5 Отрефакторить типы на кастомные и размер типов выбирать через #ifdef разрядность, в том же x64dbg так и сделано. Добавлено спустя 3 минуты Вот кстати на дизасм можно было и забить, технологически это не является чем то сложным, скорее рутина и для портфолио никак не отразится если возьмете любой другой современный двиг: xed, capstone, zyan, у последних двух интерфейсы по проще, а который по середине развивается активней. |
|
Создано: 09 мая 2017 19:42 · Личное сообщение · #6 ну это когда проект разрабатывается с нуля, и вдумчиво ставятся typedef тогда меняется только тип и почти вуаля... а когда у меня везде рав типы типа unsigned short unsigned long итд уникоде вайд чар был вообще unsined short пару дней назад перевел все на wchar_t вообщем это как на той великой картинке про три кружка, и выбор, быстрее, качественее, дешевле выбирать нужно что то одно вот если дотяну, то уже тогда проведу рефакторинг чистку итд я то и логику местами не сильно знаю, реверсю чисто код, что бы был логически правильным и чистым а потом уже по итогу буду вникать в акрхитектуру итд уже 1.5 метра, сорсов, это вместе с 200 килами опкодов... и еще рефакторинг std::map впереди.. без них удаления брекпоитов не будет работать.. Добавлено спустя 2 минуты я раньше писал, там дизасм прибит хорошо гвоздями но в целом он оказался легким... четыре функи и остальное таблица опкодов надстройка для дизасма(енжин в сисер) заумная, она там и символы тягает в дизасм, и красит его итд и понять как она работает без вытягивания всегда дизасма было не возможно..... Добавлено спустя 4 минуты лучшее портфолио это когда что то рабочее и функциональное)) если дело и дойдет до какого то пиара, то мало кому будет вообще интересно что там и как кто реверсил интересуются результатом, типа "сисер-реверс-работает-ух-ты" |
|
Создано: 09 мая 2017 19:49 · Личное сообщение · #7 reversecode пишет: надстройка для дизасма(енжин в сисер) заумная, она там и символы тягает в дизасм, и красит его итд Так вы восстановили интерфейсы, на сами таблицы можно было забить, просто обернув любой нормальный движок в этот интерфейс, чтобы по всему коду не переписывать всю работу с дизасмом. Добавлено спустя 2 минуты Ведь в дизасме кода всего ничего, все тянут как раз таблицы, тем более процессоры с тех пор немного расширили инструкции и уже на современных приложениях будут фейлы, тогда просто опкодов таких не было. Добавлено спустя 5 минут По поводу типов, студия умеет их рефакторить. Я собственно почему IDR переписывал на delphi, в builder нет инструментов рефакторинга от слова совсем, там тоже мешанина из типов была, после конвертация в builder, немного фиксов и все снова заработало. |
|
Создано: 09 мая 2017 20:00 · Личное сообщение · #8 |
|
Создано: 09 мая 2017 20:05 · Личное сообщение · #9 |
|
Создано: 09 мая 2017 22:37 · Личное сообщение · #10 дизасмы вообще не люблю, говнокод везде, даже хваленые капстоны и прочие пистоны из понравившихся мне это микрософтовский msdis*.dll лежит pdb, от нескольких,от популярного 110 версии, и сильно помоднее уже не помню номер, все мечтал реверснуть в соурсы.. Добавлено спустя 2 минуты помечтаю чуток, .... что нужно от дебагера что бы обойти x64dbg ? так же не курсе какие там претензии и траблы с ольгой 32 и 64.... |
|
Создано: 09 мая 2017 23:29 · Личное сообщение · #11 reversecode пишет: даже хваленые капстоны так там код едва превышает размеры hello world, выкинуть crt хлам, а остальное и так нормально, таблицы генерируются автоматикой. reversecode пишет: что нужно от дебагера что бы обойти x64dbg ? достаточно не зависать при каждом чихе и падать тоже не желательно, вот с этим у x64dbg все очень плохо. пока игрался, у меня выросла гора крашдампов которые толсто намекают на расстрел памяти. вот api для плагинов там вполне годное в плане продуманности, хотя некоторые интерфейсы не мешало бы вынести пользователям, но это и самом не сложно сделать, там функции собраны в таблицы, нужно лишь дописать экспорты, еще не помешало бы сменить тему у сисера на что то темное или более нейтральное чем вырвиглазная голубизна, азиаты в этом смысле живут в альтернативной реальности и у них чувство прекрасного отличается от чувства прекрасного остальной части человечества. |
|
Создано: 10 мая 2017 00:00 · Личное сообщение · #12 Так цвета там меняются, в оригинальном сисере там же настройки есть , цвета красятся как хотят но выбор такой цветовой палитры думаю появился не зря. у сисера мелковатый фонт поэтому чуть другое и уже плохо видно хотя взял сисер 2005 года там совсем светлая гамма, светлосиний и белый где то недавно помню Vamit отписывал на форуме почему ему 64 версия не подошла, для вмпрота... и прочие минусы... |
|
Создано: 10 мая 2017 00:26 · Личное сообщение · #13 reversecode пишет: Так цвета там меняются, в оригинальном сисере там же настройки есть , цвета красятся как хотят Это я знаю, имел ввиду сделать тему по умолчанию или выбор тем, сделать штуки три встроенные, а кому не нравится пусть сами делают. reversecode пишет: но выбор такой цветовой палитры думаю появился не зря. у сисера мелковатый фонт Вот это тоже нужно решать, учитывая все эти ultra hd и размеры современных мониторов. reversecode пишет: где то недавно помню Vamit отписывал на форуме почему ему 64 версия не подошла, для вмпрота Недавно снимал говнопрот в нем же, в принципе там антиотладки практически нет, поэтому все относительно спокойно, только сам отладчик задумчивый, бряки на память вообще странно работают, бывают раза с десятого устанавливаются или устанавливаются только из контекстного меню, срабатывают тоже не всегда, хз в чем дело, не разбирался. На больших файлах поиск строк лучше не запускать, дабы не лицезреть зависший UI несколько минут. Бывает иногда пропускает переходы, жмешь F8 и оказываешься в совершенно неожиданном месте, не там где должен, иногда зависает на бряке, не идет дальше по F8 пока не уберешь бряк, причем файл чистый, никакой антиотладки или чего то подобного. Хватает там странного, учитывая, сколько переходов делает говнопрот, думаю не удивительно, что Vamit на него плюнул. |
|
Создано: 11 мая 2017 16:34 · Личное сообщение · #14 |
|
Создано: 11 мая 2017 17:49 · Личное сообщение · #15 |
|
Создано: 11 мая 2017 18:39 · Личное сообщение · #16 |
|
Создано: 11 мая 2017 18:51 · Личное сообщение · #17 |
|
Создано: 11 мая 2017 19:45 · Личное сообщение · #18 та да.. может в кой то век кто то сделает нормальный человеческий дебаггер... как я упарился с идой что бы сделать простые действия молодцы китаезы, очень удобно и правильно делали можно и из регистра по кнопке мыши открыть дамп и из стека, и вотч комплексный ввести плять как в иде открыть дамп на переменной вотча ? или как открыть в окне стека функу которая там видно я упарился искать, ни так ни этак ))) приходится тратить много времени на копирования или запоминания в уме нужных адресов в дампе что бы смотреть данные... хотел на скорую исправить еще сисероский баг, при котором если ресетишь дебаг то приложение так и остается висеть в зомби... подебажил так и не понял запускается через CreateProcessA пускается и отладочный треид потом все корректно тушится, даже трейд выходит нормально а гребанное приложение которое отлаживали так и остается висеть в зомби.... фантастика какая то... пробежался по сорсам титана и иды сервера... все теже криейт процесс и терминейт добил подсветку... надеюсь дальше будет все чуть быстрее понабивать окна вотча,стеквью, еще есть там окошко трейса по регистрам, синхронку по кнопкам.. ах ну да самое главное, команды степ трейса)) а то сейчас пока только запуск и стоп Добавлено спустя 18 часов 30 минут вроде разобрался с зависшим отлаживаемым процессом ... в сисере сначала килялся процесс а потом делался резюме трейд в итоге процесс висел как зомби.. даже другим отладчиком нельзя было подцепиться... поднял функу резюме трейд выше киляния процесса и все заработало... странно конечно.. терм процесс должен был вроде похерить все и сам без вопросов... разраб китаец кстати был один из сильных сис программеров, разобраный oreans.rar который гулял в 2006 году в нете, это его |
|
Создано: 12 мая 2017 15:29 · Личное сообщение · #19 |
|
Создано: 12 мая 2017 15:33 · Личное сообщение · #20 на нем стоит ТФ флаг, так что даже отпустив его вроде страшного ничего не должно случится хотя облазил и титан и иду в сорсах трейса, и еще несколько проэктов по гитхабу и гуглу везде все одинаковое Добавлено спустя 3 часа 20 минут я ору.... нужно пробежаться по void * буферу как байтовому, и найти байты СС думаете просто ? я тоже думал if ( ((char*)Buffer)[i] == 0xCC) и нихуя))) компилер берет из буфера байт и тянет его расширяя до знака в 32 битный регистр Code:
как я только не прыгал с этим условием, компилер все равно пихает его через 32 битный регистр.. в сисере все четко Code:
а щас вообще рыдаю))) шедевр МС компилера, помним что логические операции имеют высший приоритет(как меня учили в школе) Code:
в итоге Code:
убейте индусов в МС )))) Добавлено спустя 3 часа 35 минут ладно, нет времени играться, будет через Ж и логическое & 0xff |
|
Создано: 12 мая 2017 19:54 · Личное сообщение · #21 |
|
Создано: 12 мая 2017 19:58 · Личное сообщение · #22 |
|
Создано: 12 мая 2017 20:58 · Личное сообщение · #23 reversecode пишет: VS2008 Им тоже проверял, он же входит в компилятор пакетов для python. Нет, из за дебаг версии такого не должно быть, скорее всего где то выше по коду вы делали касты и они сломали граф предсказаний, поэтому ставится тип оптимального размера исходя из контекста. Добавлено спустя 4 минуты Оптимизатор плохо дружит с сишным кастом (type)value, желательно использовать плюсовый static_cast\dynamic_cast\etc, а еще желательно установить 2013 студию, там с stl местами сломана совместимость и при обновлении проекта в будущем могут возникнуть проблемы. |
|
Создано: 15 мая 2017 01:58 · Личное сообщение · #24 да там код простой до безобразия Code:
я еще помню был жесткий баг в ГЦЦ как миниум где функа с возвратом ushort -1 компилер выдавал -1 в 32 битном регистре ух я тогда напарился но выкрутился как то странно, то ли кастом к типу перед ретурном то ли константой объявлял глобально... уже не помню Добавлено спустя 10 минут а кто хочет попарится сис кодингом ? ринг0 вспомнить ?)) нужно понять что за данные приходят в фолтовом 14 трапе в сисере https://pastebin.com/wFLJAXmg интересует этот момент Code:
какие данные отдаются в функу ? судя по всему [ebp-8] это CR2 фолтовый адрес [eax] хз, но очень похоже на еррор в трапе а вот что такое в [ebp-4] и что выгребает функа _from_int_14_sub_62076 в этом последнем аргументе ? Code:
Добавлено спустя 5 часов 16 минут чудеса продлжаются в МС вообще тупые дятлы ? Code:
и хер там оно попадает в это условие опять ебучее расширения знака в 32 бита в сисере здесь тоже условие сломалось в итоге ни в сисере ни у меня перед фиксом. команда выполнить до первого рета, не работает |
|
Создано: 15 мая 2017 08:38 · Личное сообщение · #25 |
|
Создано: 15 мая 2017 14:16 · Личное сообщение · #26 |
|
Создано: 15 мая 2017 14:48 · Поправил: spinz · Личное сообщение · #27 |
|
Создано: 15 мая 2017 15:07 · Личное сообщение · #28 не не такого быть не может потому что в from_int_14 eax логически & 1 проверяется Code:
так что код ошибки в [eax] передается а вот сам eax ... и [eax+4] Добавлено спустя 1 минуту Code:
|
|
Создано: 15 мая 2017 15:17 · Личное сообщение · #29 |
|
Создано: 15 мая 2017 15:20 · Личное сообщение · #30 |
|
Создано: 16 мая 2017 08:02 · Поправил: spinz · Личное сообщение · #31 Ну вот давай разберём по шагам. Пусть после фолта указатель стека равен, например, 100 (десятичный формат). Тогда по адресу ss:100 находится код ошибки, ss:104 - EIP инструкции, вызвавшей фолт и т.д. Code:
Т.е. Code:
заталкивает в стек 104 и EIP инструкции, вызвавшей фолт |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
eXeL@B —› Оффтоп —› syser - а он еще нужен? |