Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Чито юзает IE когда отображает BMP? (https://forum.antichat.xyz/showthread.php?t=209948)

mal41k 08.06.2010 08:30

Чито юзает IE когда отображает BMP?
 
собсно сабж
ищу API которым IE подгружает и отображает BMP в контексте страницы

З.Ы. для чего? скажу тому кто отпишет первым ;)

POS_troi 08.06.2010 08:40

А зачем ослику API для работы с BMP? 0_0

Код:

#ifndef BITMAP_H_
#define BITMAP_H_

#include <string>
#include <sstream>
#include <windows.h>

class Bitmap {
  public:
    Bitmap();
    Bitmap(std::string const& file_name);

    operator HBITMAP() const;

  protected:
    friend class MemoryDC;
    Bitmap(HBITMAP);
    HBITMAP bitmap_;
};

#endif

Код:

#include "Bitmap.h"

/*! \page bmps_in_memory drawing on Bitmaps in Memory
 *
 *  If you want to use bitmaps in memory and draw upon them,
 *  you have to follow these steps:
 *
 *  \li 1 Allocate a MemoryDC (this is a memory device context used for the drawing operations
 *        which a device context provides)
 *  \li 2 Create a CompatibleBitmap
 *  \li 3 Select this compatible Bitmap into the memory device context (the bitmap now becomes
 *        the surface for the drawing operations made onto the device context. Keep the
 *        return value for unselecting it again
 *  \li 4 do your drawings
 *  \li 5 unselect the selected bitmap
 *
 *
 * See the following code for an example.
 *
 *  \code
 
  MemoryDC memDc;
  CompatibleBitmap compBmp(memDc, width, height);
  Bitmap oldBmp = memDc.Select(compBmp);
     
  // Your drawing operations go here
 
  memDc.Select(oldBmp);

 *  \endcode
 *
 *
 *
 */

Bitmap::Bitmap() : bitmap_(0) {}

Bitmap::Bitmap(std::string const& file_name) {
  bitmap_ = static_cast<HBITMAP>(::LoadImage(0, file_name.c_str(), IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION));
}

Bitmap::Bitmap(HBITMAP bmp) : bitmap_(bmp) {

}

Bitmap::operator HBITMAP() const {
  return bitmap_;
}


mal41k 08.06.2010 08:43

откуда код?
ослик юзает API для парсинга BMP-шки
я случайно вывалил IE 7 самодельной BMP-шкой с неправильным форматом заголовка, хочу проследить на каком этапе вылет
OllyDbg первый раз вижу поэтому и спрашиваю про работу IE

Gar|k 08.06.2010 14:29

гы реально каникулы начались... хакеры забросили дневники и сели рисовать в paint

POS_troi 08.06.2010 14:53

Цитата:

ослик юзает API для парсинга BMP-шки
Ну после этого мне тут делать нечего.. я тупой.

Ins3t 08.06.2010 15:27

Цитата:

А зачем ослику API для работы с BMP? 0_0
Затем, что работа с графическими изображениями в Windows NT осуществляется посредством API функция. Просто зачастую мы используем готовые классы, которые освобождают нас от лишнего геморроя.

Вот, к примеру, класс Bitmap, который ты выложил, использует API функции.

POS_troi 08.06.2010 15:31

2Ins3t

Просто я не так выразился а код выложил какраз по делу.

Gar|k 08.06.2010 22:38

по теме
http://msdn.microsoft.com/en-us/library/aa286572.aspx
http://msdn.microsoft.com/en-us/library/ms533797
http://www.rsdn.ru/article/gdi/gdiplus1.xml
http://msdn.microsoft.com/en-us/library/dd183385.aspx

фтыкай фтыкатель

mal41k 09.06.2010 18:48

Цитата:

Сообщение от Gar|k
по теме
http://msdn.microsoft.com/en-us/library/aa286572.aspx
http://msdn.microsoft.com/en-us/library/ms533797
http://www.rsdn.ru/article/gdi/gdiplus1.xml
http://msdn.microsoft.com/en-us/library/dd183385.aspx

фтыкай фтыкатель

Оooo....да ^_^ [засунул и застегнул ширинку]
спасиб, очень помогло, осталось шелкод научится вставлять :confused:


Время: 00:38