Сейчас на форуме: user99, _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых)

 eXeL@B —› Основной форум —› Вопрос по API
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 08 октября 2005 08:11
· Личное сообщение · #1

File Monitor показывает, что прога открывает определенный файл(OPEN), а потом закрывает его(CLOSE).
Ставлю бряк в SoftIce на функцию OpenFile, но он не срабатывает, хотя прога точно обращается к файлу(для проверки его наличия). Есть какие-то другие функции для открытия файла или это какой-то глюк?



Ранг: 123.7 (ветеран)
Активность: 0.10
Статус: Участник
1nn0$/100

Создано: 08 октября 2005 08:14
· Личное сообщение · #2

Stranger
Смотри CreateFileA, хотя потом тоже должен идти вызов OpenFile, но попробуй так.

-----
Blame the victim!




Ранг: 79.6 (постоянный), 2thx
Активность: 0.080
Статус: Участник
алХимик

Создано: 08 октября 2005 08:23 · Поправил: SeDoYHg
· Личное сообщение · #3

иногда полезно поискать с начала, если с АПИ-справочниками не дружишь, то хотя бы глянуть надо тут

И вновь продолжается бой… http://www.wasm.ru/article.php?article=tbc10

-----
Все говорят что мы вместе. Но не многие знают в каком.





Ранг: 115.8 (ветеран)
Активность: 0.080
Статус: Участник

Создано: 08 октября 2005 09:50
· Личное сообщение · #4

юзай АПИ шпионы. Керберос например

-----
Ни одно доброе дело не должно остаться безнаказанным !!!




Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 08 октября 2005 10:23 · Поправил: Stranger
· Личное сообщение · #5

При остановке на CreateFileA не могу узнать имя файла: в стеке всякий мусор. Хотя kerberos определяет имя верно, но даже по тому адресу, который он пишет ничего нет.
А есть ли хорошие API -шпионы for XP, показываеющие функции сразу как FileMon например.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 08 октября 2005 10:58
· Личное сообщение · #6

Stranger пишет:
При остановке на CreateFileA не могу узнать имя файла: в стеке всякий мусор.

Смотри правила передачи параметров функции (stdcall).
1. После выполнения функция сама выравнивает стек.
2. Параметры передаются от старшего к младшему.

Почитай побольше ;).

-----
Всем привет, я вернулся




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

Создано: 10 октября 2005 10:19
· Личное сообщение · #7

Stranger пишет:
При остановке на CreateFileA не могу узнать имя файла: в стеке всякий мусор. Хотя kerberos определяет имя верно, но даже по тому адресу, который он пишет ничего нет.


Ну а в SoftIce у тебя ставится брекпоинт на CreateFile?
Еси да - то там и смотри имя файла.



Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 10:34
· Личное сообщение · #8

_mask_
Так там его и нету!




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

Создано: 10 октября 2005 11:59 · Поправил: 4kusNick
· Личное сообщение · #9

Stranger
Блин, где его нету? Если у тебя сайс не настроен (файл winice.dat кажись), то может половина винапи функций не детектится.

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




Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 12:29 · Поправил: Stranger
· Личное сообщение · #10

4kusNick
Да все настроено, все детектится. Просто перед вызовом API функции(да и любой функции) параметры ей передаются через стек: по адресу или по значению. Так? Значит перед вызовом функции создания файла нужно в стек забить адрес строки, в которой записано имя создаваемого файла. Так? Но по тем адресам, которые записаны в стеке ничего напоминающего имя файла нет. Значит функция изменяет стек. Но каким образом я не знаю.




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

Создано: 10 октября 2005 13:35
· Личное сообщение · #11

Stranger
Т.е. сайс все-таки брякается на CreateFile\OpenFile ?
Если прога проверяет наличие файла, то это может осуществляться и при помощи FindFirstFile.
А то, что стек не содержит адреса имени файла - это странно. Что возвращает CreateFileA после выполнения?

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





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 10 октября 2005 13:45
· Личное сообщение · #12

Stranger
Возьми Ольку, поставь в ней бряк на CreateFile и посмотри, как все четко будет видно в стеке... Зачем тебе геморрой с айсом лишний?



Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 14:23 · Поправил: Stranger
· Личное сообщение · #13

Ara
Да к Айсу привык уже. После него в Ольке как-то уже непривычно. И почему геморрой? Айс - это круто!
А все дело, наверное, в выравнивании стека(как писал выше Bitfry), т.к. с другимим функциями раньше такой проблемы не было( во всяком случае не помню).



Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 14:28 · Поправил: Stranger
· Личное сообщение · #14

4kusNick
Айс брякается на CreateFileA, возращаемое значение - как обычно: если файл есть - все Ok, иначе -1.
Я просто знаю какой файл она ищет.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 10 октября 2005 14:44
· Личное сообщение · #15

Stranger пишет:
И почему геморрой? Айс - это круто


Соседний топик:
Stranger пишет:
Установил все патчи, SoftIce запускается, но грузит проц на 100%!
Пробовал отключить все службы (кроме Microsoft) - совсем виснет.

Stranger пишет:
есть другая проблема: комп не выходит из ждущего режим

Stranger пишет:
Кто-нибудь знает почему стоит время, когда загружен SoftIce и как с этим бороться?





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

Создано: 10 октября 2005 15:04
· Личное сообщение · #16

Stranger
Я солидарен с Арой по поводу Ольки, ибо начинал с сайса, хоть и оказался в том числе счастливчиков, у кого сайс поставился нормально и не глючил ни разу, все равно, когда увидел ольку - тут же на нее подсел. Мне нужна была скорость выполнения "поставленных задач" и Олли дала мне возможность делать все максимально быстро, ИМХО в сайсе я бы провозился ни на один час дольше. Много можно спорить, что лучше - Олька или Сайс,

но я отладкой дров на занимаюсь,
винды калечить тоже не хочу,
по-этому с отладчиком не парюсь
и с Олькой все дела свои мучу.



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




Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 16:11
· Личное сообщение · #17

4kusNick
Спорить не буду. Конечно тут можно вспомнить выражение Конфуция "Не стреляйте из пушки по комарам", но в чем же выражается >>скорость выполнения "поставленных задач"<< и как насчет анти- антиотладочных средств у Ольки. У Сайса они есть. И вообще, конкретно можешь обозначить преимущества Ольки - может и впрямь стоит поюзать.
P.S.
А если честно, SoftIce выбрал потому, что все везде кричат "Ice - best", а в первый раз встретил упоминания о Сайсе в учебнике по ASMy. Там он был назван лучшим отладчиком for Windows.
Так что репутация у него железная.



Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 10 октября 2005 16:14
· Личное сообщение · #18

Ara
Там вся проблема заключалась в AVP. Как только его снес все стало работать нормально. Там далее по-моему это написано.




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

Создано: 11 октября 2005 00:00
· Личное сообщение · #19

Stranger
Скорость выполнения "задач" в Ольке намного больше за счет ее удобного интерфейсе, все под рукой, для ольки есть куча плагинов, один из которых - HideDebugger by Asterix. Вот его опции:
IsDebuggerPresent, FindWindow\EnumWindows,TerminateProcess,Unhandled exception tricks, OutputDebugString exploit.

Попробуй все-таки скачать Ольку с краклаба и все плагины для нее накачать. И с установкой никакого гемора нету.Вобщем, как знаешь.

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




Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 11 октября 2005 01:28
· Личное сообщение · #20

Stranger
Очень рекомендую научиться пользоваться OllyDbg, 4kusNick пишет: Скорость выполнения "задач" в Ольке намного больше за счет ее удобного интерфейсе
Но! Про SoftICE забывать тоже не стоит! Считаю спор про то "кто лучше" неуместным ввиду того, что эти отладчики дополняют друг друга, поэтому лучше всего иметь в распоряжении обоих.

-----
Research is my purpose




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

Создано: 11 октября 2005 02:22 · Поправил: Barakuda
· Личное сообщение · #21

Файл открывается через CreateFileA, CreateFileW, CreateFileExA, CreateFileExW. Всё зависит от фантазии разработчиков. В большинстве случаев ф-и анси осуществляют вызов уникода. Так что в первую очередь стоит ставить бряк на функции с суфиксом W. Но есть и исключения.
Крисс Касперски писал что попадаються вызовы и базового апи, так что справедливости ради, не стоит забывать и об NtCreateFile, ZwCreateFile (экспорт с ntdll, ntoskrnl.exe). Тогда уж точно не промахнёшся



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

Создано: 11 октября 2005 02:53
· Личное сообщение · #22

Stranger
Ты точно нормально смотрел строку?

Варианты:
1) d *(esp+4)
2) d (esp+4)->0
3) d esp->4



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 11 октября 2005 03:42
· Личное сообщение · #23

Barakuda пишет:
Файл открывается через CreateFileA

Есть еще функция ReadFile, а если читается .ini файл, то еще нужно добавить GetPrivateProfileString, GetPrivateProfileInt.

-----
Research is my purpose




Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 11 октября 2005 04:38
· Личное сообщение · #24

Ладно, уговорили - попробую юзать Ольку. На первый взгляд интерфейс и впрямь очень удобный, только как поставить бряк на вызов API-функции найти не могу(может плохо искал).С остальными бряками все ясно.



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 11 октября 2005 04:47
· Личное сообщение · #25

Stranger
Бряк на АПИ ставится так: BP MessageBoxA (С учетом регистра)

-----
Подписи - ЗЛО! Нужно убирать!





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

Создано: 11 октября 2005 07:25
· Личное сообщение · #26

Stranger
В ольке, как в сайсе есть возможность все комманды вводить из строки, только нужно соответствующие плагины поставить (в данном случае CommandBar + StatusBar).
Бряк на апи, как сказал nice, но можно еще и BPX - тогда, не придется на уровень выше возвращаться после бряка, т.к. BP ставит бряки в системных библиотеках, откуда ф-я вызывается, а BPX - прямо в проге.

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





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 12 октября 2005 00:04
· Личное сообщение · #27

4kusNick
Эммм... а если проверка целкостности самой себя? BPX тогда не прокатит вроде?! =\ Поэтому наверное лучше лишний раз вернуться...

-----
Computer Security Laboratory





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

Создано: 12 октября 2005 00:31 · Поправил: 4kusNick
· Личное сообщение · #28

[HEX]
Согласен, но это в основном только в подобных случаях. Кто как привык, просто не люблю, когда Оля брякается на функции из апи при использовании этой ф-ции другой прогой. А так - в зависимости от обстановки

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




Ранг: 37.5 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 12 октября 2005 08:03
· Личное сообщение · #29

4kusNick
Попробовал поставить бряк на MessageBoxA, но основная часть проги находится в Dll -> bpx MessageBoxA не ставится ни в exe ни в dll.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 12 октября 2005 08:14
· Личное сообщение · #30

Stranger
Почитай пост найса. Бряк ставится bp, а не bpx.


. 1 . 2 . 3 . >>
 eXeL@B —› Основной форум —› Вопрос по API
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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