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

ВИДЕОКУРС 2017
выпущен 15 марта!


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

Сейчас на форуме: cevile, shura_k, 6oTBa, negoday (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› ILSpector. NET assembly browser and decompiler, debugger, High and Low level Editor
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
Посл.ответ Сообщение
Medsft

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

Создано: 30 января 2015 16:57 · Поправил: 16 мая 2016 13:40 Medsft New!
· Личное сообщение · #1

NAME: ILSpector
DESC: The best decompiler and debugger for the obfuscated .net assemblies.
Last build: 25.03.2016
URL: http://il4re.ml/


Description:
ILSpy (based on original latest ILSpy public version 2.2.0.1737)
-add debugger from the SharpDeveloper studio
-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)

| Сообщение посчитали полезным: neprovad, HandMill, uncleua, Austerlitz, 4kusNick, TryAga1n, VodoleY, s0cpy, SReg, zNob, raiser, DICI BF, CyberGod, plutos, Deluser, Dart Raiden, Shubka75, JohnyDoe, aleXela, Bronco, redlord, Gideon Vi, djdram, zds, nick8606, vovanre, verdizela, v00doo, Alinator3500, soho, ZaZa, Hellspawn

Medsft

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

Создано: 16 февраля 2015 16:57 · Поправил: Medsft New!
· Личное сообщение · #2

Some bugs found.File replace.Please reload.
Last build 16_02_15_17_54
+add new search mode (find any text in current decompiletextview)

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

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

Создано: 20 февраля 2015 16:41 New!
· Личное сообщение · #3

Some bugs found.File replace.Please reload.
Last build 20_02_15_17_34
+add bookmarks handler.
Medsft

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

Создано: 26 февраля 2015 10:28 · Поправил: Medsft New!
· Личное сообщение · #4

New release (build 26_02_15_10_56)
+ New type of search: Find method call. Shows the list of methods which call specified search pattern. For example, you specify getpub as pattern and get the list of functions which call GetPublicKeyToken method.
+ Analyze. Reference calls positioning and highlight ("IL Code" view). Initial release. Sample image(hxxp://higgs.rghost.ru/6ZJhpGTm5/image.png).
vovanre

Ранг: 91.4 (постоянный)
Статус: Участник

Создано: 26 февраля 2015 10:38 · Поправил: vovanre New!
· Личное сообщение · #5

Medsft, есть просьба. Можешь добавить одну функцию ->
Что бы при правом клике по переменной вместе со сворачивание и разворачиванием был пункт Анализ? (http://joxi.ru/V2Vnn34sqpLe2v)

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

Medsft

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

Создано: 26 февраля 2015 12:23 New!
· Личное сообщение · #6

vovanre пишет:
Можешь добавить одну функцию
помоему реализуемо и толково попробуем удовлетворить)

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

Medsft

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

Создано: 2 марта 2015 12:05 · Поправил: Medsft New!
· Личное сообщение · #7

Some bugs found.File replace.Please reload.
Last build 02_03_15_12_52 ("No critical")
+ add positioning cursor on execute line in debug ILCode mode.
+ add "Analyze" in "Folding UnFolding context menu" (wish by vovanre)
+ add option (add preffix to local variables in ILCode). How to use see picture

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

vovanre

Ранг: 91.4 (постоянный)
Статус: Участник

Создано: 2 марта 2015 12:20 · Поправил: vovanre New!
· Личное сообщение · #8

Я не понимаю -> --> Link <-- -> Мой косяк?

А также, можно ожидать в будущем функцию как в плагине CodeSearch ? (декомпил и поиск во всех функциях)
Medsft

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

Создано: 2 марта 2015 12:26 New!
· Личное сообщение · #9

vovanre пишет:
Я не понимаю -> --> Link <-- -> Мой косяк?
А также, можно ожидать в будущем функцию как в плагине CodeSearch ? (декомпил и поиск во всех функциях)

Комбобоксик то который у тебя на фотке с "Member" много тайн хранит)))
vovanre

Ранг: 91.4 (постоянный)
Статус: Участник

Создано: 2 марта 2015 13:03 New!
· Личное сообщение · #10

Есть поиск в текущем декомпиле. А я говорю о поиске во ВСЕХ декомпилях (бежим по всем функциям декомпилим и ищем)
4kusNick


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

Создано: 2 марта 2015 23:19 New!
· Личное сообщение · #11

Мои 5 коп.:
1. Не понятно что за два Analyse в контекстном меню: http://i.imgur.com/W6hsuqs.png
Не понятно чем они отличаются.

Вот что выдаёт первый Analyse для метода: http://i.imgur.com/tBzz9zS.png
А вот второй для того же метода: http://i.imgur.com/6Eeu2Sj.png
Одинаково.
Не понятно зачем тут дублирование одного функционала?

2. Падение:
- запустил ILSpy.NEXT
- открыл сборку --> Link <--
- ПКМ по типу и выбрал в меню инжект: http://i.imgur.com/72cMhlF.png
- результат: http://i.imgur.com/aKktzJx.png

3. Ошибка "System.ArgumentException: "DG.DOTweenEditor" не является допустимым значением для свойства "Name"." --> весь стэк <--
- запустил ILSpy.NEXT
- открыл сборку --> Link <--
- зашёл в любой метод (IL)
- ПКМ на строке -> Replace Instruction
- в OpCode выбираю stobj и кликаю на кнопку с "..." : http://i.imgur.com/yebk2c8.png
- в результате - ошибка

Пожелание:
- String Viewer превратить бы сразу в Editor =)

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

Medsft

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

Создано: 3 марта 2015 09:32 · Поправил: Medsft New!
· Личное сообщение · #12

4kusNick пишет:
Мои 5 коп.: [/i]
1.fixed
2.Inject работает нормально, проблемы в Вашей машине (нет доступа к диску, может вы под Virtual Box работаете я хз).Для справки: как обьекты инжектирумего кода могут использоваться только обьекты с атрибутами: public+static
3.stobj=Copies a value of a specified type from the evaluation stack into a supplied memory address; - это означает что оператор(stobj) работает с обьектами текущей сборки, которые уже вычитаны в комбобокс (а следовательно надо выбирать в качестве обьекта элементы из данного комбобокса), (кнопка же на которую вы пытались нажать предназначена для использования в качестве операнда обьектов сторонних сборок)
4. Со string viewer`ом подумаем. Идея реализуема
vovanre

Ранг: 91.4 (постоянный)
Статус: Участник

Создано: 3 марта 2015 09:45 New!
· Личное сообщение · #13

Ещё один бажок.
http://joxi.ru/52a11BbUWqlV20

Надеюсь по скрину понятно?

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

Medsft

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

Создано: 3 марта 2015 10:22 New!
· Личное сообщение · #14

vovanre пишет:
Ещё один бажок.

1.fixed - если мы правильно поняли вы пытались восстановить тело метода у которого нет тела))) защита от таких действий реализована.
vovanre

Ранг: 91.4 (постоянный)
Статус: Участник

Создано: 3 марта 2015 10:40 · Поправил: vovanre New!
· Личное сообщение · #15

Medsft пишет:
если мы

Кхм, у вас всё в порядке?

А если по делу, то всё верно. Спасибо.

UPD

Так же этот баг работает с ->
http://joxi.ru/YmEVV3JujxaE26
Medsft

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

Создано: 3 марта 2015 10:54 · Поправил: Medsft New!
· Личное сообщение · #16

vovanre пишет:
Кхм, у вас всё в порядке?
а нас много ))))
1.fixed
4kusNick


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

Создано: 3 марта 2015 11:52 New!
· Личное сообщение · #17

Medsft пишет:
2.Inject работает нормально, проблемы в Вашей машине (нет доступа к диску, может вы под Virtual Box работаете я хз).Для справки: как обьекты инжектирумего кода могут использоваться только обьекты с атрибутами: public+static

Машина реальная, с правами админа.
Про public+static - если ошибка именно из-за этого, то по-хорошему надо бы показывать сообщение, в котором про это написано, иначе будут думать что это баг какой-то.

Medsft пишет:
3.stobj=Copies a value of a specified type from the evaluation stack into a supplied memory address; - это означает что оператор(stobj) работает с обьектами текущей сборки, которые уже вычитаны в комбобокс (а следовательно надо выбирать в качестве обьекта элементы из данного комбобокса), (кнопка же на которую вы пытались нажать предназначена для использования в качестве операнда обьектов сторонних сборок)

Я это понимаю, но опять же выглядит как баг - хорошо бы вразумительное сообщение показывать в таких случаях или отключать кнопку ... чтобы не путать, ибо кажется что можно её использовать для выбора объекта.
Или добавить тултип к этой кнопке с пояснением для чего она нужна...
Medsft

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

Создано: 4 марта 2015 09:16 New!
· Личное сообщение · #18

4kusNick пишет:
Машина реальная, с правами админа.
по тем снимкам экрана которые вы представили "http://i.imgur.com/aKktzJx.png" это не открывается следующая форма после отжатия пункта инжектинг в конекстном меню, а эта форма обычный FileOpenDialog.

4kusNick пишет:
Я это понимаю, но опять же выглядит как баг
- знаете я тоже это понимаю и наверное можно было бы потратить пару дней для разбора аргументов различных il операторов НО рук на все явно не хватает. Тут выбор или корпишь над новым функционалом при этом немного раздвигая рамки гуи инструмента под думающие руки, или вычищаешь код до уровня ну скажем серьезных коммерческих утилит с паблик билдами раз в год.
Тут решение по моему мнению добавляем функционал а по мере поступления баг репортов и соотношения критичность бага/процент времени на его fix - исправляем.
Вот к примеру давайте проголосуем ))) что в следующем билде надо выложить: пофиксенный гуи уже рабочего инструмента replace instruction, или скажем string editor? ))))
4kusNick


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

Создано: 4 марта 2015 11:51 New!
· Личное сообщение · #19

Medsft пишет:
не открывается следующая форма после отжатия пункта инжектинг в конекстном меню, а эта форма обычный FileOpenDialog.

Да. Пробовал ещё от имени админа запускать - аналогично. Оно никуда лог не скидывает с ошибками посмотреть хоть что ему не нравится?

И да, я вас понимаю и голосую за
Medsft пишет:
string editor

Medsft

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

Создано: 4 марта 2015 12:30 New!
· Личное сообщение · #20

4kusNick пишет:
Оно никуда лог не скидывает с ошибками
ну братко извини на открытие стандартных контролов винды логов не делал)))
4kusNick


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

Создано: 4 марта 2015 12:47 · Поправил: 4kusNick New!
· Личное сообщение · #21

Падает не окно стандартное, оно иногда нормально открывается: http://i.imgur.com/Dw7UiQB.png
И падает сразу после открытия что-то.

Но похоже я и так разобрался. Это происходит когда в пути к ILSpy есть точка.
При этом File->Open работает без проблем.

EDIT:
Причём точка именно в папке, в которой лежит exe, если она в какой-то из родительских папок - все ок.

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

Medsft

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

Создано: 18 марта 2015 15:59 New!
· Личное сообщение · #22

File replace.Please reload.
Last build 18_03_15_15_51 ("Critical")
+ String editor: both levels
+ 2-tier context menu support
+ Metadata patch generator: strong name, tables, strings, guids, blobs

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

Medsft

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

Создано: 19 марта 2015 13:45 · Поправил: Medsft New!
· Личное сообщение · #23

ГОСПОДА
Отдел разработки ILSpy NEXT информирует)))))))))))))))
КАЧЕСТВО РАБОТЫ ILSpy NEXT в low(синонимы: binary, byte) режиме ГАРАНТИРУЕТСЯ
только в случае последующего применения патчей из таблицы "Patch Table" а не через
механизм "Save assembly".Иными словами если юзаете high level editor`ы сохраняйте
результат своей работы через "Save assembly".Если же вы используете механизмы low level
editor`в применяйте патч. И работайте дальше с измененной сборкой.
Не рекомендуется на одном этапе смешивать работу low и high level`ы.

Dear guys, please translate and copy the announce to your forums.
r_e

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

Создано: 19 марта 2015 15:11 New!
· Личное сообщение · #24

Medsft
Бля, прям корпорация монстров.. Отдел разработки. ггг.. ты да я, да мы с тобой.
reversecode


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

Создано: 19 марта 2015 15:13 New!
· Личное сообщение · #25

скоро вырастите в крупную компанию, трудоустроите половину форума
Medsft

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

Создано: 19 марта 2015 16:50 New!
· Личное сообщение · #26

Легко лишь бы по зарплате сойтись.
Medsft

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

Создано: 30 марта 2015 16:41 · Поправил: Medsft New!
· Личное сообщение · #27

File replace.Please reload.
Last build 30_03_15_16_29 ("Test version. Need bugreport`s")
+ add Debugger Local Variable panel (C# and IL view code)
+ add video: "How to use local variable panel"

Добавлено спустя 2 часа 9 минут
HotFix.File replace.Please reload.
Last build 30_03_15_18_42 ("Critical")
+fix some bug on debug local variable panel
+add Hex representation to numeric value
+add value viewer
+add jpg "How to use local variable panel"



Добавлено спустя 2 часа 14 минут
Можете теперь любой протектор и в хвост и в гриву))))

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

Medsft

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

Создано: 10 апреля 2015 16:12 · Поправил: Medsft New!
· Личное сообщение · #28

Some bug fix. File replace.Please reload.
Last build 10_04_15_55_42
+ add load modules panel
+ local variables on local variables panel - NOW! editable in run-time debugger mode. (Only primitive type: bool, numeric, string, primitive type array element)



Тестим и зацениваем господа.

| Сообщение посчитали полезным: vovanre, Xlab0s, nick8606

Medsft

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

Создано: 28 апреля 2015 09:04 New!
· Личное сообщение · #29

Some bug fix. File replace.Please reload.
Last build 27_04_18_02_42
fix: add scroll control on form`s with list control

| Сообщение посчитали полезным: CyberGod, nick8606, Hellspawn, r_e, DICI BF, aleXela, v00doo

Medsft

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

Создано: 8 мая 2015 15:52 · Поправил: Medsft New!
· Личное сообщение · #30

Some bug fix. File replace.Please reload.
Last build 08_05_15_41_00
fix: add rename property.
Rule for rename property:
PropertyDefinition pdef = pdtn.PropertyDefinition;
if (pdef.DeclaringType.BaseType != null &&
pdef.DeclaringType.BaseType.Name.EndsWith("Attribute") &&
pdef.SetMethod != null &&
(pdef.SetMethod.Attributes & Mono.Cecil.MethodAttributes.Public) != 0)
{
//no rename
}
else
{
// rename
}

| Сообщение посчитали полезным: DenCoder, daFix, Xlab0s

YaroslavS

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

Создано: 19 мая 2015 13:46 · Поправил: 20 мая 2015 12:16 YaroslavS New!
· Личное сообщение · #31

Добрый день, а нет ли планов сюда запихать и рефлексил? У автора рефликсила была сборка Ilspy с интегрированным рефлексилом. Или это бессмысленно?

А еще вопрос, видел в примере для показа локальных переменных, как выскакивает при наведении на опкод русский хелп по опкодам, у меня почему-то не выскакивает, как влючить?

Нашел также багу (она похоже из оригинального ilspy переехала): Если задать текст для поиска, и перейти в дереве к другому объекту текст в строке поиска сохраняется, но ищет всякую лажу, а не то что указано, бывает вообще вылетает эксепшн, если удалить один символ и снова вбить, ищет нормально.

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

Можно ли добавить функционал переименования локальных переменных? Для каждой сборки хранить отдельно список замен, который подставлять после декомпиляции. Сложно ли реализовать такое? Не совсем понятно, возможно ли это отработать корректно при модификации кода и добавлении новых локальных переменных, но для обычной декомпиляции без модификации кода, очень бы помогло разбирать здоровенные куски кода. А то разобрался, что переменная делает, через некоторое время опять забыл.

Есть бага, если в тексте декомпилированного кода нажать правой кнопкой на объект - гиперссылку и выбрать analize, то почему-то ищет ссылки не на объект гиперссылку, а на текущий декомпилированный объект.

Спасибо.
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
 eXeL@B —› Софт, инструменты —› ILSpector. NET assembly browser and decompiler, debugger, High and Low level Editor

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

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