Сейчас на форуме: asfa, _MBK_ (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Исследование Printsniffer 1.0.0.55
Посл.ответ Сообщение

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

Создано: 19 июля 2009 10:01
· Личное сообщение · #1

доброго времени суток !
я нуб в этом деле..поэтому хотелось бы попросить помощи и подсказки (именно подсказки..т.е. ход мыслей)
есть прога printsniffer (именно версия указанная в сабже)...прога в принципе рабочая..НО..есть nag который постоянно вываливается...ковырял сие чудо при помощи ollydbg. возникли вот какие вопросы:
1. чем лучше ломать НАГ окна ?
2. в ходе ковыряния проги вроде думаю вызов окна стоит на адресе 00432130 (так ли это ?)
3. как в ассемблере может выглядеть код нажатия MOUSECLICK (ну типа нажатие мышкой)

собсно линк upload.com.ua/get/900711218/?mode=free
(сорри за файлообменный линк)..вес проги всего лишь 555328 байт

буду благодарен за любую помощь.



Ранг: 20.5 (новичок), 3thx
Активность: 0.010
Статус: Участник

Создано: 19 июля 2009 10:51 · Поправил: coolangel
· Личное сообщение · #2

XUNTER пишет:
как в ассемблере может выглядеть код нажатия MOUSECLICK (ну типа нажатие мышкой)


Может выглядеть как угодно. Если программа написана на делфи или билдере, то можно найти этот кусочек кода, декомпилировав программу,например,DeDe.



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

Создано: 19 июля 2009 10:55
· Личное сообщение · #3

Microsoft Visual C++ 6.0
(по словам peid)




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 19 июля 2009 11:26
· Личное сообщение · #4

вот этот переход
Code:
  1. 00463068   .  74 1A         JE SHORT PrintSni.00463084

должен не сработать только при втором вызове
прыгни куда-нибудь и сделай счётчик например

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 19 июля 2009 11:50 · Поправил: -=Hellsing=-
· Личное сообщение · #5

XUNTER пишет:
чем лучше ломать НАГ окна ?


Бери ollydbg и вперёд, ставишь бряк на API с помощью, которой можно создать такой диалог
находишь и ломаешь….

XUNTER пишет:
как в ассемблере может выглядеть код нажатия MOUSECLICK (ну типа нажатие мышкой)


Смотря, какая часть мышки нажата левая, или правая, примерно это выглядит так...

Вот как это выглядит, если нажата левая кнопка мыши на Ассемблере в MASM32.

Code:
  1. elseif uMsg==WM_LBUTTONDBLCLK;
  2.                  invoke MessageBox,hWnd,addr message,addr caption,MB_ICONASTERISK


Тоже самое только после компиляции в MASM32

Code:
  1.  0040111E      817D 0C 03020>CMP DWORD PTR SS:[EBP+C],203 ; elseif uMsg==WM_LBUTTONDBLCLK проверяем если нажата левая кнопка мыши
  2. 203 левая  кнопка мыши нажата,  205 правая кнопка мыши  нажата
  3. 00401125   .  75 16         JNZ SHORT Hellsing.0040113D
  4. 00401127   .  6A 40         PUSH 40                                  ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
  5. 00401129   .  68 00304000   PUSH Hellsing.00403000                   ; |Title = "About"
  6. 0040112E   .  68 06304000   PUSH Hellsing.00403006                   ; |Text = "dialog box."
  7. 00401133   .  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
  8. 00401136   .  E8 53000000   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA ; Показываем MessageBoxA




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

Создано: 19 июля 2009 13:06
· Личное сообщение · #6

НАГ вываливается когда переходишь с TAB-вкладки на TAB-вкладку....и при запуске проги...пытался искать где как бы заканчивается вывод окна при стартапе и начинается сама прога...

2 isaev
поподробнее можно расшифровать ?
должен НЕ сработать...это к чему ?...тот адрес что я написАл в 1-ом посте это не верный путь ?

2 hellsing
203 - это всегда есть нажатие левой кнопки ?
и потом...API функция вывода окна не всегда ведь есть MessageBoxA ?
GetWindowLongA или SetWindowTextA вот эти вещи я вижу в olldbg...



Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 19 июля 2009 14:45 · Поправил: -=Hellsing=-
· Личное сообщение · #7

XUNTER пишет:
203 - это всегда есть нажатие левой кнопки ?

Не всегда, этот код я привёл в качестве примера, почитай в WIN32.HLP про WM_LBUTTONDBLCLK.

XUNTER пишет:
и потом...API функция вывода окна не всегда ведь есть MessageBoxA ?


Это тоже я привёл в качестве примера. глянь на MSDN с помощью, каких API можно создавать диалоги....

Чтобы наг, не появлялся в этой программе достаточно изменить пару команд по этим адресам...

1. Адрес в программе, где можно обойти, наг заменив Je на JMP
Code:
  1.   
  2. 00463062   . /74 52         JE SHORT PrintSni.004630B6 

2. Адрес в программе, где можно обойти, наг заменив Je на JMP
Code:
  1.   
  2. 00431A0C   . /0F84 BA000000 JE PrintSni.00431ACC

3.Адрес в программе, где можно обойти, наг заменив команду PUSH 0A0 на PUSH 0
Code:
  1.   
  2. 0043214F      68 00000000   PUSH 0A0

PUSH 0A0. Это ID диалога нага в Hex системе счисления если, посмотреть, в PE Explorer ID нага будет, 160 если перевести в Hex то получается, ID диалога нага = 0A0 в OllyDbg, находишь команду PUSH 0A0 и заменяешь на PUSH 0 …...



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

Создано: 19 июля 2009 17:02
· Личное сообщение · #8

погоди....это все 3 варианта ?...или одно общее ?...
и расскажи плиз как нужно было выйти на эти адреса ?
с помощью ollydbg это все возможно было ?
id диалога я знал (w32dsm)...
я вот по адресу подпрограммы 432130 исправил было ret 4 на ret 8....там кста есть ссылка на id....и наг при запуске не появлялся...однако вроде после прога просто вылетала при переходе по ТАБам



Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 19 июля 2009 18:11 · Поправил: -=Hellsing=-
· Личное сообщение · #9

XUNTER пишет:
погоди....это все 3 варианта ?...или одно общее ?...


Чуть не так выразился.. Это все 3 варианта...достаточно изменить, по адресу 0043214F PUSH 0A0 на PUSH 0 что бы наг больше не появлялся, при переходе по ТАБам, и при запуске программы...

Выбирай, что тебе больше нравиться, из этих 3-х вариантов, и меняй PUSH 0A0 на PUSH 0,или, Je на JMP...В одном месте, и будет тебе счастье...

XUNTER пишет:
с помощью ollydbg это все возможно было ?

Возможно!!!



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

Создано: 20 июля 2009 10:34 · Поправил: XUNTER
· Личное сообщение · #10

!!!
на самом деле было все попроще.....
поменял push 0a0 на <любой> и все... !!!!!!!!

а эти 3 варианта чет не так сработали...сам попробуй...

оказываца еще не все....
при выгрузке в рапорт данные о печатях берутся с mdb файла, в который ранее записываются данные...однако вместо printername и computer забивается DEMO VERSION
что нить по этому поводу ?



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

Создано: 20 июля 2009 10:35 · Поправил: XUNTER
· Личное сообщение · #11

remove it



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

Создано: 20 июля 2009 16:06 · Поправил: XUNTER
· Личное сообщение · #12

remove it




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 20 июля 2009 17:54
· Личное сообщение · #13

Есть волшебная кнопка Правка, чтоб вот так кучу постов подряд не ляпать.



Ранг: 25.8 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 20 июля 2009 21:06 · Поправил: -=Hellsing=-
· Личное сообщение · #14

[ deleted]


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


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