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

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 : 2923     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  
97   angr¿¡¼­ ½ºÅà ÁÖ¼Ò ±¸Çϱâ[3]     turttle2s
05/24 1712
96   ¾Æ½ºÅ° ¹üÀ§ ¹Û ÆäÀ̷εå Àü¼Û ½Ã, 0xc2°¡ ºÙ´Â Çö»ó[7]     turttle2s
05/11 1649
95   angr Áú¹®[2]     turttle2s
04/24 1713
94   ¸®¹ö½Ì Çٽɿø¸®¸¦ °øºÎÇÏ´Ù°¡ ¸·Çû½À´Ï´Ù.     aaasss445
06/12 2083
93   quickbms ÀÇ ¿ø¸®°¡ ±Ã±ÝÇÕ´Ï´Ù.     sa0814
05/10 1866
92   ÄݽºÅÿ¡ ¾Æ¹«°Íµµ ¾øÀ» °æ¿ì¿¡´Â ¾î¶»°Ô ÇؾßÇϳª¿ä..[2]     mij9929
01/14 1663
91   ollydbg 64bit ½ÇÇà ºÒ°¡ ¿Ö ÀÌ·±°ÅÁÒ? ¤Ð[4]     4ru4ka
04/24 3867
90   º¯¼ö ¼±¾ð½Ã ½ºÅÿ¡¼­ÀÇ À§Ä¡[5]     turttle2s
11/13 2076
89   Äڵ忣Áø Basic 02¿¡¼­     healer
04/08 2128
88   win32 api ¹× Áø·Î..?[2]     user0
02/26 3422
87   ¸Þ¸ð¸® ÁÖ¼Ò º¯°æ µÇ´Â ¹®Á¦¿¡ °üÇØ Áú¹®ÇÕ´Ï´Ù.[2]     jjunici
12/17 3446
86   ida¿¡¼­ ºÐ¼®ÇÒ ¶§,,,[3]     vngkv123
11/30 2280
85   ¸®¹ö½Ì-µð½º¾î¼Àºí¸®-µð¹ö°Å¿¡ ¹®ÀÇÁ»..     leonardo6
10/13 2501
84   dumpcode Çì´õÆÄÀÏ ¸»Àä..[1]     ys200209
07/20 2421
83   ¸®¹ö½Ì __security_cookie[3]     healer
07/17 3549
  ´Ü¼ø ¸®¹ö½Ì °ü·Ã Áú¹®[8]     ewqqw
06/11 2922
81   elf ¹ÙÀ̳ʸ® ÆÐÄ¡ Áú¹®...[2]     vngkv123
06/07 3234
80   IDA hexray·Î º¸¾ÒÀ» ¶§...[2]     vngkv123
05/29 2762
79   µð½º¾î¼ÀºíµÈ ÄÚµåµé Áß¿¡¼­..[2]     vngkv123
05/14 2834
78   °ÔÀÓ º¸¾È (½ÎÀÎÄÚµå, X-Trap, °ÔÀÓ°¡µå) ºÐ¼® ¹ý·ü ±Ã±ÝÇÕ´Ï´Ù![4]     ¼È·Ï38
03/17 3981
1 [2][3][4][5]

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