|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|
Декомпиляция dll файла04.04.2017, 17:22. Показов 20539. Ответов 53
Метки нет (Все метки)
Читал, все говорят что можно, а чем не пишут.
Сам файл размером 101 Кб. Написан он по любому на C и/или C++. Как его можно отчекрыжить?
0
|
|
| 04.04.2017, 17:22 | |
|
Ответы с готовыми решениями:
53
Декомпиляция из dll в C++ Декомпиляция dll Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? |
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
||||||||||||
| 31.03.2018, 17:41 [ТС] | ||||||||||||
|
Такая строка, регламент функции:
Я так понимаю что 8 - это количество бит, файл 64х разрядный, видимо сделано в однобайтный тип? Т.е. можно выше макросом сделать:
Эти типы дурацкие с кучей имён, которые одно и тоже означают...
0
|
||||||||||||
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|||||||||||
| 31.03.2018, 21:08 [ТС] | |||||||||||
|
Ооочень много ошибок...
С другой стороны, можно попробовать в HexEdit заменить. Чит замудрёный, ключи хранятся на сервере, видимо по какому-то идентификатору системы хранит использование ключа. Кроме этого, он типа "защищён" от изменения, я полагаю, он создаёт свою копию где-то, пересчитывает сумму, и в итоге выдаёт да или нет(не рассматривал алгоритм). Скачивается заново, а изменённая версия удаляется, причём всё это типа "не закрываясь". Автор просто параноик. ![]() Но, вот тут:
76 или 0F 86 На 7F или 0F 8F Если я правильно понимаю, раз программа 64х битная, то и команды у неё получается двухбайтовые, а значит мне нужно заменить 0F 86 на 0F 8F. Только как найти, я смотрел видео, но так и не понял что за оффсеты и как их получить... В аиде то оно вот:
0
|
|||||||||||
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|
| 31.03.2018, 21:18 [ТС] | |
|
Изменил просто сравниваемую строку, теперь "защиту" обошел, и ключ почти тоже.
А искать я так понял проще по вкладке hex...
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|
| 31.03.2018, 21:42 | |
|
Оффсет инструкции в файле указан в окне иды. Так же можно включить отображение байтов инструкций в окне с дизассемблированным кодом в настройках (Disassembly->Number of opcode bytes).
1
|
|
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
||||||
| 01.04.2018, 08:25 [ТС] | ||||||
|
Понял, спасибо. )
Всё получилось, почти, чит в процессе подгрузки в игру выдаёт ошибку загрузки чего-то, видимо ещё что-то тут. Ну принцип понял, как с ассемблерными командами работать, если нет пресловутой защиты. Начал деобфускацию кода. ![]() Функции же не могут быть такими?
Наверное сначала нужно создать проект с похожим окном и компонентами на нем, и начинать перетаскивать код с функции WinMain? Добавлено через 9 часов 11 минут 0i64 - это же просто 0, только 64х битный? Его можно на NULL заменить? VS потом сама определит скольки битный туда ставить.
0
|
||||||
|
|
|
| 01.04.2018, 10:35 | |
|
о господи
![]() вы ерундой занимаетесь. сколько раз повторять, что для того, что вам нужно нет необходимости использовать дизассемблер. дизят код когда хотят спереть функции. Например хакерская группа CODEX переписала лаунчер ubisoft с нуля, дизассемблируя оригинальную dll. Они точно скопировали все функции, внесли соответствующие коррективы в работе DRM. Их эмулятор не требует постоянного подключения к интернету и не запрашивает данные с серверов, а запускает игру в офлайне. IDA вообще не редактируют код, ею разбирают статику, для последующего воспроизведения. Ковырять статику и искать функции через IDA это бред. ещё раз повторяю - скачайте x64dbg и спокойно отлаживайте код как вам нужно. В чём проблема то?
1
|
|
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
||||||||||||||||||
| 01.04.2018, 22:14 [ТС] | ||||||||||||||||||
|
Мне просто интересно, как это всё устроено. Не знаю почему, просто захотелось именно этот exeшник поковырять, и получить рабочий исходник. Заодно посмотрю как происходит инжект и прочее... Или это файлы отладки? У меня есть такие файлы. Добавлено через 8 часов 16 минут Что-то копался, копался, и понял почему заменой байт не получилось:
Именно это, их в коде 2 штуки, но я у этого одну букву изменил, чтобы было понятно какое из них. Попробовал(Hex - 79):
Может я чего не понимаю, и не там меняю?
0
|
||||||||||||||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|
| 01.04.2018, 22:21 | |
|
Там 2 условия (строки 34, 40) вы оба меняете? Можно еще jmp short использовать чтобы сразу прыгнуть куда надо.
1
|
|
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|
| 02.04.2018, 00:16 [ТС] | |
|
Ааа. ))
Не привык к такому коду. Я 40ю и не заметил.
0
|
|
|
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
| 02.04.2018, 01:41 | |
|
артист, ты что, целый год 1 файлик мучаешь?!
1
|
|
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|||||||||||
| 02.04.2018, 12:23 [ТС] | |||||||||||
|
Нет, это другой. ))
Просто тему новую не стал создавать, потому, что смысл один и тот же. ) Эту проверку обошел, на другой теперь встрял. ![]() Тут уже идёт куча проверок... Это был 6й изменённый байт. Добавлено через 4 часа 8 минут А как можно числа в человеческий вид привести? Например:
Ну типа это же дизассемблированный код, и числа там стоят те, которые компилятор подставил, не? Или нужно так?
2ui64: 2 - значение. u - unsigned беззнаковое. i - integer - целочисленное. 64 - размер, битность...
0
|
|||||||||||
|
|
|||
| 02.04.2018, 15:02 | |||
|
вы уж тогда определитесь, что вам надо - сделать чит бесплатным (это отладчик), или разобрать его код до основания (это дизассемблер)?
1
|
|||
|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|||
| 02.04.2018, 16:54 [ТС] | |||
|
Суть в освоении на практике, а не в результате. Я тут подумал что можно было просто подменить VSN диска C, к которому привязывается чит. Но тему закрыли. ![]() Так то я нашел пару статей, но ничего не понимаю, а спрашивать про такое правила видимо запрещают... Ладно, дальше буду копипастить код, исходник лучше чем костыли какие-то...
0
|
|||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 02.04.2018, 17:24 | ||
|
В IDA кстати тоже отладчик есть, и там тоже все это можно сделать, и вроде даже Hex-Rays интегрирован с отладчиком, так что можно и в переменные заглянуть.
1
|
||
| 02.04.2018, 17:24 | |
|
Декомпиляция С++ Декомпиляция программы декомпиляция exe Декомпиляция программы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|