• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            聚星亭

            吾笨笨且懶散兮 急須改之而奮進(jìn)
            posts - 74, comments - 166, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            比賽的地址是:http://www.ghoffice.com/bbs/read-htm-fid-97-tid-63475.html

            引用一下原題目:

                  引用的內(nèi)容    
            編程樂(lè)園的人氣貌似不強(qiáng),難道大家無(wú)會(huì)編程的?

            希望各大高手,新手通通出馬.盡現(xiàn)你的才華哦.


            PS:該帖來(lái)自編程樂(lè)園的轉(zhuǎn)向,所有權(quán)在編程樂(lè)園,應(yīng)當(dāng)采用編程樂(lè)園的規(guī)則,希望大家不要放水


            比賽內(nèi)容:【打印99乘法口訣】(簡(jiǎn)單吧)

            要求:用最短的,最奇怪,或著是最有特色代碼,語(yǔ)言不限,禁抄襲

            評(píng)獎(jiǎng):到50帖時(shí)

            獎(jiǎng)勵(lì)設(shè)置:

            一等獎(jiǎng) (1名)100論壇幣    50威望

            二等獎(jiǎng)(2名)80論壇幣  30威望

            三等獎(jiǎng)(3名)50論壇幣   20威望

            優(yōu)秀獎(jiǎng)(若干)10論壇幣   5威望

            還會(huì)機(jī)會(huì)獲得勛章哦!

            Quote:

            回帖要求:

            1、貼圖

            2、源代碼




            很簡(jiǎn)單的題目,可是要求是:要不你精簡(jiǎn),要不你奇特,我看到這個(gè)比賽題目的時(shí)候,沒(méi)有辦法,人家已經(jīng)把我知道的精簡(jiǎn)式的代碼幾乎貼完了,那我也就只能來(lái)個(gè)奇特的了,用shellcode實(shí)現(xiàn),代碼如下:

            #include "stdio.h"
            #include 
            "windows.h"
            typedef unsigned 
            char       BYTE;

            typedef VOID (CALLBACK 
            *MYSPRINTF)(char *const char *);
            typedef VOID (CALLBACK 
            *MYLSTRCAT)(char *char *);
            typedef VOID (CALLBACK 
            *MYMSGBOX)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);

            MYSPRINTF mySprintf 
            = (MYSPRINTF)GetProcAddress(LoadLibraryA("msvcr71.dll"), "sprintf"); 
            MYLSTRCAT myStrCat 
            = (MYLSTRCAT)GetProcAddress(LoadLibraryA("KERNEL32.dll"), "lstrcatA"); 
            MYMSGBOX  myMsgBox 
            = (MYMSGBOX)GetProcAddress(LoadLibraryA("user32.dll"), "MessageBoxA"); 


            BYTE    buf[]        
            = {    0xB8,0x00,0x12,0x00,0x00,0xE8,0xAE,0x00,0x00,0x00,0x55,0x56,0x57,0xB9,0x7F,0x00,\
                                    
            0x00,0x00,0x33,0xC0,0x8D,0x7C,0x24,0x0D,0xC6,0x44,0x24,0x0C,0x00,0xC6,0x84,0x24,\
                                    
            0x0C,0x02,0x00,0x00,0x00,0xF3,0xAB,0x66,0xAB,0xAA,0xB9,0xFF,0x03,0x00,0x00,0x33,\
                                    
            0xC0,0x8D,0xBC,0x24,0x0D,0x02,0x00,0x00,0xBE,0x01,0x00,0x00,0x00,0xF3,0xAB,0x66,\
                                    
            0xAB,0xAA,0xBF,0x01,0x00,0x00,0x00,0x3B,0xF7,0x7C,0x33,0x8B,0xEE,0xA1,0x18,0x61,\
                                    
            0x40,0x00,0x55,0x57,0x56,0x8D,0x4C,0x24,0x18,0x50,0x51,0xFF,0x15,0x20,0x86,0x40,\
                                    
            0x00,0x83,0xC4,0x14,0x8D,0x54,0x24,0x0C,0x8D,0x84,0x24,0x0C,0x02,0x00,0x00,0x52,\
                                    
            0x50,0xFF,0x15,0x28,0x86,0x40,0x00,0x47,0x03,0xEE,0x3B,0xFE,0x7E,0xCF,0x8D,0x8C,\
                                    
            0x24,0x0C,0x02,0x00,0x00,0x68,0x24,0x61,0x40,0x00,0x51,0xFF,0x15,0x28,0x86,0x40,\
                                    
            0x00,0x46,0x83,0xFE,0x0A,0x7C,0xAB,0x6A,0x00,0x8D,0x94,0x24,0x10,0x02,0x00,0x00,\
                                    
            0x68,0x28,0x61,0x40,0x00,0x52,0x6A,0x00,0xFF,0x15,0x24,0x86,0x40,0x00,0x5F,0x5E,\
                                    
            0x5D,0x81,0xC4,0x00,0x12,0x00,0x00,0xC3\
                                };

            BYTE AllocBuf[]        
            = {    0x51,0x3D,0x00,0x10,0x00,0x00,0x8D,0x4C,0x24,0x08,\
                                    
            0x72,0x14,0x81,0xE9,0x00,0x10,0x00,0x00,0x2D,0x00,\
                                    
            0x10,0x00,0x00,0x85,0x01,0x3D,0x00,0x10,0x00,0x00,\
                                    
            0x73,0xEC,0x2B,0xC8,0x8B,0xC4,0x85,0x01,0x8B,0xE1,\
                                    
            0x8B,0x08,0x8B,0x40,0x04,0x50,0xC3\
                                    };
            const char    *pConChar        = "%d*%d=%-4d\0";
            const char      *pTitle        = "九九乘法表\0";
            char          *pNchar        = "\n";

            void main()

                
            long*    pVoid = (long *)buf;
                __asm
                {
                    CALL pVoid;
                }
            }

            就這樣了,貼小效果的圖片吧:


            貼一下bin和SRC:
            bin和Src       (說(shuō)明,由于全部用了硬編碼,所以,有可能在各位的電腦上不能正常運(yùn)行!)
            MS:本程序在WinXP SP3下測(cè)試通過(guò)!

            Feedback

            # re: 廣海社區(qū) --- 編程大塞題目《打印九九乘法表》  回復(fù)  更多評(píng)論   

            2009-03-26 19:28 by vfer
            其實(shí)有一種方法 有效率又很小

            # re: 廣海社區(qū) --- 編程大塞題目《打印九九乘法表》[未登錄](méi)  回復(fù)  更多評(píng)論   

            2010-01-13 08:04 by MasterLuo
            小論壇吧。

            # re: 廣海社區(qū) --- 編程大塞題目《打印九九乘法表》  回復(fù)  更多評(píng)論   

            2012-01-10 10:45 by 小菜貓
            胖子這么變態(tài)。。。
            puts("1x1=1");
            .....
            puts("9x9=81");

            久久99精品国产自在现线小黄鸭| 久久精品这里热有精品| 日韩欧美亚洲综合久久影院d3| 久久精品国产精品亚洲| 国产精品久久成人影院| 国产精品内射久久久久欢欢| 久久夜色撩人精品国产小说| 久久精品国产亚洲αv忘忧草| 亚洲国产成人精品久久久国产成人一区二区三区综 | 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 久久久久人妻精品一区三寸蜜桃| 国产精品久久久久9999| 精品久久久久久无码人妻热 | 97久久精品国产精品青草| 亚洲精品国产美女久久久| 久久国产精品久久国产精品| 久久婷婷是五月综合色狠狠| 久久久久亚洲AV无码专区体验| 国产午夜电影久久| 亚洲狠狠婷婷综合久久久久| 精品久久香蕉国产线看观看亚洲 | 久久青青草原精品国产| 久久久久18| 九九热久久免费视频| 欧美喷潮久久久XXXXx| 婷婷久久综合九色综合九七| 色综合色天天久久婷婷基地| 久久久久亚洲av无码专区| 一级做a爰片久久毛片人呢| 综合久久精品色| 欧美一区二区精品久久| 精品久久久久久国产潘金莲| 久久久久亚洲精品日久生情| 久久久WWW成人| 久久亚洲av无码精品浪潮| 久久久精品久久久久久| 久久久久国产一区二区| 久久久久国色AV免费观看| 久久综合九色综合久99| 久久亚洲中文字幕精品一区| 久久综合视频网|