97, 1/4 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   babyalpha
   http://www.babyalpha.net
   µ¿¿µ»ó 7¹ø ÆÄÆ®ÀÔ´Ï´Ù.

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


ÇöÀç 7~80% °¡·®¹Û¿¡ ¿Ï·áµÇÁö ¾Ê¾Ò½À´Ï´Ù.
À̹ø µ¿¿µ»óÀº µé¸®Áö ¾Ê´Â ±¸°£ÀÌ Á» ¸¹³×¿ä.
Á¦´ë·Î µé¸®Áö ¾ÊÀººÎºÐ¶§¹®¿¡ ÇÑ±Û ¹ø¿ª ¶ÇÇÑ ½±Áö ¾Ê¾Ò´ø°Å°°³×¿ä.

À̹øÁÖ Á¶±Ý ´õ ½Ã°£À» ³»¾î¼­ ¼ÕÁ» ´õ º¸°Ú½À´Ï´Ù.
¿ì¼± Áö±Ý±îÁö ÇÑ ³»¿ë ¿Ã¸®°Ú½À´Ï´Ù.


µ¿¿µ»ó ÆÄÆ® 7 ³»¿ë...

um, I'm going to have to move on with the presentation here.
ÇÁ·¹Á¨Å×À̼ÇÀ» °è¼Ó ÁøÇàÇÏ°Ú½À´Ï´Ù.
We're real short on time.
½Ã°£ÀÌ ¸¹Áö ¾Ê³×¿ä.
Um¡¦ But I did find the di¡¦..  function, w¡¦. calling 'em.

It actually ¡¦¡¦  get through internet connection
ÀÌ ÇÔ¼ö´Â Á÷Á¢ ¡¦.. ÀÎÅͳݿ¡ ¿¬°áÀ» ÇÕ´Ï´Ù.
and it sets up by default ¡¦¡¦. 4:43 ¡¦¡¦..
±×¸®°í ¡¦. ÀÇ µðÆúÆ® °ªÀ» 4:43 À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
so that's the example, and I apologize I didn't have little bit more time to demonstrate that.
Áö±Ý±îÁö ¼³¸íÇÑ°Ô ¸»¾¸µå¸° ¿¹ÀÔ´Ï´Ù. µ¥¸ó½ºÆ®·¹À̼ÇÀ» À§ÇØ ½Ã°£ÀÌ Á» ºÎÁ·ÇÏ¿© Á˼ÛÇÕ´Ï´Ù.
¡¦¡¦¡¦¡¦.. this is what your idea that we have.

because ¡¦ unpacked ¡¦..you get all of ¡¦¡¦

your imports and all the ¡¦¡¦..

pieces that you want to see.

Briefly ¡¦¡¦. I didn't get to cover all of them.
°£´ÜÈ÷ ¼³¸íÇÏ¸é ¡¦¡¦. ÀüüÀûÀ¸·Î ¼³¸íÀ» µå¸®Áö ¸øÇß½À´Ï´Ù.
Some of the main conventions that I use that I find, keep me on track, and work for me,
Á¦°¡ ÁÖ·Î »ç¿ëÇÏ´Â conventions¸¦ ¼Ò°³ÇØ µå¸®¸é, À½, Á¦°¡ »ç¿ëÇϱ⿡, ÃßÀûÇϱ⿡, Àú¶û °¡Àå Àß ¸Â´Â ¹æ¹ýÀº,
are to bond that analysis go through and find any return instructions,
ºÐ¼®À» Çϸ鼭 ºÐ¼®µÈ ³»¿ëÀ» bondÇÏ°í ¸®ÅÏ instruction¿¡ ´ëÇØ Ã£½À´Ï´Ù.
those are places where your function ¡¦.
±×·± ºÎºÐµéÀÌ Ã£À¸·Á´Â ÇÔ¼ö°¡ ÀÖ´Â °÷ ÀÔ´Ï´Ù.
Mark those first. Because then when you're going trying to figure out, ok, follow this function,
±× ºÎºÐÀ» ¸ÕÀú üũÇÕ´Ï´Ù.
it checks the return value, it seems to be 0 or 1, I don't know which one is success, I don't know which one is failure, oh,
¸®ÅÏ °ªÀ» È®ÀÎÇϸé, 0 ȤÀº 1ÀÏ °ÍÀÔ´Ï´Ù. ¾î¶² °ªÀÌ ¼º°øÀÎÁö ½ÇÆÐÀÎÁö ¾ËÁö ¸øÇÏÁö¸¸,
guess what, this one goes straight to the return function, so that's probably my failure rates,

where the other one go straight down the rest of the, of the, function.
´Ù¸¥ ºÎºÐÀ» ÇÔ¼ö¸¦ ³¡±îÁö Ÿ°í ³»·Á°©´Ï´Ù.
Mark loops. The reason for those are when you are working on a function and there's bunch of these labels which all
·çÇÁ´Â Ç¥½ÃÇϽʽÿä. Ç¥½ÃÇÏ´Â ÀÌÀ¯´Â ÇϳªÀÇ ÇÔ¼ö¸¦ ºÐ¼®Çϸ鼭 ÀÌ·¯ÇÑ Ç¥½ÃµéÀÌ ¸ðµÎ ¸Þ¸ð¸® À§Ä¡¸¦ ³ªÅ¸³»´Â °ÍÀ̸é
initially saying, location of memory address,

if you just mark them as loops,
±×³É ·çÇÁ¶ó°í Ç¥½Ã¸¦ ÇØÁÖ¸é
and I don't ¡¦¡¦.     zero to one, or two, three, I don't care
±×·¸´Ù¸é¡¦.. 0À̵ç 1, ȤÀº 2, 3, »ó°ü¾ø½À´Ï´Ù.
initially, what the loop does.
·çÇÁ°¡ ¹«¾ùÀ» ÇÏ´ÂÁö -----??
Um, that's one more label that you don't have to identify, worry about naming.
±×·¸°Ô µÇ¸é ¶ÇÇϳªÀÇ ¶óº§À» È®ÀÎÇÒ ÇÊ¿ä ¾ø°í ¸íĪÀ» ¾î¶»°Ô ÇؾßÇÒÁö »ý°¢ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.
Name your variables as quick as you can, um, even if you get it wrong initially
º¯¼ö¸í¿¡ ¸íĪÀ» ÃÖ´ëÇÑ ´Ù¼¼¿ä. ¸íĪÀ» À߸ø ´Þ´õ¶óµµ ¸»ÀÌÁÒ.
often time you'll find a scratch variable that you've name something because it's ¡¦..  

later on you find it being used for something completely different.
³ªÁß¿¡ ºÐ¼®ÇØ ³ª°¡´Ùº¸¸é ÀüÇô ´Ù¸¥ ¿ëµµ·Î »ç¿ëÇϴ°ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
What turns out to be a temp variable but at least you've named it, initially while you're working on the program.
Àӽú¯¼ö·Î È®ÀεǴ °Íµµ º¼¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Ç¥½Ã¸¦ Çß¾ú´Ù´Â °Í, ÇÁ·Î±×·¥À» ºÐ¼®Çϸ鼭 ¹Ì¸® Ç¥½ÃÇß´Ù´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
Name convention, by that I mean, when you're trace through a function, and you've got an option

¡¦. jumps to ¡¦¡¦¡¦¡¦
There two things you can do there.
ÀÌ·± »óȲ¿¡¼­ µÎ°¡Áö ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù.
One is, name that label with where, how you got to it.
Çϳª´Â, ¶óº§À» ¾î¶»°Ô ±× À§Ä¡¿¡ °¡°Ô µÇ¾ú´ÂÁö Àû´Â °ÍÀÔ´Ï´Ù.
I, OK, I just checked my internet connection status, I got success, I'm going to name that label that I'm going to internet success.
OK, ¹æ±Ý ÀÎÅÍ³Ý ¿¬°áÀ» È®ÀÎÇÏ¿´°í, ¼º°øµÈ °ÍÀ» È®ÀÎÇÏ¿´À¸¸é, ¶óº§À» 'ÀÎÅÍ³Ý ¿¬°á ¼º°ø' À¸·Î ÀûÀ» °ÍÀÔ´Ï´Ù.
That's actually easy, but that's not the most proper way to do it.
ÀÌ·¸°Ô ÀûÀ¸¸é ½±±â´Â ÇÕ´Ï´Ù. ±×·¯³ª
Reason being, ¡¦¡¦..
more than one part of the program, that jumps to that label.
ÇÁ·Î±×·¥ ¿©·¯±ºµ¥¿¡¼­ ±× ºÎºÐÀ» È£ÃâÇÏ°Ô µË´Ï´Ù. ±×ÂÊ ¶óº§·Î ÁøÇàÀ» ÇϰԵǸç,
See when you try name labels,

what I call the 'From Function', what the, what below that label, what it's function is, name it that.

So it turns out ¡¦¡¦ connection success,
it's says try the FTP, name it try the FTP.
FTP ¿¬°á ½Ãµµ¸¦ Çغ¸¶ó°í µÇ¾îÀÖÀ¸¸é, 'FTP ½Ãµµ'¶ó°í Àû½À´Ï´Ù.
Um.. I didn't get the chance to show you ¡¦ tricks ¡¦
À½, ¡¦ trick À» º¸¿©µå¸± ½Ã°£ÀÌ ¾ø¾ú³×¿ä.
I'm short on time, but I have a register function
½Ã°£ÀÌ ºÎÁ·ÇÕ´Ï´Ù. ¡¦.
to comment every single line. even really really obvious stuff.
¸ðµç ¶óÀο¡ Ä¿¸àÆ®¸¦ ´Þ¾Æ¾ßÇÕ´Ï´Ù. ´ç¿¬ÇÑ ³»¿ëµµ ¸»ÀÌÁÒ.
If you get something like xor %eax %eax, which is assembly shortcut for setting %eax to 0.
¸¸¾à xor %eax %eax °°Àº ¸í·É¾î¸¦ º¸°ÔµÇ¸é, %eax¸¦ 0À¸·Î ¼¼ÆÃÇÏ´Â ¾î¼Àºí¸®¾îÀÇ ´ÜÃà¸í·É¾î ÀÔ´Ï´Ù.
I would go and tag a, uh, a, uh, comment and I'll write in eax = 0.
ÀÌ·¯ÇÑ ¸í·É¾î´Â eax = 0 À̶ó°í Ä¿¸ÇÆ®¸¦ ´ä´Ï´Ù.
Reason for that is later on, when I'm going up the function there is ¡¦.
ÀÌ·¸°Ô Àû´Â ÀÌÀ¯´Â ³ªÁß¿¡ ¾î¶°ÇÑ ÇÔ¼ö¸¦ µû¶ó°¡´Ùº¸¸é
comment sticks out that tells me where exactly eax is now for me to figure out again.
eax°¡ ÇöÀç ¾î¶² °ªÀÎÁö Á¤È®ÇÏ°Ô ¾Ë·ÁÁÖ´Â Ä¿¸àÆ®¸¦ º¼¼ö ÀÖ½À´Ï´Ù.
So I try to comment every single line.
±×·¡¼­ ¸ðµç ¶óÀο¡ Ä¿¸ÇÆ®¸¦ ´ä´Ï´Ù.
I think these are some of the habits of people who have some experience doing disassembly.
Á¦ »ý°¢¿¡´Â µð½º¾î¼Àºí¸®¿¡ ´ëÇØ °æÇèÀÌ ÀÖÀ¸½Å ºÐµéÀº ´ëºÎºÐ ÀÌ·± ¹æ½ÄÀ¸·Î Ç¥½Ã¸¦ ÇÕ´Ï´Ù.
I talked with Rico about this a bit, and he tell me he does almost exactly the same sort of things.
¸®ÄÚ¿Í ÀÌ·¯ÇÑ ³»¿ë¿¡ ´ëÇؼ­ ¾ê±â¸¦ ÇغýÀ´Ï´Ù. ±×°¡ ¸»Çϱ⸦ Àú¿Í °ÅÀÇ °°Àº ¹æ½ÄÀ¸·Î Ç¥½Ã¸¦ ÇÑ´Ù°í ÇÕ´Ï´Ù.
If you're ¡¦.. beginner ¡¦some of these tips will hopefully be helpful.
¸¸¾à ´ç½ÅÀÌ ¡¦.. Ãʺ¸¡¦ Á¦°¡ ¸»¾¸ µå¸®´Â ¸î°¡ÁöÀÇ ÆÁÀÌ µµ¿òÀÌ µÇ°Ú±º¿ä.
Again, moving on quickly, some of the barriers we find here in disassembly.
´Ù½Ã, Á¶±Ý »¡¸® ÁøÇàÇÏ°Ú½À´Ï´Ù. µð½º¾î¼Àºí¸®¸¦ ÇÏ´Ùº¸¸é ¿©·¯ ÀåÇع°À» ¸¸³ª°Ô µË´Ï´Ù.
Packing and crypting which Rico's going to demonstrate, ¡¦ haven't a lot of time but
ÆÐÅ·°ú Å©¸³Æÿ¡ ´ëÇؼ­´Â ¸®ÄÚ°¡ µ¥¸ó½ºÆ®·¹À̼ÇÀ» ÁøÇàÇÏ°Ú½À´Ï´Ù¡¦.. ¸¹Àº ½Ã°£ÀÌ ³²¾Æ ÀÖÁö´Â ¾ÊÁö¸¸
we're going to do our best to do a demonstration here.
µ¥¸ó½ºÆ®·¹À̼ÇÀ» ¸ðµÎ º¸¿©µå¸±¼ö ÀÖµµ·Ï ÃÖ¼±À» ´Ù ÇÏ°í ÀÖ½À´Ï´Ù.
¡¦.. off the orientation.
I just showed you a bunch of places where, um, C++ is causing a little bit of grief.
C++°¡ Â¥Áõ³ª°ÔÇÏ´Â ¸î¸î ºÎºÐÀ» º¸¿©µå·È½À´Ï´Ù.
Um, I didn't show it there ¡¦ example, I didn't have the time too,
¿©±â¼­´Â º¸¿©µå¸®Áö ¾Ê¾Ò´Âµ¥ ¡¦. ½Ã°£ÀÌ ºÎÁ·ÇÏ¿´½À´Ï´Ù.
C stream, um, libraries extensively, and unfortunately
C ½ºÆ®¸², À½,
IDA Pro doesn't have signatures for those.
IDA Pro´Â ÀÌ·¯ÇÑ °ÍµéÀÇ ½Ã±×´ÏÃĸ¦ °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù.
So there where good couple of dozen C stream functions that, um, I didn't know exactly
±×·¡¼­ ¿©±â¼­ º¸¸é 2-30°³ÀÇ C ½ºÆ®¸² ÇÔ¼ö¿¡ ´ëÇؼ­, À½, Àúµµ Á¦´ë·Î ¾ËÁö ¸øÇßÀ¸¸ç
what they where, so I, um, I'm guess in bunch of places.
¹«¾ùÀÎÁöµµ ¸ô¶ú½À´Ï´Ù. ±×·¡¼­, À½, ¿©·¯±ºµ¥¿¡¼­ guess¸¦ ÇؾßÇß½À´Ï´Ù.
And it's really no fun, ¡¦¡¦. a library call.
±×¸®°í ÁøÂ¥ ÀÌ·¯ÇÑ ¡¦¡¦ ¶óÀ̺귯¸® È£ÃâÀº Àç¹Ì¾ø½À´Ï´Ù.
It's complicated and feels like you've wasted your time when you are done
¸Å¿ìº¹ÀâÇÏ¸ç ³¡³­ ´ÙÀ½¿¡ ½Ã°£À» ¿ÏÀü ³¶ºñÇÑ ´À³¦ÀÌÁÒ.
because it's just a string copy, or something like that.
¿Ö³ÄÇϸé ÇÏ´Â °ÍÀº ´Ü¼øÇÑ ½ºÆ®¸µ º¹»ç³ª ±×·± ´Ü¼øÇÑ ÀÛ¾÷À̰ŵç¿ä.
P-Code, um, there's
P-ÄÚµå, À½,
Visual Basic or Jar file.
Which are semi-interpretive functions.
¼¼¹Ì-interpretive ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
some, um, you know, P-code
this is the, uh, the terminal language, and those can some times be a challenge.
ÀÌ°ÍÀº, À½, Å͹̳Π¾ð¾î ÀÔ´Ï´Ù. ±×¸®°í ¾î¶² »óȲ¿¡¼­´Â ¸Å¿ì challenging ÇÕ´Ï´Ù.
There's not a lot of really fantastic tools, I'm looking for analyzing some of those things, um,
ÀÌ·±°ÍÀ» ÇϱâÀ§ÇÑ ¸ÚÁø ÅøÀÌ ÀÖÁö´Â ¾Ê½À´Ï´Ù. ÀÌ·± °ÍÀ» ÇØÁÖ´Â ±×·± ¸ÚÁø ÅøÀ» ã°í ÀÖ±ä ÇÕ´Ï´Ù¡¦ ¸¸Àº¡¦
anti-virus companies have
¹é½Å ¾÷ü¿¡¼­µµ ...
¡¦ of tools that they don't share.
°ø°³ÇÏÁö ¾Ê´Â ÅøÀÌ ÀÖÀ»µí ÇÕ´Ï´Ù.
And you'll find a few if you go to a search engine.
°Ë»ö ¿£ÁøÀ» »ç¿ëÇؼ­µµ ¸î°³ ãÀ»¼ö ÀÖÀ» °Ì´Ï´Ù.
And some of the applications are pain in the butt too.
±×¸®°í ¸î¸î ¾îÇø®ÄÉÀ̼ÇÀº ÁøÂ¥ Â¥Áõ³³´Ï´Ù.
Where you go and over-written by something else.

IDA Pro doesn't have a great way to to represent this.
IDA Pro´Â ÀÌ·¯ÇÑ °ÍÀ» Ç¥½ÃÇÏ´Â ¹æ½ÄÀÌ ÁÁÁö ¾Ê½À´Ï´Ù.






  Hit : 2474     Date : 2011/08/22 11:25



    
¸Û¸Û ¼ö°íÇϼ̽À´Ï´Ù.!! 2011/08/23  
97   ¿À´Ã ÀÛ¾÷ ÇÒ ÆÄÆ® 4~6 ¸µÅ©ÀÔ´Ï´Ù.[4]     ¸Û¸Û
05/17 1622
96   ¾ÆÁ÷¸¹ÀÌÇÏÁö¸øÇ߳׿䠠   d4rkang3l
08/01 1514
95   ¾ÆÂü ¹ø¿ª¹®Àº Á¸´ñ¸»·Î Àû¾îÁÖ¼¼¿ä~ (³Ã¹«)     ¸Û¸Û
05/04 1363
94   ¾ÕÀ¸·Î ¸®½º´×&¹ø¿ªÇϸé ÁÁ°Ú´Ù°í »ý°¢µÇ´Â µ¿¿µ»óµéÀÔ´Ï´Ù.     ¸Û¸Û
05/15 1822
93   ºÐÇÒµÈ µ¿¿µ»óÀ» À¯Åõºê¿¡ ¿Ã·ÁÁÖ½Ç ºÐ ã½À´Ï´Ù.[2]     ¸Û¸Û
05/15 1744
92   ¹ø¿ªÆÀ ºÐµé ÀüÈ­¹øÈ£Á» ÂÊÁö·Î º¸³»ÁÖ¼¼¿ä~     ¸Û¸Û
05/17 1597
91   ¹ø¿ªÆÀ ºÁÁÖ¼¼¿ä~ äÆùæ Á¤Æà ½Ã°£ÀÔ´Ï´Ù.[1]     ¸Û¸Û
05/16 1587
90   ¹ø¿ª ½ºÄÉÁì ¼öÁ¤ÇÏ¿´½À´Ï´Ù.     ¸Û¸Û
05/13 1682
89   ¹ø¿ª part 7 status     babyalpha
08/21 1992
88   ¹ø¿ª ÁøÇàÀÌ Á» ´õµð³×¿ä.[2]     babyalpha
08/06 2179
87   ¸¶Áö¸·, ÆÄÆ® 7~9 ¸µÅ©ÀÔ´Ï´Ù.[2]     ¸Û¸Û
05/20 1342
86   ¸¶Áö¸· ÆÄÆ® ÀÔ´Ï´Ù. ´Ê¾î¼­ Á˼ÛÇÕ´Ï´Ù. ¤¾[1]     k1rha
05/12 1784
85   ¸®½º´× & ¹ø¿ª ½ÃÀÇ ±ÔÄ¢ÀÌ ¾÷µ¥ÀÌÆ® µÇ¾ú½À´Ï´Ù.     ¸Û¸Û
05/21 1661
84   ¸â¹öºÐµé ³×ÀÌÆ®¿Â or Ä«Åå or Æ®À§ÅÍ ±³È¯ÇØ¿ä[4]     ¸Û¸Û
05/03 2047
83   µ¿¿µ»ó ÆÄÀÏÀÔ´Ï´Ù. <- ÀÌ µ¿¿µ»óÀº Á¤ÇØÁø µ¿¿µ»óÀÌ ¾Æ´Ï¿¡¿ä~~[8]     W.H.
05/27 1771
  µ¿¿µ»ó 7¹ø ÆÄÆ®ÀÔ´Ï´Ù.[1]     babyalpha
08/22 2473
81   µÎ ¹ø° ¹ø¿ª ´ë»ó ¹Ì¸® Á¤ÇսôÙ~[8]     ¸Û¸Û
05/25 2032
80   µÎ ¹ø° ¹ø¿ª ´ë»ó °ü·Ã..[5]     ¸Û¸Û
06/16 1877
79   ´Ù¸¥ ºÐµéÀº ¾ó¸¶³ª Çϼ̳ª¿ä?[3]     ahotsuna
07/31 1675
78   ´ÙÅ©¿£Á©´Ô~~     ¸Û¸Û
05/16 1494
77   ³²Àº 10¹ø, 11¹ø ÆÄÆ® ¸®½º´×&¹ø¿ª ÇØÁÖ½Ç ºÐ ã½À´Ï´Ù.[5]     ¸Û¸Û
11/17 2495
76   ±ÞÇÑ´ë·Î 6¹øÆÄÆ®[1]     bluemario
05/11 1910
75   ±³Á¤ ´ã´çÀÚµéÀ» Ãß°¡ ¸ðÁýÇÕ´Ï´Ù.     ¸Û¸Û
05/11 1518
74   ±âÇÑÀÌ...[3]     20500
07/31 1494
73   °¡ÀÔÇß½À´Ï´Ù.     nectars
03/03 1423
1 [2][3][4]

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