|  | eXeL@B —› Вопросы новичков —› Найти запись в локальную переменную... | 
| Посл.ответ | Сообщение | 
|  | Создано: 28 октября 2011 20:29 · Личное сообщение · #1 работаю в IDA и есть код: Code: 
 для начало интересует что сюда передается: Code: 
 только без всяких отладчиков... не обходимо найти что сюда записывается: lvar_238 жму X везде выдает только на чтение... Есть тут люди более менее понимаемые?  | 
|  | Создано: 28 октября 2011 20:40 · Личное сообщение · #2 ну дык ето адрес (видимо) передается и Weapons_shots_ уже туда пишет (или не пишет) - глядите сами  | Сообщение посчитали полезным: Hexxx | 
|  | Создано: 28 октября 2011 20:42 · Личное сообщение · #3 | 
|  | Создано: 28 октября 2011 20:47 · Поправил: digger70 · Личное сообщение · #4 | 
|  | Создано: 28 октября 2011 21:01 · Личное сообщение · #5 | 
|  | Создано: 28 октября 2011 21:03 · Личное сообщение · #6 | 
|  | Создано: 28 октября 2011 21:03 · Личное сообщение · #7 | 
|  | Создано: 28 октября 2011 21:07 · Личное сообщение · #8 | 
|  | Создано: 28 октября 2011 21:09 · Личное сообщение · #9 | 
|  | Создано: 28 октября 2011 21:32 · Поправил: OKOB · Личное сообщение · #10 первые 4 параметра передаются по значению, последние 2 по ссылке (указателю). Через ECX обычно передается адрес объекта класса для которого вызывается метод. _camera->Weapons_shots_(range, var_290, var_28C, var_288, &var_238, &var_22C) sendersu пишет: и Weapons_shots_ уже туда пишет ----- 127.0.0.1, sweet 127.0.0.1  | Сообщение посчитали полезным: VintProg | 
|  | Создано: 28 октября 2011 22:03 · Личное сообщение · #11 | 
|  | Создано: 28 октября 2011 22:26 · Личное сообщение · #12 | 
|  | Создано: 28 октября 2011 23:00 · Личное сообщение · #13 | 
|  | Создано: 28 октября 2011 23:02 · Личное сообщение · #14 | 
|  | Создано: 28 октября 2011 23:25 · Личное сообщение · #15 | 
|  | Создано: 29 октября 2011 00:01 · Личное сообщение · #16 | 
|  | Создано: 29 октября 2011 01:28 · Личное сообщение · #17 | 
|  | Создано: 30 октября 2011 13:44 · Личное сообщение · #18 VintProg А чего выяснять. Решение первое и нормальное - применить отладчик. Решение второе: при вызове Weapons_shots передается ссылка, т.е. адрес lvar_238 Соответственно в самой Weapons_shots в ИДА вы уже не увидете обращений к lvar_238 и придется отслеживать 4-й параметр. Аналогично может произойти и в других подпрограммах. Т.ч. долго еще искать и искать вам ответ самому, раз отладчик низзя... Разжевывать никто не будет, хоть это и для новичков. Уже все разжевали, а я только сегодня добрый    | 
|  | Создано: 30 октября 2011 16:26 · Поправил: Hexxx · Личное сообщение · #19 tundra37 пишет: Решение первое и нормальное - применить отладчик Ерунда. var_238 - это стековая переменная, а это: Code: 
 загрузка указателя на начало этой переменной. Переменная может оказаться, как простого типа (int, short, char), так и структурой или массивом, или даже классом в стеке. Если ниже по коду, после Weapons_shots_, обращений именно к var_22C, значит это сложный тип. Ида физически не может прохавать код вида: Code: 
 Она напишет, что buffer - это одна переменная, а buffer[12] - другая. Для нее и то и другое - стек, она не знает что эти два куска стека - части одной переменной. Поэтому, нужно выяснить какого размера эта переменная, и объяснить иде. А выяснить это можно только анализом того как код MyFunc() обращается с передаваемым буфером. Дальше, когда известен размер, нужно создать правильную стековую переменную buffer, правильного размера. Тогда IDA начнет показывать var_22C+XX в том месте где обращаются к содержимому. Ну и дальше уже предстоит разбираться что там по этому смещению XX, какое-то поле структуры/класса или просто смещение в массиве. ----- Реверсивная инженерия - написание кода идентичного натуральному  | 
|  | Создано: 30 октября 2011 17:47 · Поправил: VintProg · Личное сообщение · #20 | 
|  | Создано: 31 октября 2011 13:28 · Личное сообщение · #21 | 
|  | eXeL@B —› Вопросы новичков —› Найти запись в локальную переменную... | 







 Что ж ты такой ленивый. Привел одну строчку совсем по другому адресу и имя какой-то левой(для нас) структуры. И что ждем? Ты явно перепутал этот форум с форумом экстрасенсов. Пока по твоей информации можно дать только общие советы. Но увы они для тебя бесполезны
  Что ж ты такой ленивый. Привел одну строчку совсем по другому адресу и имя какой-то левой(для нас) структуры. И что ждем? Ты явно перепутал этот форум с форумом экстрасенсов. Пока по твоей информации можно дать только общие советы. Но увы они для тебя бесполезны
 Для печати
 Для печати