97, 3/5 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ewqqw
   EXAMPLE1.exe (85.5 KB), Download : 31     [¿À¸¥ÂÊ ¹öư ´­·¯ ´Ù¿î ¹Þ±â]
   ´Ü¼ø ¸®¹ö½Ì °ü·Ã Áú¹®

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_Reversing&no=109 [º¹»ç]


³×.. ÷ºÎ ÆÄÀÏÀ» ½ÇÇàÇØ º¸¸é ¾Ë°ÚÁö¸¸, ¿Ã¹Ù¸¥ °ªÀ» ³ÖÀ¸¸é Correct! °¡ ¶ß°í Ʋ¸®¸é Wrong!ÀÌ ¶ß´Â ´Ü¼øÇÑ MFC ÆÄÀÏÀÔ´Ï´Ù...

¾ÆÀÌ´Ù·Î ÀÏ´Ü À§ÀÇ ¹®ÀÚ¿­À» °Ë»öÇØ¼­ ÇÔ¼ö¸¦ ã¾Ò½À´Ï´Ù~

int __thiscall sub_4017F0(char *this)
{
  int result; // eax@2

  if ( sub_401730(this) )
    result = mfc120u_2262(L"Correct!", 0, 0);
  else
    result = mfc120u_2262(L"Wrong!", 0, 0);
  return result;
}

³×.. ¾Æ¸¶µµ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ» this·Î ¹Þ°í ºñ±³ÇÏ´Â ÇÔ¼ö ÀÎ°Í °°³×¿ä..

¿©±â¼­ ¹®Á¦ÀÇ sub_401730(this)ÀÇ ¹Ýȯ°ªÀÌ 1ÀÌ»óÀÌ¿©¾ß Correct°¡ ¶ãÅÙµ¥¿ä...  

±× ÇÔ¼ö¸¦ º¸¸é,

bool __thiscall sub_401730(char *this)
{
  char *v1; // esi@1
  signed int v2; // ecx@1
  int v3; // eax@3
  bool v4; // bl@7
  wchar_t *Str; // [sp+Ch] [bp-10h]@1
  int v7; // [sp+18h] [bp-4h]@1

  v1 = this;
  mfc120u_296(&Str);
  v7 = 0;
  mfc120u_7704(v1 + 192, &Str);
  v2 = *((_DWORD *)Str - 3);
  v4 = 0;
  if ( v2 >= 8 && v2 <= 8 )
  {
    v3 = wtoi(Str);
    if ( v3 )
    {
      if ( v3 < 10000000 && v3 % 10000 == 36 && v3 / 10000 == 933 )
        v4 = 1;
    }
  }
  mfc120u_1042(&Str);
  return v4;
}

³×... bool ÇüÀ¸·Î ÂüÀÏ °æ¿ì¿¡´Â 1À», °ÅÁþÀÏ °æ¿ì¿¡´Â 0À» ¹Ýȯ½ÃÄÑ Áֳ׿ä..

ÀÏ´Ü ÀԷ¹޴ this¸¦ vi ¿¡ ÀúÀå½ÃÄÑ ³õ°í, Á¤Ã¼¸¦ ¾Ë ¼ö ¾ø´Â mfc¶ó´Â ÇÔ¼ö¸¦ ½ÇÇà½ÃŰ³×¿ä.. Àú ÇÔ¼ö¸¦ ÃßÀûÇØ ºÃ´Âµ¥, ´çÃÖ ¹«½¼ ¼Ò¸®ÀÎÁö..

±×¸®°í v7 ¿¡ 0À» Áý¾î³Ö°í

¶Ç ¾Ë ¼ö ¾ø´Â mfc¶ó´Â ÇÔ¼ö¸¦ ½ÇÇà½ÃŰ³×¿ä.

±×´ÙÀ½¿£, v2¿¡ str¿¡¼­ 3À» »« °ªÀ» Áý¾î³Ö½À´Ï´Ù

v4¿¡´Â ÀÏ´Ü 0À» Áý¾î³Ö³×¿ä

..

±×·¸½À´Ï´Ù.
»ç½Ç Àú mfc¶ó´Â ÇÔ¼ö¸¸ ¾Æ´Ï¸é ÇØ¼® °¡´ÉÇÑ ¹®Á¦Àε¥...

¸ð¸£°Ú³×¿ä ¾î¶»°Ô ÇØ¾ßÇÒÁö ¤Ð¤Ð

µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð

  Hit : 3920     Date : 2017/06/11 04:04



    
ÇØÄð·¯ mfc120u_2262´Â ¸Þ¼¼Áö¹Ú½º¸¦ ¶ç¿ì´Â ÇÔ¼ö°í¿ä
mfc120u_296Àº string Ŭ·¡½ºÀÇ constructor
mfc120u_1042´Â string Ŭ·¡½ºÀÇ destructor
ÀÔ´Ï´Ù ±×·¯´Ï±î ±Ã±ÝÇØÇϽŠÇÔ¼öµéÀº ºÐ¼®´ë»óÀÌ ¾Æ´Ï¶õ°ÅÁÒ
Àü mfc¸¦ ¸ð¸£±â ¶§¹®¿¡ Ŭ·¡½ºÀ̸§Àº ±×³É ´ëÃæ ¿ªÇÒ¿¡ ¸Â°Ô ½è½À´Ï´Ù
2017/06/12  
ewqqw 7704´Â ¹¹ÇÏ´Â ÇÔ¼öÀΰ¡¿ä? 2017/06/12  
ÇØÄð·¯ ¾Æ Á¦°¡ ¾´ ÇÔ¼öµéÀÌ ¾Æ´Ï¶ó 7704°¡ ±Ã±ÝÇÏ´Ù°í ½á³õÀ¸¼Ì¾ú±º¿ä ¸øºÃ½À´Ï´Ù
7704´Â ¹®ÀÚ¿­ º¹»çÇÔ¼ö°¡ ¾Æ´Ò±î ½Í½À´Ï´Ù
v1+192´Â v1¿¡ ´ëÇÑ thisÆ÷ÀÎÅÍÀϰŰí(¾ÆÀÌ´Ù¿¡¼­ char *À¸·Î ÇØ³õ±ä ÇßÁö¸¸ ¾Æ¸¶ MFCÀÇ Å¸ÀÔÀϰ̴ϴÙ) v1ÀÌ °®°í ÀÖ´Â ¹®ÀÚ¿­À» StrÀ̶ó´Â »õ·Î¿î ÀνºÅϽº¿¡ º¹»çÇÏ´Â°Ô ¾Æ´Ò±î ½Í³×¿ä µð¹ö±ëÇØº¸½Ã¸é Á»´õ È®½ÇÇÒ°Í °°½À´Ï´Ù. ¾Æ´Ï¸é ´Ü¼ø strcpy°¡ ¾Æ´Ñ strupper, strlowerµîÀϼöµµ ÀÖ°í¿ä
2017/06/12  
ewqqw v2 = *((_DWORD *)Str - 3); ´Â È®½ÇÈ÷ ¹«¾ùÀ» ÀǹÌÇϳª¿ä?
»ý¼ÒÇÑ Ç¥ÇöÀ̶ó Á¦°¡ ÇØ¼®ÇÑ ¹Ù°¡ ¸Â´ÂÁö ¸ð¸£°Ú³×¿ä...
2017/06/13  
ÇØÄð·¯ Àǹ̴ StrÀ̶ó´Â Æ÷ÀÎÅÍ º¯¼ö°¡ °¡¸£Å°´Â ÁÖ¼Ò°ª¿¡¼­ (sizeof(DWORD*)*3)¸¸Å­ »« ±× ÁÖ¼Ò¸¦ µð·¹ÆÛ·±½ºÇØ °ªÀ» °¡Á®¿À°Ú´Ù´Â ¶æÀε¥, Á¦ ÃßÃøÀ¸·Î´Â MFC Èü ¸ÞŸµ¥ÀÌÅÍ¿¡¼­ ÇöÀç ÈüÀÇ »çÀÌÁ °¡Á®¿À´Â ¹æ½ÄÀ¸·Î Str->size() ¸¦ °¡Á®¿Â°Ô ¾Æ´Ò±î ½Í½À´Ï´Ù. ¸®¹ö½Ì¿¡¼­´Â ÀÌ·±½ÄÀ¸·Î ÃßÃøÀ» ÇϵÇ, ÃßÃø¸¸ Çϴ°ÍÀÌ ¾Æ´Ï¶ó ·±Å¸ÀÓ¿¡¼­ µð¹ö±ëÀ» ÇØº¸¸é¼­ ÃßÃøÀ» °ËÁõÇÏ¼Å¾ß ÇÕ´Ï´Ù 2017/06/13  
ewqqw ±×·¸´Ù¸é, ÀÔ·ÂÇÑ this ÀÇ °ªÀ» v1¿¡ ÀúÀåÇϰí, thisÀÇ °ªÀ» (v1+192)¸¦ ÀÌ¿ëÇØ¼­ Str¿¡ ÀúÀåÇϰí,

ÀÌÁ¦ v2ÀÇ °ª, Áï Str ÀÇ SIZE°¡ 8ÀÚ¸® ¶ó¸é(±×·±µ¥ ÀÌ 8ÀÚ¸®¿¡¼­´Â ¸¶Áö¸· NULL°ªµµ µé¾î°¡´Â °Ç°¡¿ä?)if¹®ÀÌ ½ÇÇàÀÌ µÇ¾î¼­ v3¿¡ wtoiÇÔ¼ö¸¦ »ç¿ëÇØ StrÀÇ ¼ýÀÚµéÀ» ÀúÀåÇϰí(atoi¿Í wtoiÀÇ Â÷ÀÌÁ¡À» Àß ¸ð¸£°Ú½À´Ï´Ù..¸¸ Str¿¡ ÀÖ´Â ¼ýÀÚ¸¦ v3¿¡ ÀúÀåÇÑ´Ù´Â °ÍÀº ¾Ë°Ú³×¿ä) ÇÏ¿©Æ° v3´Â 0ÀÌ ¾Æ´Ï¹Ç·Î ¶Ç´Ù½Ã if¹®ÀÌ ½ÇÇàµÇ¼­
ÀÌÁ¦ v3ÀÇ °ªÀ» ºñ±³Çϴµ¥, ÀÏ´Ü 10000000¹Ì¸¸ À̾î¾ß Çϸç, 10000À¸·Î ³ª´©¾úÀ» ¶§ ³ª¸ÓÁö°¡ 36ÀÌ°í ¸òÀÌ 933 À̸é v4°ªÀÌ 1ÀÌµÇ¾î °á±¹ CORRECT°¡ ¶ß´Â Çü½ÄÀΰŠ¸Â³ª¿ä? ±×·¯¸é °á±¹ ÀÔ·ÂÇØ¾ß ÇÏ´Â °ªÀº 9330036¾Æ´Ñ°¡¿ä? ±×·±µ¥ ÀÔ·ÂÇϸé WrongÀÌ ³ª¿À³×¿ä.. ¹«¾ùÀÌ ¹®Á¦Àϱî¿ä?
2017/06/13  
ÇØÄð·¯ ±Û½ê¿ä.. ÀÌ¹Ì ¸»¾¸À» µå·ÈÁö¸¸ µ¿ÀûºÐ¼® ¾øÀÌ´Â ¼Ò½ºÄڵ常 º¸°í¼­´Â ¸î°³ ÇÔ¼öÀÇ ¿ªÇÒµµ ¸ð¸£´Â »óÅ¿¡¼­ ¿ÏÀüÇÑ ºÐ¼®À» ÇÏ±â ¾î·Æ½À´Ï´Ù. ¿¹¸¦µé¾î¼­ Áö±Ý ¿ì¸®°¡ ¸ð¸£´Â 7704°¡ ¹®ÀÚ¿­º¹»ç°¡ ¾Æ´Ï¶ó hex string -> number¸¦ ÇØÁÖ´Â ÇÔ¼öÀÏ ¼öµµ ÀÖ±¸¿ä ¾î¶² ¹®ÀÚ¿­ÀÇ checksumÀ» °è»êÇØÁÖ´Â ÇÔ¼öÀÏ ¼öµµ ÀÖ½À´Ï´Ù. Áö±Ý ÇÏ°í °è½Å °ÍÀº Á¤È®ÇÏÁö ¾ÊÀº ºÐ¼®¿¡ ±â¹ÝÇØ ¾î¶² ±âÃÊÀûÀÎ ±â¹ÝÀ» Á¤¸®Çϰí, ±× Á¤¸®¸¦ ¹ÙÅÁÀ¸·Î ³í¸®±¸Á¶¸¦ ÆÄ¾ÇÇÏ¿© ÇØ¼®ÇϽŰǵ¥, ÀüÁ¦ ÀÚü°¡ ¿ÇÁö ¾ÊÀ» °æ¿ì ¹«ÀǹÌÇÑ ºÐ¼®À» ÇÏ°í °è½Å°ÅÁÒ 2017/06/14  
ewqqw ¾Æ~~ ÇØ°áµÇ¾ú½À´Ï´Ù~
Á÷Á¢ µð¹ö±ë ÇÏ´Ù º¸´Ï±ñ V2°¡ È®½ÇÈ÷ ¹®ÀÚ¿­ÀÇ °¹¼ö¸¦ ÀúÀåÇÏ´Â º¯¼öÀ̳׿ä
±×·±µ¥ '¹®ÀÚ'¿­ ÀÌ´Ù º¸´Ï±ñ
±× wtoiÇÔ¼ö¿¡¼­ ¼ýÀÚ 7°³·Î ÀνÄÀ» ÇØ¾ßÇØ¼­
09330036ÀÌ ´äÀ̳׿ä~~ »ç½Ç 9330036µÚ¿¡ ¾Æ¹« ¹®ÀÚ¸¦ ½áµµ Åë°ú³×¿ä
°¨»çÇÕ´Ï´Ù~~
2017/06/14  
57   Ǫ¸¥ÇϴôԲ² °³ÀÎÁú¹®....[2]     creamitation
06/20 3827
56   ¸®¹ö½Ì °øºÎ µµÁß...[1]     whitetie
06/05 3840
55   ¸®¹ö½Ì °ü·ÃÇØ¼­ ¼±¹è´Ôµé¿¡°Ô Áú¹®µå¸®°í ½ÍÀº°ÔÀִµ¥¿ä.     rptprl123
10/12 3843
54   ÀÚ±â¾ÐÃà½ÇÇàÈ­ÀÏ?? IDA³ª ¿Ã¸®µð¹ö±×·Î ±î¸é ¿£Æ®¸®Æ÷ÀÎÆ®°¡ ¾ø´Ù°í³ª¿É´Ï´Ù[4]     kywoo81
09/16 3908
53   [Ãʺ¸] ¸®ÅϾîµå·¹½º Áú¹®ÀÔ´Ï´Ù[2]     hjt7942
05/19 3911
  ´Ü¼ø ¸®¹ö½Ì °ü·Ã Áú¹®[8]     ewqqw
06/11 3919
51   PE Viewer¿¡¼­ÀÇ Base of code¶û ollydbg¿¡¼­ÀÇ Base of codeÀÇ °ªÀÌ ´Ù¸¨´Ï´Ù.[1]     6¿ù
08/31 3954
50   udd ÆÄÀÏÀ» ºÒ·¯¿ÀÁö ¸øÇÏ´Â ¹®Á¦[1]     Å×Ã÷
02/10 3969
49   ¸®¹ö½Ì(¾î¼Àºí¸®¾î) ±âÃÊ Áú¹®Á» µå¸®°Ú½À´Ï´Ù[2]     skyclad1975
12/10 3989
48   À©µµ¿ì ¸®¹ö½Ì°ú ¾Èµå·ÎÀÌµå ¸®¹ö½Ì..[1]     hallohackers
01/26 3990
47   Æ÷¸Ë½ºÆ®¸µ °øºÎÁß ±Ã±ÝÇѰÍÀÌ Àִµ¥¿ä.     kumi123
04/05 4010
46   ¿äÁò reverscore °Ô½ÃÆÇ º¸°íÀִµ¥..[4]     ¸Þ¹ö¸®Å°
08/08 4054
45   TranslateMessage ÇÔ¼ö¸¦ ¸¸³µÀ»¶§ ¾î¶»°Ô ÀԷ°ªÀ» Áà¾ß µÇ³ª¿ä?[3]     attainer
09/22 4056
44   ¸®¹ö½Ì ¹®Á¦ Ǫ´Â Áß¿¡ ±Ã±ÝÇÑ Á¡ÀÌ ÀÖ½À´Ï´Ù.[5]     ansuz0710
08/10 4073
43   ÇÁ·Î±×·¥ ƯÁ¤ ¿µ¿ª ½ÇÇà °¨Áö.[2]     Einsteins
08/24 4153
42   ¾î¼Àºí¸®¾î °øºÎ ÇÒ‹š¿ä ~~~[2]     gadia1
07/04 4166
41   elf ¹ÙÀ̳ʸ® ÆÐÄ¡ Áú¹®...[2]     vngkv123
06/07 4268
40   ¸®¹ö½º ¿£Áö´Ï¾î¸µ ¹ÙÀ̺íÀ» Àдٰ¡ ±Ã±ÝÇÑ Á¡ÀÌ »ý°å´Âµ¥¿ä¤Ð![1]     tjswn7051
10/14 4284
39   ¸®¹ö½ÌÀÇ·ÚÇÏ·ÁÇÕ´Ï´Ù[1]     eastgm
01/31 4285
38   ¾î¼Àºí¸® JA Áú¹®ÀÌ¿ä.[1]     6¿ù
08/31 4451
[1][2] 3 [4][5]

Copyright 1999-2026 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org