Чито юзает IE когда отображает BMP?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by mal41k, 8 Jun 2010.

  1. mal41k

    mal41k New Member

    Joined:
    10 May 2010
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    собсно сабж
    ищу API которым IE подгружает и отображает BMP в контексте страницы

    З.Ы. для чего? скажу тому кто отпишет первым ;)
     
    #1 mal41k, 8 Jun 2010
    Last edited: 8 Jun 2010
    1 person likes this.
  2. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    А зачем ослику API для работы с BMP? 0_0

    Code:
    #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
    
    
    
    Code:
    #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_;
    }
    
    
     
  3. mal41k

    mal41k New Member

    Joined:
    10 May 2010
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    откуда код?
    ослик юзает API для парсинга BMP-шки
    я случайно вывалил IE 7 самодельной BMP-шкой с неправильным форматом заголовка, хочу проследить на каком этапе вылет
    OllyDbg первый раз вижу поэтому и спрашиваю про работу IE
     
    #3 mal41k, 8 Jun 2010
    Last edited: 8 Jun 2010
  4. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    гы реально каникулы начались... хакеры забросили дневники и сели рисовать в paint
     
    _________________________
  5. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Ну после этого мне тут делать нечего.. я тупой.
     
    1 person likes this.
  6. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Затем, что работа с графическими изображениями в Windows NT осуществляется посредством API функция. Просто зачастую мы используем готовые классы, которые освобождают нас от лишнего геморроя.

    Вот, к примеру, класс Bitmap, который ты выложил, использует API функции.
     
    #6 Ins3t, 8 Jun 2010
    Last edited: 8 Jun 2010
  7. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    2Ins3t

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

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    по теме
    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

    фтыкай фтыкатель
     
    _________________________
    #8 Gar|k, 8 Jun 2010
    Last edited: 8 Jun 2010
  9. mal41k

    mal41k New Member

    Joined:
    10 May 2010
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Оooo....да ^_^ [засунул и застегнул ширинку]
    спасиб, очень помогло, осталось шелкод научится вставлять :confused:
     
    #9 mal41k, 9 Jun 2010
    Last edited: 9 Jun 2010