PDA

Просмотр полной версии : Чито юзает IE когда отображает BMP?


mal41k
08.06.2010, 08:30
собсно сабж
ищу 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_CREATEDIBSECTI ON));
}

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
по теме
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: