Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6460
Последний выпуск: 19.06.2015

Убрать GUI

77K
03 сентября 2012 года
reconnect
25 / / 30.07.2012
Добрый день! Нужно убрать GUI в приложении, дабы запускалось без него, у самого неполучается, все эксперименты сводятся либо к неработоспособности программы, либо всё остаётся без изменений...

Вложение

Приложение из под отладчика не запускается, так что пропатчить showwindow не представляю как.
405
03 сентября 2012 года
CassandraDied
763 / / 24.05.2012
Хекс редактором.
77K
03 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: CassandraDied
Хекс редактором.


А поподробнее можно....

405
03 сентября 2012 года
CassandraDied
763 / / 24.05.2012
Цитата: reconnect
Цитата: CassandraDied
Хекс редактором.


А поподробнее можно....


HIEW.

77K
03 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: CassandraDied
Цитата: reconnect
Цитата: CassandraDied
Хекс редактором.


А поподробнее можно....


HIEW.


Полной версии ненашёл, демка не переваривает 5 мб, и вообще не пойму в чём отличие от ollydebug

80K
03 сентября 2012 года
MorskoyZmey
23 / / 02.09.2012
Вам для себя нада? есть вариант написать хук какойнибудь или просто свою программку, которая находит интересующий вас хэндл окошка. GetTopWindow и вперед.
Но я бы сделал свою программку, которая запускает вашу как дочерний процесс. Так удобней контроль получить
CreateProcess
В него передается структурка STARTUPINFO
dwFlags=STARTF_USESHOWWINDOW
wShowWindow = SW_HIDE
77K
03 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: MorskoyZmey
Вам для себя нада? есть вариант написать хук какойнибудь или просто свою программку, которая находит интересующий вас хэндл окошка. GetTopWindow и вперед.
Но я бы сделал свою программку, которая запускает вашу как дочерний процесс. Так удобней контроль получить


Хук хороший вариант, но интересует именно прямой патчинг екзешника.

80K
03 сентября 2012 года
MorskoyZmey
23 / / 02.09.2012
Цитата: reconnect
Цитата: MorskoyZmey
Вам для себя нада? есть вариант написать хук какойнибудь или просто свою программку, которая находит интересующий вас хэндл окошка. GetTopWindow и вперед.
Но я бы сделал свою программку, которая запускает вашу как дочерний процесс. Так удобней контроль получить


Хук хороший вариант, но интересует именно прямой патчинг екзешника.



Тогда вам нужно через прогу (названия не помню, на ней Гомер Симпсон на икошке) какую-нибудь узнать адрес функции ShowWindowA из либы user32. И хекс едитом каким нибудь найти эти байты. а там вычислить место, где в стек помещается аргумент SW_DEFAULT (скорее всего) и пропатчить на нужное.
ЗЫ удачи :)
UPD
Думаю можно просто скомпилить свою прогу и вывести указатель на функцию :)
UPD2
Когда свою прогу компилишь, адрес может и не совпасть с тем что в экзешнике... Так что нужно сделать dll инъекцию и внутри выполнить код, который и выведет адрес
UPD3
Ты можешь откомпилить код, который делает ShowWindow(SW_DEFAULT); и затем в хексе позырить "сигнатуру" такого кода и искать его.
Но это все безтолку, если прожка упакована. Потому что странно что в оле не открыть.
UPD4

 
Код:
#include <windows.h>
#include <conio.h>
#include <stdio.h>

int main(int argc,char *argv[])
{
    printf("%p",ShowWindow);
    _getch();
    return 0;
}
Выдает: 7E37AF56
269
04 сентября 2012 года
arrjj
1.7K / / 26.01.2011
vmunpacker + IDA + editpadpro
Но если прога с gui то лучше именно скрыть окно сторонней прогой ( тем же ShowWindow с SW_HIDE параметром ) , иначе всё скорее всего сломается.
85K
04 сентября 2012 года
Narik1983
1 / / 04.09.2012
Если не нужна форма то и создавать ее не нужно
Книга Delphi глазами хакера, там все это есть статья "Без окон без дверей", и про хуки там тоже есть...
77K
04 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: Narik1983
Если не нужна форма то и создавать ее не нужно
Книга Delphi глазами хакера, там все это есть статья "Без окон без дверей", и про хуки там тоже есть...


Исходников нет, только реверс.

Нашёл это окошко через редактор ресурсов, можно ли его здесь скрыть, удаление самого ресурса приводит к запуску без окна но с ошибкой.... код окна, есть мысли?

Код:
object fmQuickConnect: TfmQuickConnect
  Left = 0
  Top = 0
  BorderIcons = [biSystemMenu, biMinimize]
  BorderStyle = bsSingle
  Caption = 'Agent'
  ClientHeight = 774
  ClientWidth = 420
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  Position = poScreenCenter
  OnClose = FormClose
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object pnHeader: TPanel
    Left = 0
    Top = 0
    Width = 420
    Height = 100
    Align = alTop
    BevelEdges = [beBottom]
    BevelKind = bkTile
    BevelOuter = bvNone
    Color = clWhite
    ParentBackground = False
    ShowCaption = False
    TabOrder = 2
    DesignSize = (
      420
      98)
    object LogoImage: TImage
      Left = 17
      Top = 33
      Width = 48
      Height = 48
    end
  end
270
04 сентября 2012 года
Alexander92
1.1K / / 04.08.2008
Добавить Visible = false не получится?
77K
04 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: Alexander92
Добавить Visible = false не получится?


Пробывал, не получается, сообсна теперь вопрос звучит подругому, как отредактировать диалог чтобы скрыть форму?

457
04 сентября 2012 года
QWERYTY
595 / / 25.03.2012
Цитата: Alexander92
Добавить Visible = false не получится?



Или поменять

ClientHeight = 774
ClientWidth = 420

на

ClientHeight = 0
ClientWidth = 0 ?

77K
04 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: QWERYTY
Цитата: Alexander92
Добавить Visible = false не получится?



Или поменять

ClientHeight = 774
ClientWidth = 420

на

ClientHeight = 0
ClientWidth = 0 ?


тоже пробывал, к сожалению нет...

77K
05 сентября 2012 года
reconnect
25 / / 30.07.2012
Вообщем получилось запустить из под olly с плагином FhantOm. Проблема не решена, пробывал совсем удалить данный диалог из ресурсов программы, появляется ошибка, GUI нет, прога работает, может будет легче скрыть ошибку?
77K
05 сентября 2012 года
reconnect
25 / / 30.07.2012
Всем спасибо всё решил, нашёл адресс окна поставил ретн =)
405
05 сентября 2012 года
CassandraDied
763 / / 24.05.2012
Цитата: reconnect
Всем спасибо всё решил, нашёл адресс окна поставил ретн =)


Ну вот, только хотел поделиться с тобой адресом, а ты уже всё сам нашёл. Кстати, retn, если ты поставил его сразу после входа в в функцию, которая создаёт окно - эт очень плохо, а нигде в другом месте, как мне кажется, ты и не мог её поставить. Там же дальше, после создания, если бы ты посмотрел, с хэндлом окна производятся разные манипуляции, например, всякие SetWindowLongW и проч. Нехорошо будет, если какой-нибудь функции передастся невалидный хэндл и она кинет исключение. Ну, не нативная апи, они не кидают эксепшенов, кажется, а что-нибудь другое. Программа упадёт, а ты можешь об этом и не узнать. Всё-таки допили скрывалку, тем более, что ты уже знаешь, где находится создание окна, сделай после CreateWindowExW прыжок на свой код и вызови в нём ShowWindow. И всё будет лучше, чем сейчас, если нигде нет проверки CRC, но её нет, иначе ты не пропатчил бы retn.
Кстати, вот тут нашёл создание окна 00411B43.

77K
05 сентября 2012 года
reconnect
25 / / 30.07.2012
Цитата: CassandraDied
Цитата: reconnect
Всем спасибо всё решил, нашёл адресс окна поставил ретн =)


Ну вот, только хотел поделиться с тобой адресом, а ты уже всё сам нашёл. Кстати, retn, если ты поставил его сразу после входа в в функцию, которая создаёт окно - эт очень плохо, а нигде в другом месте, как мне кажется, ты и не мог её поставить. Там же дальше, после создания, если бы ты посмотрел, с хэндлом окна производятся разные манипуляции, например, всякие SetWindowLongW и проч. Нехорошо будет, если какой-нибудь функции передастся невалидный хэндл и она кинет исключение. Ну, не нативная апи, они не кидают эксепшенов, кажется, а что-нибудь другое. Программа упадёт, а ты можешь об этом и не узнать. Всё-таки допили скрывалку, тем более, что ты уже знаешь, где находится создание окна, сделай после CreateWindowExW прыжок на свой код и вызови в нём ShowWindow. И всё будет лучше, чем сейчас, если нигде нет проверки CRC, но её нет, иначе ты не пропатчил бы retn.
Кстати, вот тут нашёл создание окна 00411B43.


там где я поставил вроде ничё такого нет

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог