Ida Free 5
Redigera ->-segment ->CreateSegment
i dialogrutan
segmentnamn = seg001 .... seg00nstart = <startadress dvs 0x0Aend = <end adress dvs 0x1ebase = 0x0 klass = lite text dvs 32one, 32two, 16threeradio-knapp = 32-bitars segment eller 16 bitars segment efter behov klicka ja till en kryptisk dialog
exempel den binära strömmen innehåller 16-bitars dos rutinmässigt och 32-bitars slumpmässiga tryck blandade
C: \ Documents and Settings \ Admin \ Desktop>xxd -g 1 1632blob.bin0000000: b4 01 cd 21 88 c2 b4 02 cd 21 68 78 56 34 12 68 ...! .....! HxV4.h0000010: 0d d0 37 13 68 be ba 37 13 68 00 0d db ba b4 01 ..7.h..7.h ...... 0000020: cd 21 88 c2 b4 02 cd 21 68 78 56 34 12 68 0d d0.! .....! HxV4.h..0000030: 37 13 68 be ba 37 13 68 00 0d db ba b4 01 cd 21 7.h..7.h .......! 0000040: 88 c2 b4 02 cd 21 68 78 56 34 12 68 0d d0 37 13. ....! hxV4.h..7.000 0050: 68 be ba 37 13 68 00 0d db ba h..7.h .... C: \ Documents and Settings \ Admin \ Desktop>
laddar denna blob som binär fil flyttar till förskjutning 0 och tryck på c skulle ta isär alla byte som 16 bitar
nu kan du gå till förskjutning 0x0a och skapa ett 32-bitars segment med start som 0x0a slut som 0x1e bas som 0x0 klass som 32on använd 32bitsegment-knapp och tryck på c kod> igen för att skapa 32-bitars demontering
se nedan
seg000: 0000; seg000: 0000; + ------------------------------------------------- ------------------------ + seg000: 0000; ¦ Den här filen genereras av The Interactive Disassembler (IDA) ¦seg000: 0000; ¦ Copyright (c) 2010 av Hex-Rays SA, <support@hex-rays.com> ¦
seg000: 0000; ¦ Licensierad till: Freeware version ¦seg000: 0000; + ------------------------------------------------- ------------------------ + seg000: 0000; seg000: 0000; Ingång MD5: AEB17B9F8C4FD00BF2C04A4B3399CED1seg000: 0000seg000: 0000; -------------------------------------------------- ------------------------- seg000: 0000seg000: 0000 .686pseg000: 0000 .mmxseg000: 0000 .modell flatseg000: 0000seg000: 0000; -------------------------------------------------- ------------------------- seg000: 0000seg000: 0000; Segmenttyp: Ren kodeg000: 0000 seg000 segmentbyte offentlig 'CODE' användning16seg000: 0000 antar cs: seg000seg000: 0000 antar es: seg005, ss: seg005, ds: seg005, fs: seg005, gs: seg005seg000: 0000 B4 01 mov ah, 1seg000: 0002 CD 21 int 21hseg000: 0004 88 C2 mov dl, alseg000: 0006 B4 02 mov ah, 2seg000: 0008 CD 21 int 21hseg000: 0008 seg000 endsseg000: 0008seg001: 0000000A; -------------------------------------------------- ------------------------- seg001: 0000000Aseg001: 0000000A; Segmenttyp: Regularseg001: 0000000A seg001 segment byte public '32one' use32seg001: 0000000A antar cs: seg001seg001: 0000000A; org 0Ahseg001: 0000000A antar es: ingenting, ss: ingenting, ds: ingenting, fs: ingenting, gs: nothingseg001: 00 78 56 34 12 tryck 12345678hseg001: 0000000F 68 0D D0 37 13 tryck 1337D00Dh
seg001: 00000014 68 BE BA 37 13 push 1337BABEhseg001: 00000019 68 00 0D DB BA push 0BADB0D00hseg001: 00000019 seg001 endsseg001: 00000019seg002: 001E; -------------------------------------------------- ------------------------- seg002: 001Eseg002: 001E; Segmenttyp: Ren kodeg002: 001E seg002 segment byte public 'CODE' use16seg002: 001E antar cs: seg002seg002: 001E; org 1Ehseg002: 001E antar es: seg005, ss: seg005, ds: seg005, fs: seg005, gs: seg005s B4 01 mov ah, 1seg002: 0020 CD 21 int 21hseg002: 0022 88 C2 mov dl, alseg002: 0024 B4 02 mov ah, 2seg002: 0026 CD 21 int 21hseg002: 0026 seg002 endsseg002: 0026seg003: 00000028; -------------------------------------------------- ------------------------- seg003: 00000028seg003: 00000028; Segmenttyp: Regularseg003: 00000028 seg003 segment byte offentlig '32two' use32seg003: 00000028 antar cs: seg003seg003: 00000028; org 28hseg003: 00000028 antar es: ingenting, ss: ingenting, ds: ingenting, fs: ingenting, gs: nothingseg003: 00000028 68 78 56 34 12 push 12345678hseg003: 0000002D 68 0D D0 37 13 push 1337D00Dhseg003: 00000032 68 BE BA 37 13 push 1337BABEhseg003: 00000037 68 00 0D DB BA push 0BADB0D00hseg003: 00000037 seg003 endsseg003: 00000037seg004: 003; -------------------------------------------------- ------------------------- seg004: 003Cseg004: 003C; Segmenttyp: ren kod
seg004: 003C seg004 segment byte offentlig 'CODE' användning16seg004: 003C antar cs: seg004seg004: 003C; org 3Chseg004: 003C antar es: seg005, ss: seg005, ds: seg005, fs: seg005, gs: seg005seg004: 003 , 1seg004: 003E CD 21 int 21hseg004: 0040 88 C2 mov dl, alseg004: 0042 B4 02 mov ah, 2seg004: 0044 CD 21 int 21hseg004: 0044 seg004 endsseg004: 0044seg005: 00000046; -------------------------------------------------- ------------------------- seg005: 00000046seg005: 00000046; Segmenttyp: Regularseg005: 00000046 seg005 segment byte offentlig '32three' use32seg005: 00000046 antar cs: seg005seg005: 00000046; org 46hseg005: 00000046 antar es: ingenting, ss: ingenting, ds: ingenting, fs: ingenting, gs: nothingseg005: 00000046 68 78 56 34 12 push 12345678hseg005: 0000004B 68 0D D0 37 13 push 1337D00Dhseg005: 00000050 68 BE BA 37 13 push 1337BABEhseg005: 00000055 68 00 0D DB BA push 0BADB0D00hseg005: 00000055 seg005 endsseg005: 00000055seg005: 00000055s: 00000055s före>