Сейчас на форуме: Adler, Rio, vsv1, site-pro (+8 невидимых)

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


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 04:33 · Поправил: Модератор
· Личное сообщение · #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

Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 21 мая 2017 04:58 · Поправил: shellstorm
· Личное сообщение · #2

Как в оффтопе и писал о проблемы на современных мониторах то и увидел. Все мелкое и мыло, но интуинтивно анпакми asprota распаковал, не упало. Теперь к багам к тем которые успел затестить с такими шрифтами, колесо мышки работает в одну сторону, независимо от того куда его крутить, список все равно крутится в одном направлении.
update:Прогнал на утечки парой тулов, алертов нет. Это уже не баг а пожелание, сделать открытие таргета через ярлык, сейчас этого не умеет, что очень не удобно и думаю не только мне.

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


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 21 мая 2017 05:02
· Личное сообщение · #3

А почему без сурков ?

Добавлено спустя 8 минут
reversecode

Скролл робит в одну сторону. Есчо не работают int3 - даже в дизасме нельзя точку останова поставить.
При выборе в меню reset" валится на #AV:



-----
vx


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


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 05:23 · Поправил: reversecode
· Личное сообщение · #4

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

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

в каком дизасме ? куда поставить ? там рядом слева поле, на нем два клика и ставится точка
или через команд лайн, или через менюшку

в трейсе у тебя да, поблема std::map который еще старый остался.. не дошли руки зарефакторить, тогда бы не падало
но как ты умудрился зафигачить это, я хз




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 21 мая 2017 05:28
· Личное сообщение · #5

reversecode

Я семпл открыл из соседней темы

Там не происходит останов на int3. Тогда я решил помочь и кликнул на int3 что бы поставить точку останова. Это тоже не помогло. Со скролом проблема была всё время, так что это не баг, а фича

-----
vx




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 21 мая 2017 05:29
· Личное сообщение · #6

reversecode пишет: прогу можно открывать драг анд дроп(должна работать не проверял)

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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 05:38 · Поправил: reversecode
· Личное сообщение · #7

ааа он на int3 не реагирует... это и в оригинальном сисере, буду разбираться и исправлять

скрол в оригинальном работал, это я накосячил что не скролится вниз

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



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 21 мая 2017 06:01
· Личное сообщение · #8

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

Все давно украдено до нас.
Там в примере уже готовая функция.
https://msdn.microsoft.com/en-us/library/windows/desktop/bb776891.aspx



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 21 мая 2017 12:18 · Поправил: Veliant
· Личное сообщение · #9

Upd... под XP крашится на загрузке любого exe



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 21 мая 2017 12:53 · Поправил: dosprog
· Личное сообщение · #10

0)
Нет. Под XP всё Ок.


1)
По поводу <int 3> - он просто её перепрыгивает.
Логичнее было бы как в SoftICE -
при "i3here=ON" реакция как на обычный брейкпоинт,
а при "i3here=OFF" полный игнор <int 3>.

И такой вопрос, чисто познавательный -

Вот версия 1.99. 1900.1201 (29 mar 2010)
Code:
  1. .a..         297121 18-Jun-2009 22:22 APIDEF.LIB
  2. .a..             38 21-May-2017 12:43 Histroy.lst
  3. .a..         621056 18-Jun-2009 22:22 MSDIA80.DLL
  4. .a..         145920 29-Mar-2010 22:55 SDWIN32.DLL
  5. .a..            624 26-Dec-2009 18:48 SYSER.CFG
  6. .a..         401408 18-Jun-2009 22:22 SYSER.DAT
  7. .a..        1633280 29-Mar-2010 22:54 SYSER.EXE     <-- Размер 1'633'280 
  8. .a..         634880 18-Jun-2009 22:22 WISP.DAT

А вот ребилд:
Code:
  1. ....(dir)         0 21-May-2017  8:24 Plugin
  2. .a..         297121 18-Jun-2009 23:22 APIDef.lib
  3. .a..           4403 21-May-2017  8:18 EXELAB.TXT
  4. .a..         960075 21-May-2017  8:12 NEWSYSER.RAR
  5. .a..         118784 21-May-2017  4:21 sdwin32.dll
  6. .a..            612 10-May-2017  8:07 Syser.cfg
  7. .a..         401408 18-Jun-2009 23:22 Syser.dat
  8. .a..         663552 21-May-2017  4:21 syser.exe     <-- Размер 663'552
  9. .a..           2232 21-May-2017  4:21 syser.lib
  10. .a..            208 10-May-2017  8:07 SyserColor.cfg
  11. .a..         634880 18-Jun-2009 23:22 Wisp.dat


За счёт чего удалось считай втрое уменьшить размер EXE-ка?


-----------------------------------------------------------------
2)
Дальше такой момент - хотелось бы иметь возможность загрузить отлаживаемый файл,
задав его в аргументах командной строки.
Odbg такое умеет, - оригинальный Syser 1.99 нет.
Ребилд тоже.

3)
Допустим, отлаживаемая программа отработала и завершилась.
Перезагрузить её по новой не получается - клавиша не назначена,
а пункт в меню "Reset" неактивен.
Так же ведёт себя и оригинальная версия 1.99

4)
Падает при нажатии на кнопку Option->"Debugger Select"->"Plugin".
Иногда падает, иногда не падает..






Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 21 мая 2017 13:05
· Личное сообщение · #11

dosprog пишет:
Дальше такой момент - хотелось бы иметь возможность загрузить отлаживаемый файл,
задав его в аргументах командной строки.

ну jmp -2 еще никто не отменял.. а вообще я кода сисер использовал.. прогу восновном останавливал на срабатывании обращения к какойнить АПИ..

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 21 мая 2017 13:09
· Личное сообщение · #12

Нет, jmp $-2 это к вопросу об <int 3>,
а загрузка из командной строки то имелось в виду принятие аргумента-имени отлаживаемой программы из строки-комады запуска, например:
C> Syser.exe mytest.exe




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 13:55 · Поправил: reversecode
· Личное сообщение · #13

int 3 уже работает, реакция как ольке, останавливается на следующей инстр после int3
ring3 вообще не умела этого, я поглядел в ring0, таки да, там есть i3here
ну если что, добавлю и опцией

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

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

сейчас странный баг с reset
если делать close open файла в ручную все ок
а если программно быстро, то где в дебаг ядре не цепляются регистры и в итоге краш на нул реф
думаю или sleep вставить между close open
или добавлять доп проверку на ретурн коде еррор, и смотреть .... почему винда после close не отдает контекст

Добавлено спустя 7 минут
1.99. 1900.1201 точно 1 ? закинь на фо
у меня последняя
1.99. 1900.1200


пардон, тоже есть 1201, как я ее просмотрел...




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 21 мая 2017 14:11 · Поправил: Vamit
· Личное сообщение · #14

Сразу скажу что материал ещё не смотрел, но несколько вопросов имею...
х64 есть или только х32?
А SDK (PDK), для написания плагов есть? Если да, то имеется ли в функционале асм и дизасм?

-----
Everything is relative...





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 14:28 · Поправил: reversecode
· Личное сообщение · #15

x64 надеюсь будет, как повезет в жизни
дизасм есть, в сдк нет,
в сдк только дизасм длин
асм нет, но есть возможность его дотянуть и потом выставить в сдк

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

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

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



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 21 мая 2017 15:39 · Поправил: Veliant
· Личное сообщение · #16

Память немного течет в функции 40D140

Аллок
Code:
  1. 0040D15C  |.  68 00140000   PUSH 1400
  2. 0040D161  |.  89B7 68010000 MOV DWORD PTR DS:[EDI+168],ESI
  3. 0040D167  |.  03D8          ADD EBX,EAX
  4. 0040D169  |.  E8 72450500   CALL malloc
  5. 0040D16E  |.  8BE8          MOV EBP,EAX
  6. 0040D170  |.  83C4 04       ADD ESP,4
  7. 0040D173  |.  85ED          TEST EBP,EBP
  8. 0040D175  |.  896C24 10     MOV DWORD PTR SS:[ESP+10],EBP
  9.  


Увеличение указателя (происходит в цикле)
Code:
  1. 0040D3FB  |.  834424 10 14  |ADD DWORD PTR SS:[ESP+10],14
  2. 0040D400  |.  8B6C24 10     |MOV EBP,DWORD PTR SS:[ESP+10]


Очистка
Code:
  1. 0040D458  |> \8B6C24 10     MOV EBP,DWORD PTR SS:[ESP+10]
  2. ...
  3. 0040D470  |.  55            PUSH EBP                                 ; /Arg1
  4. 0040D471  |.  E8 12410500   CALL free                                ; \syser.00462CDB


Из-за этого на моей XP система кидает access violation, читая неверный указатель

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


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 15:57
· Личное сообщение · #17

да поправил, это чтения импорта с pefile, странно что на др системах не падало



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 21 мая 2017 16:07
· Личное сообщение · #18

reversecode пишет:
размер.. ну так оригинальный еще и соурс дебагинг умеет

На это можно не отвлекаться, имхо.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 16:09
· Личное сообщение · #19

обновил шапку
1607 210517
add handle int 3
fix mouse scroll
fix memory leak PEFile read import



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 21 мая 2017 16:27 · Поправил: dosprog
· Личное сообщение · #20

"Tools"->"Soft keyboard"
- при закрытии (крестом) окна клавиатуры - падает.

Набранный комментарий в поле комментариев виден только в текущем положении окна кода.
при скроллировании кода комментарий пропадает.
(И он должен, наверное, где-то сохраняться для последующих запусков??).

Эхх.. Там работы туева хуча, чтобы вышло что-то путное..




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 16:42
· Личное сообщение · #21

dosprog
плавающий баг, может поймаю его все таки,
выше класса клавы объявлен как раз класс плагинов, который раньше валился
где то выход за границы массивов и память портится по всем классам вниз...

нужен какой то мемори сантинизер что ли, только попроще в использовании

Добавлено спустя 12 минут
да комменты не работают, доставалось самое основное и нужное,
многое пустует, меню итд



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 21 мая 2017 16:55 · Поправил: dosprog
· Личное сообщение · #22

Понятно.

Ну, главное, движок заработал.
) А колёса то и потом приделать можно. А можно и без них пока






Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 21 мая 2017 17:49
· Личное сообщение · #23

reversecode пишет:
нужен какой то мемори сантинизер что ли, только попроще в использовании

Могу предложить этот --> Link <--, простой в использовании и детектит норм. Только написал бы сначала чем проект компилишь.

-----
Everything is relative...





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 17:58
· Личное сообщение · #24

никаких секретов нет, все консоль

--> Link <--
мейк файл простенький для консоль компиляции
https://pastebin.com/7zU7859j


нужен даже не мемори сантинизер, а типа bound checker, кажется в llvm только появилась



Ранг: 15.5 (новичок), 21thx
Активность: 0.040
Статус: Участник

Создано: 21 мая 2017 17:59
· Личное сообщение · #25

dosprogdosprog пишет:
Вот версия 1.99. 1900.1201 (29 mar 2010)


reversecodereversecode пишет:
пардон, тоже есть 1201, как я ее просмотрел..


друзья, у сиськи посдедняя версия это 1.99. 1900.1220




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 18:00
· Личное сообщение · #26

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

Добавлено спустя 2 минуты
VanHelsing пишет:
друзья, у сиськи посдедняя версия это 1.99. 1900.1220

ашибка да, не 1201, я циферку забыл

syser ring3 1221
я уже нашел и проверил, просто кто то не очень оперативно все с сайта стягивал))
а ring0 да, 1220




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 21 мая 2017 18:09
· Личное сообщение · #27

Прогнать через мелкомягкий AppVerifier?




Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 21 мая 2017 18:18
· Личное сообщение · #28

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

Нет, этого явно мало, придется писать ещё второй дизасм на вашу строку)
Нужно хотя бы как в Идашном сдк, инструкция с типами и префиксами и все аргументы со всеми типами.

-----
Everything is relative...





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 мая 2017 18:26
· Личное сообщение · #29

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

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

Archer пишет:
Прогнать через мелкомягкий AppVerifier?

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

Vamit пишет:
Нет, этого явно мало, придется писать ещё второй дизасм на вашу строку)
Нужно хотя бы как в Идашном сдк, инструкция с типами и префиксами и все аргументы со всеми типами.


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

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



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 21 мая 2017 18:56
· Личное сообщение · #30

reversecode пишет: нужен какой то мемори сантинизер что ли, только попроще в использовании

Норм https://software.intel.com/en-us/intel-inspector-xe, на трекерах можно найти.


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