Сейчас на форуме: asfa, Rio, _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Разборка/Сборка DLL C#
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 мая 2013 10:04
· Личное сообщение · #1

Здрасте!
Есть DLL от программы, которая отвечает за вывод информации в лог файл.
Открываю Reflector`ом, нахожу нужную строку, однако если открыть с помощью плагина Reflexil то найти эту строку чтобы исправить не могу(((

Нужно как-то исправить условие для "Rennen new id={0}, num={1}, cntdown={2}", чтобы оно считалось как "Rennen old id={0}, num={1}, cntdown={2}, resultat={3}, moviefn={4}, is Calculated={5}"


if (!race3.Calculated && (race3.Movie == null))
{
race3.Countdown = num;
num += ClientSettings.Get.MovieInterval;
race3.Result = DogTexts.RF3_RaceRunning;
race3.Movie = new Movie();
race3.Movie.MovieID = 0;
race3.State = RaceDisplayState.NEW;
_logger.DebugFormat("Rennen new id={0}, num={1}, cntdown={2}", race3.RaceID, race3.RaceNumber, race3.Countdown);
}
else if (race3.Calculated)
{
this.SetRaceResultText(race3, race3.Movie);
_logger.DebugFormat("Rennen old id={0}, num={1}, cntdown={2}, resultat={3}, moviefn={4}, is Calculated={5}", new object[] { race3.RaceID, race3.RaceNumber, race3.Countdown, race3.Result, race3.Movie.Filename, race3.Calculated });
}
else
{
race3.Result = DogTexts.RF3_RaceRunning;
race3.Countdown = 0;
race3.State = RaceDisplayState.RUNNING;
_logger.DebugFormat("Rennen act id={0}, num={1}, cntdown={2}, resultat={3}, moviefn={4}, is Calculated={5}", new object[] { race3.RaceID, race3.RaceNumber, race3.Countdown, race3.Result, race3.Movie.Filename, race3.Calculated });
}

Ищу по по строке с символами "Rennen new id"


6794_12.05.2013_EXELAB.rU.tgz - RF3Client.dll



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 мая 2013 10:10
· Личное сообщение · #2

Пробовал пойти другим путем, на мой взгляд он легче - декомпиляция в сорс код, исправление, компиляция обратно в ДЛЛ.
Делал также через Reflector "Export source code", но даже если ничего не менять, обратно в DLL не собирает - выдает много ошибок после подключения System.Xaml.dll



Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

Создано: 12 мая 2013 11:29 · Поправил: nick8606
· Личное сообщение · #3

Так исправлять ошибки надо. Или не для Вас у Microsoft MSDN цвела?



Ранг: 4.7 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 12 мая 2013 11:36
· Личное сообщение · #4

acer6077 пишет:
Нужно как-то исправить условие для "Rennen new id={0}, num={1}, cntdown={2}", чтобы оно считалось как "Rennen old id={0}, num={1}, cntdown={2}, resultat={3}, moviefn={4}, is Calculated={5}"


Simple Assembly Explorer используй



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 мая 2013 12:20 · Поправил: acer6077
· Личное сообщение · #5

nick8606 пишет:
Так исправлять ошибки надо. Или не для Вас у Microsoft MSDN цвела?


Но откуда там появились ошибки, если DLL полностью работоспособная. А ошибки он находит, когда разложить DLL на множество CS файлов и пытаться их собрать.
Т.е. разбираем работающий код, а собрать не можем, как будто там что-то было неправильно

Ripped_Boy пишет:
acer6077 пишет:
Нужно как-то исправить условие для "Rennen new id={0}, num={1}, cntdown={2}", чтобы оно считалось как "Rennen old id={0}, num={1}, cntdown={2}, resultat={3}, moviefn={4}, is Calculated={5}"

Simple Assembly Explorer используй


Скачал, загрузил, открыл, переключился на "IlSpy 1.0", нашел то что нужно... а как менять то? вижу функция сохранения есть, а как изменять код не понятно...



Ранг: 63.8 (постоянный), 2thx
Активность: 0.030
Статус: Участник

Создано: 12 мая 2013 12:38
· Личное сообщение · #6

acer6077 пишет:
Но откуда там появились ошибки, если DLL полностью работоспособная. А ошибки он находит, когда разложить DLL на множество CS файлов и пытаться их собрать.
Т.е. разбираем работающий код, а собрать не можем, как будто там что-то было неправильно

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




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 12 мая 2013 16:28
· Личное сообщение · #7

acer6077 пишет:
Скачал, загрузил, открыл, переключился на "IlSpy 1.0", нашел то что нужно... а как менять то? вижу функция сохранения есть, а как изменять код не понятно...

Менять надо байткод, в первой вкладке (Details).

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.



 eXeL@B —› Вопросы новичков —› Разборка/Сборка DLL C#
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати