eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: zmixa (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› new Syser Debugger by reversecode
<< . 1 . 2 . 3 . 4 .
Посл.ответ Сообщение


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 21 мая 2017 04:33 · Поправил: reversecode New!
Цитата · Личное сообщение · #1

история реверса в оффтопе кто не видел --> Link <--
благодарностей не надо,
багов наверняка там еще много, как собственных так и в процесса реверса, TODO тоже еще есть
но в целом уже можно запустить, трейсить, ставить бп, добавлять вотчи, даже плагины, итд

интересны моменты(багрепорты) когда дебаггер будет падать

x32/x64 https://www.sendspace.com/file/t4lpr5 - недоступна, в розыске последняя версия кто успел сохранить

4 июня 2017, 20:59:10
http://rgho.st/67jjLSRTg


1607 210517
add handle int 3
fix mouse scroll
fix memory leak PEFile read import

0413 230517
fix crash on delete watch item
improve terminate debug
add FlushInstructionCache on WriteMemory
start debug from cmdline

2046 230517
improve reset(reload the input file) (WO hotkey)

1528 240517
hide BP(CCh) bytes from HexView, show original value
colored BP(code,data) in HexView
done re PopupMenu on HexView (hotkey not tested), operation toolbar in TODO
done re command(edit,move,compare) memory

0203 250517
done re ModuleList window
done re ascii/unicode string context ref
fix env path by add manifest

2224 250517
fix crash without dbg plugin
first build x64

1813 280517
fix mouse wheel scroll on x64
fix scroll by UPbtn bar
add ALT+ hotkey
fix fit hexview on x64
fix hexview change addr on edit addr area
fix align stackview on x64
fix str sym ref on \t
add resolve ctx ref on r8-r15 CPU reg x64
improve PE loader for x64, for resolve import/export sym
fix select bytes on hexview for x64
add show EB line jmp ref
chg addr/offs represent on codeview

0731 290517
fix PE Loader for x64, to read import/export for hibase > 32bit, as example kernelbase.dll
done re sym command, allow show/add symbol/use it for set breakpoint
fix readpe onload file, for correct read sizeof file for x64
fix search module range and module info status for x64

1258 040617
fix disable load x86 on syser x64
fix fmt fit addr exception violation on syser x64
fix PID/TID status and expr var
fix fit addr tab in code/data view for x64
fix 'p ret' cmd, run to return
implement SDK menu api
done re process list window (attach work, detach from target at todo)
starting re peexplorer window

1559 040617
fix load SyserColor.cfg from old SyserOption.exe util https://www.sendspace.com/file/l7r3pw

2058 040617
improve highlight keyword

api и пример плагина в архиве дистрибутива

x32



x64

| Сообщение посчитали полезным: zNob, difexacaw, shellstorm, plutos, r_e, dosprog, SReg, DICI BF, sefkrd, HandMill, Veliant, daFix, Vamit, ELF_7719116, v00doo, VanHelsing, -Sanchez-, Abraham, mak, Hugo Chaves, raiser, vden, MasterSoft, MarcElBichon, nice, chessgod101, stnt, 4kusNick, ==DJ==[ZLO], VOLKOFF, ClockMan, freudz, Dazz


Ранг: 115.5 (ветеран)
Статус: Участник

Создано: 1 июня 2017 05:18 · Поправил: VOLKOFF New!
Цитата · Личное сообщение · #2

reversecode пишет:
но что ложится в fs там не показано


Под х64 FS:[0] уже не актуален, про что и написано в статье. Там все через ExceptionTable делается.
Эта таблица при компиляции записывается прямо в исполняемый файл и содержит смещения и длину всех функций + п-коды для "размотки" стека.

Когда происходит exception, система смотрит где он произошел и ищет структурку из таблички отвечающую за эту функцию.
Используя п-код отматывает стек и вызывает exception handler, который представляет само приложение (адрес записан в той же структурке), что бы тот дергнул деструкторы локальных объектов
По цепочке отматывает до нужного фрейма


PS

Был кстати тикет по исключениям, но насколько инфа оттуда будет актуальной в данном конкретном случае хз


Ранг: 256.3 (наставник)
Статус: Участник
Advisor

Создано: 1 июня 2017 05:56 New!
Цитата · Личное сообщение · #3

reversecode пишет:
а диасмит он так

та капстон тоже дизасмит шоколодно, только после асм двигов бокарезы.
так сорян, уведу немного топ в сторону..
VOLKOFF пишет:
Эта таблица при компиляции записывается прямо в исполняемый файл и содержит смещения и длину всех функций + п-коды для "размотки" стека.

с такой глубиной структуры, табличка просто лютая.
пока не понял,в моём частном случае, защита её перелопатила или дописала, но порядка 60000 рва указателей для beginaddress&endaddress скриптом восстановил, а вот c unwindinfo пока не вкурил, как добраться до chained.
насколько понял эти данные в структуре указывают на пролог.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 2 июня 2017 13:36 New!
Цитата · Личное сообщение · #4

есть в оригинальном сисере плагин отладки через ком порт, думаю и его добавить
типа через виртуалку можно ринг0 дебажить... интересно это кому ? или все хотят сразу ринг0 дебаггер ?

| Сообщение посчитали полезным: Veliant, SReg


Ранг: 0.0 (гость)
Статус: Участник

Создано: 2 июня 2017 13:55 New!
Цитата · Личное сообщение · #5

reversecode пишет: типа через виртуалку можно ринг0 дебажить... интересно это кому ? или все хотят сразу ринг0 дебаггер ?

Зависит от plugins api, если оно будет полным и вменяемый чем windbg то будет многим интересно, у windbg апишки писали наркоманы и для наркоманов, чуть лучше системы команд.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 2 июня 2017 14:06 New!
Цитата · Личное сообщение · #6

предложения формируются от спроса)) откуда я знаю что кому надо в апи
минимальный комплект. пишем-читаем из отлаживаемого процесса
и добавляем свои комманды - есть
можно уже всякие плагины типа просмотр ПЕ структур по заданному адресу. писать
потипу того же windbg где помоему это все встроенно

Ранг: 0.0 (гость)
Статус: Участник

Создано: 2 июня 2017 14:23 New!
Цитата · Личное сообщение · #7

reversecode пишет: откуда я знаю что кому надо в апи

Вот если сравнивать olly, ida, x64dbg то идет по возрастанию, от самого плохого к лучшему, windbg вообще в список не попадает, ибо ад и черный властелин. Управление таргетом, чтение, правка в памяти, правка на диске, управление секциями и правами, возможность контролировать отладочный движок даже в мелочах, полный доступ к дизасму\асму с возможностью замены, управление гуи виджетами в том числе создание новых, остальное общественность сама напишет, главное, чтобы api были вменяемо названы и интуитивно понятны, излишних интерфейсов можно не бояться, кто пишет плагины все равно делает обертки функций с кодом который можно использовать повторно, хуже когда нужна мелочь, а ее нет или название такое, что никогда не догадаешься. Если все это затруднительно, можно вынести енжин в качестве плагина для ida. С куцым api не взлетит, учитывая, что для windbg есть обертки и есть упоротый скриптинг который немного скрашивает всю боль.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 2 июня 2017 17:01 New!
Цитата · Личное сообщение · #8

открыл в иде sdremote.dll, а там дырка от бублика

банальная перенаправлялка с-в ком порт

полагаю ее смысл был в чем то другом, сисер ring0 цеплялся в виртуальной машине на ком порт,
а через эту sdremote.dll можно было обращаться командами сисера к виртуальной машине с сисером

но даже в последней версии сисера, я не увидел что бы они задействовали этот функционал

Ранг: 564.4 (!)
Статус: Модератор

Создано: 2 июня 2017 17:21 New!
Цитата · Личное сообщение · #9

reversecode
Возможно это проксик для реализации любого типа соединения. Подменяешь длл и вуа-ля - дебажишь через сеть, например.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 2 июня 2017 18:33 New!
Цитата · Личное сообщение · #10

интерфейс дебаггера у него универсальный, прикрутить можно что угодно, даже удаленную отладку - если реализовать

но именно этот sdremote.dll я раскопал, все как я и сказал
сисер ring0, на отлаживаемой системе превращался с сервер, а эта длл это для юремодной консоли, давала возможность управлять сисером на отлаживаемой системе через компорт
все это есть в коде до 1.5(2007 год) версии сисера
там даже команда есть, SDServ для запуска этого сервера в сисере
а вот дальше, код почикали, а длл оставили

Ранг: 300.0 (мудрец)
Статус: Участник

Создано: 3 июня 2017 14:47 New!
Цитата · Личное сообщение · #11

reversecode, хотел бы реквестировать вынести в plugin api возможность получения processId, текущего threadId, доступ к DEBUG_EVENT из OnDebuggerPlunge, доступ к GUI API чтобы можно было создавать из плагинов свои "нативные" окна


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 3 июня 2017 15:13 · Поправил: reversecode New!
Цитата · Личное сообщение · #12

весь код дебаг цикла для win32 я уже публиковал
https://pastebin.com/LC9b0mmT
фиксы там есть, но все приблизительно так же и выглядит

pid tid думаю можно вынести, вопрос куда ? в plunge ? аргументами ?
выносить debug_event сомнительно, если я его вынесу в plunge, то это будет ring3
в ring0 такой структуры нет вообще, уже апи будет не апи
а код плагина должен быть универсален что бы можно было ничего в нем не меняя билдить и под ring3 и в будущем для ring0
гуи это хорошо, я бы рад, придумать бы еще как
логика гуи почти такая же как в winapi, будем посмотреть ...

Добавлено спустя 4 минуты
кстати баг обнаружился в последней версии, выполнить до ретурна, не пашет
сломал починкой ловли не своих int3 точек

Добавлено спустя 23 минуты
доступ к самому циклу дебаг евенета дать не получится
посему была мысль добавить список для ексепшинов, который можно наполнить для игнора

но сейчас апи вся туманна, пока нет ring0, переделывать ее по сто раз не очень хочется, а она должна быть универсальная


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 4 июня 2017 13:24 · Поправил: reversecode New!
Цитата · Личное сообщение · #13

обновил чуть чуть

1258 040617
fix disable load x86 on syser x64
fix fmt fit addr exception violation
fix PID/TID status and expr var
fix fit addr tab in code/data view for x64
fix 'p ret' cmd, run to return
implement SDK menu api
done re process list window (attach work, detach from target at todo)
starting re peexplorer window

Ранг: 0.0 (гость)
Статус: Участник

Создано: 4 июня 2017 14:05 New!
Цитата · Личное сообщение · #14

подсветка не очень, опции не работают, а в командах что то не нашел ничего подходящего для настройки палитры, не реализовано или это я не осилил поиск?
1. ядовито-кислотные цвета которые все перекрывают.
2. длину команды все же желательно определять, а не подсвечивать вхождения слова, ведь это все таки листинг, а не просто текст.

и да, с gui действительно все очень плохо, дольше пяти минут не могу сидеть за таким интерфейсом, начинают слезиться глаза, ладно мелкое, но жуткое мыло которые начинает двоиться через небольшой промежуток времени, при этом у меня нормальное зрение, пробовал совать манифесты для поддержки hidpi, но никаких изменений, в принципе ожидаемо, ведь контролы самостоятельно все отрисовывают.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 4 июня 2017 14:17 New!
Цитата · Личное сообщение · #15

подсветка оигинальная, если поклацать по хекс байтам опкодов, то она и на сам дизасм иногда попадает
так что там еще исправлять есть что

пункта палитры нет, еще не реализована, в оригинальном это вообще в ring3 не настаивается
но без изменения шрифтов вряд ли можно будет добиться приятных тонов на разные вкусы

Ранг: 0.0 (гость)
Статус: Участник

Создано: 4 июня 2017 14:34 New!
Цитата · Личное сообщение · #16

reversecode пишет: но без изменения шрифтов вряд ли можно будет добиться приятных тонов на разные вкусы

дело не только в тоне или шрифтах, а в самой отрисовке, в других инструментах я шрифты не сильно крупнее использую, но нет мыла, сделайте скрин и немного его расфокусируйте или пройдитесь немного блюром, вот примерно так вижу интерфейс. для сравнения скрин x64dbg
в старых qt приложениях у меня такая же фигня, поддержку hidpi не так давно туда добавили и после еще чинили. учитывая все в совокупности, размер шрифтов и мыло в итоге получается все очень плохо.
не требую прям вот все бросать и делать, только напоминаю, что есть такая проблема и даже самые крутые отладочные функции ее не решат.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 4 июня 2017 14:51 New!
Цитата · Личное сообщение · #17

на картинках фонт жирнее, вот и вся разница

так я знаю о этих проблемах, но здесь цена выбора, что перспективнее, впрыгнуть в ring0 или дотянуть до юзабилити что бы понравится всем))

вытянуть палитру планы есть, если есть интерес проверить ее прямо сейчас, можно взять оригинальную утилиту сисера по палитре, а потом закинуть файлик цветов в новый сисер
https://www.sendspace.com/file/l7r3pw

Ранг: 0.0 (гость)
Статус: Участник

Создано: 4 июня 2017 15:08 New!
Цитата · Личное сообщение · #18

reversecode пишет: на картинках фонт жирнее, вот и вся разница

как бы нет, у вас крупнее.

но в целом ясно, попробую поиграться с палитрой, мб хоть немного станет лучше. спасибо.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 4 июня 2017 15:27 New!
Цитата · Личное сообщение · #19

вопрос не в крупности, а в жирности, болд

палитра старого сисера новым не признается)) исправляю....

Добавлено спустя 33 минуты
1559 040617
fix load SyserColor.cfg from old SyserOption.exe util

Добавлено спустя 50 минут
разница в шрифтах, в сисере пикельный, в винде векторный
вон оно и притянее на глаз

Ранг: 0.0 (гость)
Статус: Участник

Создано: 4 июня 2017 16:25 · Поправил: shellstorm New!
Цитата · Личное сообщение · #20

reversecode пишет: вопрос не в крупности, а в жирности, болд

Нет, если выставить болд сравнение будет еще хуже и даже если поменять шрифт на какое нибудь консольное убожество времен доса, дело именно в отрисовке, увеличьте пикчи и посмотрите, как неравномерно отрисовываются шрифты и как начинают сыпаться. вот bold + upper:

вот наследие дос:

сам шрифт говно, но он нормально прорисовывается и не плывет, просто сам по себе ущербный и плохо читается.

update: Нет, второй шрифт растровый, но могу отрендерить хоть с какой нибудь 8-ми битки, результат будет точно такой. Я бы и не стал из за ерунды раздергивать клянча "тетрис".
для поддержки hidpi нужно немного покодить, само не заведется и правкой нескольких байт не исправить.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd464659(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ff684173(v=vs.85).aspx
хз, может будет свободное время и настроение.

reversecode пишет: все это подразумевает масштабирование, как я понимаю

Да, именно из за масштабирования получается мыло на мониторах с высоким разрешением и пиксельные дыры в шрифтах тоже по этой же причине, при нормально функционирующем hidpi сисер будет выглядит не хуже чем второй скрин с растровым шрифтом, с той лишь разницей, что в сисере шрифт не такой стремный.
У меня не только шрифт плывет, но и элементы гуя.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 4 июня 2017 21:09 New!
Цитата · Личное сообщение · #21

2058 040617
improve highlight keyword

Добавлено спустя 6 минут
все это подразумевает масштабирование, как я понимаю
а сисеровский гуи его не умеет вообще, нужно время, сидеть и разбираться, хотя по логике, умножать все пиксели на коэффициент, несложно

Добавлено спустя 5 часов 47 минут
shellstorm
сделал тестовый билд с грубым 2х увеличением
https://www.sendspace.com/file/pw3hiv
поиграйтесь и скажите, есть смысл двигаться в таком направлении ?

Ранг: 0.0 (гость)
Статус: Участник

Создано: 7 июня 2017 14:19 · Поправил: shellstorm New!
Цитата · Личное сообщение · #22

reversecode пишет: поиграйтесь и скажите, есть смысл двигаться в таком направлении ?

Стало еще хуже, такое же мыло, только теперь еще и не вмещается.

но так лучше видна проблема, немного увеличьте меню, видно, что все двоится, хотя и так видно, а долго сидеть за таким интерфейсом анрил.

update: да, поскольку проблему не решает, а лишь усугубляет, тоже самое мыло, только стало еще заметней. в целом это частая проблема с отрисовкой, github забит issues по поводу hidpi и мыла.
update: >то растянуть было проще, чем ковырять всю гуи на предмет увеличения

так увеличить я и сам могу, можно тупо пропатчить, а вот исправить неправильную отрисовку уже сложно. суть заключается в том, что приложение не может правильно определить количество точек и изображение сдвигается, оставляя артефакты, в итоге получается эффект мыла.


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 7 июня 2017 14:25 New!
Цитата · Личное сообщение · #23

это был StretchBlt вместо старого BitBlt
его можно правильно по дюймам с масштабировать, но если все равно не то что хочется, тогда смысла двигаться в том направлении нет..

Добавлено спустя 43 минуты
это была попытка пофиксить dpi совсем просто, покольку все рисуется на отдельном битмапе
то растянуть было проще, чем ковырять всю гуи на предмет увеличения
ясное дело что стретч растягивает в мыло

| Сообщение посчитали полезным: shellstorm



Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 6 июля 2017 19:06 · Поправил: reversecode New!
Цитата · Личное сообщение · #24

исходники утеряны на всегда вместе с криптодиском
даже не спрашивайте, самому печально

только если начинать с нуля, но делать это just for fun, нет ресурсов

| Сообщение посчитали полезным: ClockMan, MarcElBichon


Ранг: 507.2 (!)
Статус: Модератор

Создано: 6 июля 2017 20:49 New!
Цитата · Личное сообщение · #25

(c) что может один могут другие...


Ранг: 1002.1 (!!!!)
Статус: Участник

Создано: 9 июля 2017 17:42 · Поправил: reversecode New!
Цитата · Личное сообщение · #26

difexacaw
не надо писать во все темы подряд, для этого есть ЛС
потерялись не только эти сурки, но и еще один проект который я доделывал, и сейчас пытаюсь его начать с нуля
похерился крипто диск, вместе с его двумя бекапами которые я ежедневно обновлял

виню в этом винду вместе с хромом, последний постоянно лезет в память и крошит себя и другие приложения,
но на этот раз память похерили где то на уровне дров,ни с того ни с сего вросла активность sync ио для контейнера, я этому не придал значения, и забекапировал в бекапы,после подьема крипто диск монтировался но отказался открываться, винхекс показал что там все данные однообразная сеточка с одинаковой маской все 10гиг крипто диска

но в первую очередь виноват конечно и я,
не делал бекапов хотя бы с недельным интервалом, или хотя бы с месячным

есть бекап за .....февраль или март, но там мало сохранилось от сисера, только начало
так что как я описал в теме
только если начинать с нуля, но делать это just for fun, нет ресурсов

если кто готов пропонсировать реверс с нуля, в сумме больше $ 10к
буду делать снова

боль утраты не передать словами, кроме сисера там еще было много чего

Добавлено спустя 35 минут
была надежда что контейнер накрылся не весь а частично
поэтому в качестве тестов был скопирован старый контейнер, поверх нового, на 30%,
с надеждой что там только ключи или какие то сектора ntfs только похерелись

повторное монтирование опять показало что диск в итоге не видится системой как рабочий файловый
а winhex показал что вместо матрицы там присутствуют нормальные данные, но только на 30%

т.е. все оставшиеся 70%, та же матрица однообразных данных

так что восстанавливать нечего

mak
откройте и посмотрите донаты x64dbg, видите цифры ?
опенсорс тоже можно, но за другие деньги


Ранг: 633.9 (!)
Статус: Участник
CyberMonk

Создано: 9 июля 2017 19:52 New!
Цитата · Личное сообщение · #27

Сделал бы проект опенсорс, остались бы исходники .. появились бы и спонсоры и разработчики ...
reversecode пишет:

так что восстанавливать нечего


обсуждать уже тоже

| Сообщение посчитали полезным: Abraham

<< . 1 . 2 . 3 . 4 .
 eXeL@B —› Софт, инструменты —› new Syser Debugger by reversecode
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS