|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
|
Технология поиска передаваемых значений и тип возвращаемого значения функций15.08.2012, 13:57. Показов 2492. Ответов 15
Метки нет (Все метки)
Здравствуйте! Я не знаю в правильный ли раздел я создал этот пост, но вопрос в следующем: у меня есть dll и программа, которая использует эту библиотеку. Загрузив в Ida я получил список всех функций в dll. Но параметры, которые принимают эти функции таким образом не получить (я это знаю), и тип возвращаемого значения - тоже
. Мне нужно понять, какая технология поиска передаваемых значений (параметров) и тип возвращаемого значения функций. Поверхностно я понимаю концепцию, но как такое реализовать - даже не представляю Ребята, помогите, пожалуйста! Если можете - скиньте специфическую литературу по этому процессу, если можно (было бы очень классно) - простенький пример (классно было бы что бы на примере дизассембелеров ida или ollydbg) или ресурс, где подробно описывается это занятие. Заранее благодарен!
0
|
|
| 15.08.2012, 13:57 | |
|
Ответы с готовыми решениями:
15
Тип возвращаемого значения Тип возвращаемого значения |
|
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
|
||||||
| 15.08.2012, 15:23 | ||||||
|
Кратко,параметры в функции передаються через стек.
В OllyDbg прекрасно видно,как перед вызовом заполняеться стек с передаваемыми параметрами.
К примеру WriteFile возвращает число записанных байт по адресу переданному в стек.
1
|
||||||
|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
||
| 15.08.2012, 15:49 [ТС] | ||
|
0
|
||
|
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
|
|
| 15.08.2012, 17:01 | |
|
Тут надо в самой функции ковыряться.Возвращаться может что угодно,результат вычисления,адрес,код ошибки и т.д.
Смотри обращания к dll через программу,может что проясниться. Ищи статьи и книги К.Касперского.к примеру Искусство дизассемблирования. p.s.У самого нет времени добраться до неё,мне достаточно и того что знаю.
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
||
| 15.08.2012, 17:10 [ТС] | ||
А если у нас описывается процедура, то (в идеальном случае) на выходе мы имеем адрес памяти, который мы передавали на входе?
0
|
||
|
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
|
||
| 15.08.2012, 17:58 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
|
| 16.08.2012, 11:30 [ТС] | |
|
0
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|
| 16.08.2012, 12:51 | |
|
Thread, а смысл ничего не передавать назад? процедура возвращает результат:
1) либо в переменных, адреса которых ей передали при входе в процедуру 2) либо в регистре ЕАХ если результат целочисленный (реже могут использоваться пара регистров, например, EDX и ЕАХ) 3) если результат вещественное число, то он возвращается на вершине стека сопроцессора 4) если возникла ошибочная ситуация, тогда в ЕАХ может быть передан код ошибки
0
|
|
|
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
|
|
| 16.08.2012, 14:10 | |
|
Mikl___ ,солидарен.
В ассемблере грань между понятиями функциями и процедурами размазаны. Человек ведь задал вопрос именно в этом ключе. Как правило процедура только выполняет набор действий без возврата результата.К примеру выводить выборочно сообщения MessageBox в соответствии с переданным параметром.Возвращать что-то нет обходимости. А функция по определению должна обязательно вернуть результат своей работы.
0
|
|
| 16.08.2012, 14:19 | |
|
Не по теме: Thread, но и MessageBox возвращает код нажатой клавиши, хотя, да, я не вижу разницы между процедурой и функцией
0
|
|
|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
||
| 16.08.2012, 14:36 [ТС] | ||
|
0
|
||
|
239 / 236 / 43
Регистрация: 16.03.2011
Сообщений: 750
|
|
| 16.08.2012, 19:32 | |
|
По ollydbg есть туториалы Рикардо Нарваха рекомендую.
1
|
|
|
Клюг
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
| 16.08.2012, 21:26 | |
|
Drayvhard, реверсинг.нет краклаб.ру
1
|
|
|
Ушел с форума
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
|
|||
| 17.08.2012, 04:43 | |||
|
идентификация функций идентификация стартовых функций идентификация виртуальных функций идентификация конструктора и деструктора идентификация объектов, структур и массивов идентификация аргумента this идентификация операторов new и delete идентификация библиотечных функций идентификация аргументов функций идентификация значения, возвращаемого функцией идентификация локальных стековых переменных идентификация регистровых и временных переменных идентификация глобальных переменных идентификация констант и смещений идентификация литералов и строк идентификация условных операторов if-then-else идентификация операторов switch-case-break идентификация циклов идентификация математических операторов
1
|
|||
|
0 / 0 / 0
Регистрация: 26.01.2012
Сообщений: 25
|
|
| 17.08.2012, 10:52 [ТС] | |
|
r36, как раз по этих курсах и начал изучать процесс реверсинга
. Конечно ещё не все уроки изучил, но очень доступно и интересно для новичка... то есть мне=)Charles Kludge, про краклаб знал, про реверсинг - нет. Спасибо большое! Mikl___, как раз то, что нужно! Спасибо! До этого я использовал для идентификации структур Ida Pro и его Pseudocode, очень помогает идентифицировать структуры, процедуру/функцию, но вот с типами аргументов не все так просто.
0
|
|
|
Клюг
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
| 17.08.2012, 11:45 | |
|
Drayvhard, сходите на сайт Francesco Vianello aka Fravia
0
|
|
| 17.08.2012, 11:45 | |
|
Помогаю со студенческими работами здесь
16
Тип возвращаемого значения Тип возвращаемого значения
Тип возвращаемого значения Тип возвращаемого значения функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|