nuklia 0 Опубликовано 22 Октября 2010 Уважаемые знатоки, а не могли бы Вы в промежутках между дебатами выложить или хотя-бы порекомендовать литературу по IDA , ведь наверняка у вас есть свои подборки того, что легче и понятней переваривается. Может еще на примере того-же возвращения функционирования машин в ЗП что расскажете. Понимаю, что писанины много, но это действительно заинтересует страждущих и тема будет жить. Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 25 Октября 2010 (изменено) Призрак, а dd 0.2 - это действительно параметр плотности? Я в этом ничего не понимаю, просто как мартышка за тобой повторил манипуляции с IDA - (IDA Pro 5.2.0.908(32-bit) - но у меня другие значения r__detail_density, fit_100993F4 dd 6.0000002e-1 xrRender_R1.dll из первого патча ЗП Изменено 25 Октября 2010 пользователем nuklia Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 26 Октября 2010 Народ, ткните носом пож. "Data format" -> "Single Float (32 bit)" что-то найти не могу контекстное меню НЕХ в IDA. Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 27 Октября 2010 Призрак, Находится в ХЕКС_ВИЕВ, правая кнопка мыши...."Data format" -> "Single Float (32 bit)" У меня там только Сopy и Sunhronize winh -> IDA View, в чем проблема? Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 28 Октября 2010 Народ, может все-таки подскажет кто, почему в HEX View может быть недоступно редактирование? (IDA Pro 5.2.0.908 + Hex-Rays 1.0) В контекстном меню Hех View только Сopy и Sunhronize winh -> IDA View, и никакого намека на Data format" -> "Single Float (32 bit) Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 28 Октября 2010 _Призрак_, никакой реакции! Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 28 Октября 2010 malandrinus, _Призрак_, спасибо, в 5.5 на первый взгляд все ОК. Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 29 Октября 2010 Попробовал на ЗП плотность травы увеличивать, так-же нашел и указал другую переменную со значением dd 0.2 - плотность судя по движку плотности травы увеличилась процентов на 30. Ковырял xrRender_r1 (идет для статического освещения). А родная переменная несколько раз применяется в других функциях(проверяется установкой курсора на имени переменной fit_xxxxxxx и нажатием клавиши Х) Вот только не нашел чтото bpatch - dll-ку пришлось править в НЕХ-ке - благо в файле отличий указан адрес и что на что менять, может кто даст ссылку на bpatch. Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 2 Ноября 2010 _Призрак_, пробовал по твоему тутору создать новую переменную и сослаться на нее, но возникла некая загадка; моя переменная с именем proba .ndata:100C9000 ; Section 7. (virtual address 000C9000) .ndata:100C9000 ; Virtual size : 00001000 ( 4096.) .ndata:100C9000 ; Section size in file : 00001000 ( 4096.) .ndata:100C9000 ; Offset to raw data for section: 000B6000 .ndata:100C9000 ; Flags E0000060: Text Data Executable Readable Writable .ndata:100C9000 ; Alignment : default .ndata:100C9000 ; =========================================================================== .ndata:100C9000 .ndata:100C9000 ; Segment type: Pure code .ndata:100C9000 ; Segment permissions: Read/Write/Execute .ndata:100C9000 _ndata segment para public 'CODE' use32 .ndata:100C9000 assume cs:_ndata .ndata:100C9000 ;org 100C9000h .ndata:100C9000 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing .ndata:100C9000 proba dd 0.02 .ndata:100C9004 db 0 .ndata:100C9005 db 0 .ndata:100C9006 db 0 .ndata:100C9007 db 0 Но когда я ее пытаюсь применить для значения плотности травы, то получаю: .text:10001F66 fld ds:flt_100993F4 .text:10001F6C or dword_100B90DC, eax .text:10001F72 sub esp, 8 .text:10001F75 fstp [esp+30h+var_2C] .text:10001F79 mov ecx, offset unk_100B9004 .text:10001F7E fld dword ptr ds:algn_100A1BDF+27421h .text:10001F84 fstp [esp+30h+var_30] .text:10001F87 push offset aSs ; "ЪЩЩ>" .text:10001F8C push offset aR__detail_dens ; "r__detail_density" Надеялся увидеть fld ds:proba а получилось fld dword ptr ds:algn_100A1BDF+27421h Хотя трава стала гуще, тем не менее такая строка смущает. А как у тебя это выглядит? Поделиться этим сообщением Ссылка на сообщение
nuklia 0 Опубликовано 2 Ноября 2010 (изменено) _Призрак_, я так понимаю, что сумма чисел 100A1BDF+27421 = 100C9000(адрес моей переменной - в шестнадцатиричной арифметике не силен)? А как расшифровать dword ptr ds:algn_ - что сие значит на удобоваримом языке? И можно-ли как-то заставить IDA прописать адрес новой переменной более внятно - fld ds:proba. Извиняюсь за назойливость. Вопрос снимается - открыл свою откорректированную dll-ку в IDA - все стало на свои места: моя переменная приобрела нормальное имя и ссылку : .ndata:100C9000 flt_100C9000 dd 0.02 ; DATA XREF: sub_10001CE0+29Er .ndata:100C9004 align 1000h .ndata:100C9004 _ndata ends и по ссылке все ОК .text:10001F7E fld ds:flt_100C9000 .text:10001F84 fstp [esp+30h+var_30] .text:10001F87 push offset aSs ; "ЪЩЩ>" .text:10001F8C push offset aR__detail_dens ; "r__detail_density" Изменено 2 Ноября 2010 пользователем nuklia Поделиться этим сообщением Ссылка на сообщение