Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+4 невидимых) |
eXeL@B —› Софт, инструменты —› ILSpector. NET assembly browser and decompiler, debugger, High and Low level Editor |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >> |
Посл.ответ | Сообщение |
|
Создано: 30 января 2015 16:57 · Поправил: Medsft · Личное сообщение · #1 NAME: ILSpector DESC: The best decompiler Last build: 25.03.2016 URL: Description: ILSpy (based on original latest ILSpy public version 2.2.0.1737) - -add CopyFullyQualifiedTypeName.Plugin -add OpCodeTableForm -add to treeview contextmenu: - strong name utility - rename class utility - Jump to EntryPoint - string viewer utility (search enable) - extension exeecute utility (reservation work enable) - search any text in decompileTextView - Find method call - Analyze. Reference calls positioning and highlight ("IL Code" view) - hexeditor methodbody utility (runtime compilation enable, two technologies save the result(High Level:recompile assembly and Low Level:Binary Patch(See results and work in Patch_table))) add to decompiletextview contextmenu: - replace instruction (High Level,need recompile to save assembly) - nop instruction (High Level,need recompile to save assembly) - reverse branch (High Level,need recompile to save assembly) - nop instruction (Low Level, no need recompile binary patch see Patch Table) - reverse branch (Low Level, no need recompile binary patch see Patch Table) Mono.Cecil -ignore null type (Read TypeDefinition) -ignore invalid parameter(Read MethodDefinition) -ignore invalid generic argument() -ignore invalid attribute (if (attribute.Constructor == null) continue;) -ignore invalid signature(GetSecurityDeclarationSignature) -fix handle null value in obfuscated assembly -add ToString for CustomAttributeArgument -add ToString for CustomAttributeNamedArgument -ignore null element(MemberDefinition) -avoid recursive declaringtype of some obfuscated assemblies,currently only one level checking -add AllMemberReferences(IEnumerable<MemberReference> GetMemberReferences) -add ElementTypeIntValue(ElementTypeIntValue) -add support to read/write directly from bytes(FromBytes) -Read reloc section, Contributed by Khiem Nguyen -add alternative "Save" technology modified assembly (support obfuscated assembly) Sorry for my bad English and WPF Need bug reports) | Сообщение посчитали полезным: redlord, Gideon Vi, djdram, zds, uncleua, Austerlitz, 4kusNick, nick8606, vovanre, verdizela, TryAga1n, v00doo, VodoleY, Alinator3500, soho, ZaZa, s0cpy, DICI BF, CyberGod, plutos, Deluser, SReg, zNob, raiser, Shubka75, JohnyDoe, Dart Raiden, Bronco, Hellspawn, neprovad, aleXela, HandMill, AKAB, sefkrd, Autokent |
|
Создано: 30 января 2015 23:14 · Личное сообщение · #2 |
|
Создано: 30 января 2015 23:33 · Личное сообщение · #3 |
|
Создано: 30 января 2015 23:37 · Личное сообщение · #4 |
|
Создано: 30 января 2015 23:55 · Личное сообщение · #5 |
|
Создано: 31 января 2015 00:00 · Поправил: vovanre · Личное сообщение · #6 |
|
Создано: 31 января 2015 00:28 · Поправил: sendersu · Личное сообщение · #7 |
|
Создано: 31 января 2015 18:59 · Личное сообщение · #8 |
|
Создано: 31 января 2015 19:12 · Личное сообщение · #9 По правому клику в IL режиме все-равно если кликнуть в любом месте окна с кодом - |
|
Создано: 31 января 2015 22:05 · Личное сообщение · #10 |
|
Создано: 31 января 2015 23:30 · Поправил: vovanre · Личное сообщение · #11 |
|
Создано: 02 февраля 2015 09:49 · Поправил: Medsft · Личное сообщение · #12 |
|
Создано: 03 февраля 2015 19:20 · Поправил: Medsft · Личное сообщение · #13 И так базовый функционал мода по видимому работает как надо,поскольку баг репортов(хоть каких) не наблюдается, и это хорошо. А руки то без дела лежать на столе не могут... И задумал я добавочки... Бывает так: смотришь на тело метода и ни хрена не понимаешь, что тут и о чем.. Control Flow во всех его вариациях. И назрело решение сделать деобфускатор тел методов но не так чтобы потом потребовалась рекомпиляция и не важно какой движок для этого используется моно или рефлекшен или днлиб.Рекомпиляция ведёт за собой в итоге.. как быэто.. после неё получается совсем другая ехе или длл. Этож еду понятно у разраба и исследователя) разные компиляторы...Так о чем я)) если предположить что тело обфускированного метода полюбому больше тела его оригинального собрата ТО если распутать метод собрать его заново и method body добить нулями до старой длины а в конце ret -- может вполне оригинальненько получиться. На выходе мы будемиметь бин патч массив который останется применить к оригинальной сборке. Задача ясна: за дело. Есть: - мой иль спай мод который жрет почти все - движок де контрол флоу который умеет еще и удалять лишние exception handler'ы, и не нужные бокал переменные оставшиеся от control flow -есть байт массив тела оригинального метода с его заголовком с адресом его размещения в файле - есть адреса и содержимое всяких там таблиц И теперь главный вопрос к знатокам Net: если я распутаю метод( как аксиому примем что после распутывания его размер меньше оригинального) при этом не буду ничего больше делать ...ренейм и всякая такая хрень мне нужно будет только поправить заголовок и ентри поинт метода? |
|
Создано: 03 февраля 2015 23:23 · Личное сообщение · #14 |
|
Создано: 04 февраля 2015 00:32 · Поправил: Slinger · Личное сообщение · #15 Эксепшн при выделении кода при использовании инструмента binery edit (low level). Но далеко не у всех. Обфусцированная сборка цели. |
|
Создано: 04 февраля 2015 12:54 · Поправил: SHADOW785 · Личное сообщение · #16 Не могу смотреть локальные переменные во время отладки. В сборке отсюда - В этой сборке такая панель не появляется. | Сообщение посчитали полезным: Medsft |
|
Создано: 04 февраля 2015 15:32 · Личное сообщение · #17 |
|
Создано: 04 февраля 2015 16:16 · Поправил: Medsft · Личное сообщение · #18 SHADOW785 пишет: Не могу смотреть локальные переменные во время отладки - исправлено. Последняя версия в раздаче от "build 04_02_15_17_14" | Сообщение посчитали полезным: SHADOW785 |
|
Создано: 04 февраля 2015 18:45 · Поправил: ZaZa · Личное сообщение · #19 Пожелания: 1. Закрывать все открытые окна в контексте ILSpy после закрытия основного окна (в частности, Mirage_table). 2. Рассмотреть возможность изменения значений переменных при дебаге. Очень помогает при отладке... 3. Закрывать процессы, открытые при дебаге, при закрытии основного окна. 4. Ограничить поле Rename'r (New name) до 100 символов (хотя бы)... Переполнить не удалось... Зачем изменяемое поле Old Name? ----- One death is a tragedy, one million is a statistic. | Сообщение посчитали полезным: Medsft, CyberGod |
|
Создано: 05 февраля 2015 15:21 · Поправил: Medsft · Личное сообщение · #20 |
|
Создано: 05 февраля 2015 20:31 · Поправил: ZaZa · Личное сообщение · #21 Баги: Пожелания: 1. String Viewer - при двойном нажатии мыши открывается метод, но нет позиционирования на строке. Очень хотелось бы, а вдруг метод большой. 2. Все окна, вновь создаваемые (в частности, Extension Execute) Code:
В идеале, конечно... Согласен, для некоторых окон не надо делать - String Viewer, Opcode Table (хотя и так хватает ширины)... 3. А можно ведь затемнить ту часть, что после имени метода идет (VA?) (типа: AboutBox1 @0200000a). 4. Прикрепить горячие клавиши на Rename'r (F2) и другие - общемировые (Analyze -> CTRL+A и т.д.) 5. Перестать защищать сборку IlSpy mod Medsft (Шепни в ЛС, где скачать не защищенную) 6. Хотелось бы увидеть функцию автоматической подсветки в окне decompiling. Выделил мышкой переменную/метку/значение, а она уже подсвечивается ниже и т.д. ----- One death is a tragedy, one million is a statistic. | Сообщение посчитали полезным: Medsft |
|
Создано: 05 февраля 2015 21:19 · Поправил: Medsft · Личное сообщение · #22 {1,2,3,4 }- надеюсь завтра нас ждёт сюрприз. 5.Enigma virtual box - не протектор, об этом написано у них на сайте))).По мне так гораздо удобней если все упаковано в один файл. Согласен плагины не цепляются НО: моно и сам илспай сильно модифицирован и писать плагины под данный мод не зная че к чему ...это высший дзен.Есть мысли как улучшить и чтото добавить- welcome! Я ж заранее извинился wpf не мой конек Добавлено спустя 12 часов 18 минут ZaZa пишет: -> Баг 1. Not PE File... <-- --- насмешил | Сообщение посчитали полезным: ZaZa |
|
Создано: 06 февраля 2015 18:26 · Личное сообщение · #23 |
|
Создано: 06 февраля 2015 20:04 · Поправил: ZaZa · Личное сообщение · #24 Зря убрал из меню "Rename'r". Если бы не написал, что по F2 переименовать можно - не догадался бы. Оставь в меню ссылку "Rename" с указанием горячей клавиши... Баги под названием 'Not PE File...' остались. P.S. Когда писал название, отвлекся, потому и Not PE получилось... ----- One death is a tragedy, one million is a statistic. |
|
Создано: 06 февраля 2015 20:48 · Личное сообщение · #25 |
|
Создано: 06 февраля 2015 21:17 · Поправил: ZaZa · Личное сообщение · #26 В архиве неисправная сборка. Причем, если в конце ткнуть на "Прервать", то больше сборку не запустить в debug... На сегодня, пока все ----- One death is a tragedy, one million is a statistic. |
|
Создано: 06 февраля 2015 22:24 · Личное сообщение · #27 |
|
Создано: 07 февраля 2015 16:29 · Личное сообщение · #28 Сегодня билда не будет. По поводу багов баг 3. Движок moda не предназначен для генерации кода проекта в целом (особенности взаимосвязанной работы моно и nrefactory) по отдельности пожалуйста хотите листинг класса сохранить на здоровье, для создания же проекта используйте рефлектор или оригинальный ilspy баг 2. Пожалуйста не используйте в качестве подопытной мыши при работе в моде, сам мод, он ведь немного запакован ))) баг 1. Помоему он просто ругается на отсутствие на компе каких то библиотек. Часть незначительных баг пофиксена. Очередной билд в понедельник. |
|
Создано: 09 февраля 2015 19:16 · Личное сообщение · #29 |
|
Создано: 10 февраля 2015 18:16 · Поправил: Medsft · Личное сообщение · #30 Some bugs found.File replace.Please reload. Last build 10_02_15_19_00 +change private to public member handler at work on Low level Project rename to "ILSpy NEXT" П.С. А почему ренейм проекта читайте вечером в моем блоге ))) Добавлено спустя 1 час 56 минут Мне задают вопросы.Только для русскоговорящего народонаселения. Отличия между Low и High level редакторами: Если Вы делаете патч в low режиме в итоге Вы получаете Patch_table таблицу патчей где Первое число смещение от начала файла второе число старое значение третье число новое значение эти патчи можно сохранять читать заново и наконец применять к сборке.Как применяется патч сборка вычитыаается в простой binaryreader и по смещению происходит замена байт ---- простой и пожалуй наиболее действенный байт патчинг Теперь о high levele "Ilspy NEXT" это уникальный инструмент одновременно с генерацией бин патча он производит перекомпиляции изменений как говориться в рантайм, для того чтобы исследователь мог сразу увидеть изменения которые он внёс в код. И при этом сохраняется возможность их сохранить, Нашим модифицированным движком, с полной рекомпиляцией сборки |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >> |
eXeL@B —› Софт, инструменты —› ILSpector. NET assembly browser and decompiler, debugger, High and Low level Editor |