Ergebnis 1 bis 4 von 4

Thema: [Reversing algorithms] Well known numbers.

  1. #1
    Moderator
    Registriert seit
    Aug 2004
    Beiträge
    1.310
    Renommee
    1286

    [Reversing algorithms] Well known numbers.

    Letztens durfte ich wieder feststellen, dass man sich eine Menge Arbeite ersparen kann wenn man Algorithmen wiedererkennt. Für den Fall, dass man den Code an sich nicht erkennt, kann man sich ab und zu auch mit Magic Numbers behelfen um einen Anhaltspunkt zu bekommen. Die häufig (aus gutem Grund) in Standardimplementierungen verwendeten Zahlen bilden oft eine Basis die den Algorithmus erst brauchbar/sicher machen. Meist sind es Hash- oder Kodierungs-Verfahren die auf bestimmte Werte oder Tabellen zurückgreifen.
    Ich habe mal ein paar Werte zusammengesucht, vielleicht möchte der ein oder andere ja noch etwas hinzufügen. ;-)

    Code:
    MD5                     0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476
    
    CRC-1	                0x1 or 0x1 (0x1)	
    CRC-5-CCITT             0x15 (0x??)	
    CRC-5-USB               0x05 or 0x14 (0x9)	
    CRC-7                   0x09 or 0x48 (0x11)	
    CRC-8-ATM	        0x07 or 0xE0 (0xC1)	
    CRC-8-CCITT	        0xC7 		
    CRC-8-Dallas/Maxim      0x31 or 0x8C	
    CRC-8                   0xEA	
    CRC-10	                0x233	
    CRC-12	                0x80F or 0xF01 (0xE03)	
    CRC-15-CAN	        0x62CC	
    CRC-16-CCITT            0x1021 or 0x8408 (0x0811)	
    CRC-16-IBM              0x8005 or 0xA001 (0x4003)	
    CRC-16-BBS              0x8408	
    CRC-32-IEEE 802.3       0x04C11DB7 or 0xEDB88320 (0xDB710641)	
    CRC-32C (Castagnoli)    0x1EDC6F41 or 0x82F63B78 (0x05EC76F1)	
    CRC-64-ISO	        0x000000000000001B or 0xD800000000000000 (0xB000000000000001)	
    CRC-64-ECMA-182	        0x42F0E1EBA9EA3693 or 0xC96C5795D7870F42 (0x92D8AF2BAF0E1E85)
    
    TEA                     0x9e3779b9
    
    base64                  "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

  2. #2
    Administrator
    Registriert seit
    Apr 2004
    Beiträge
    754
    Renommee
    1274

    Re: [Reversing algorithms] Well known numbers.

    Gute Idee! Hier noch ein paar weitere Magic Numbers für verbreitete Hash- und Verschlüsselungsalgorithmen:

    Code:
    MD4, RIPEMD-128         0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476 (siehe MD5)
    SHA-1, RIPEMD-160       0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0
    SHA-256                 0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19
    
    BLOWFISH                0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, ...
    RC6                     0xB7E15163, 0x9E3779B9

  3. #3
    Moderator
    Registriert seit
    Aug 2004
    Beiträge
    1.310
    Renommee
    1286

    Re: [Reversing algorithms] Well known numbers.

    CRC 32 Table:
    Spoiler:

    Code:
    00000000 77073096 EE0E612C 990951BA
    076DC419 706AF48F E963A535 9E6495A3
    0EDB8832 79DCB8A4 E0D5E91E 97D2D988
    09B64C2B 7EB17CBD E7B82D07 90BF1D91
    1DB71064 6AB020F2 F3B97148 84BE41DE
    1ADAD47D 6DDDE4EB F4D4B551 83D385C7
    136C9856 646BA8C0 FD62F97A 8A65C9EC
    14015C4F 63066CD9 FA0F3D63 8D080DF5
    3B6E20C8 4C69105E D56041E4 A2677172
    3C03E4D1 4B04D447 D20D85FD A50AB56B
    35B5A8FA 42B2986C DBBBC9D6 ACBCF940
    32D86CE3 45DF5C75 DCD60DCF ABD13D59
    26D930AC 51DE003A C8D75180 BFD06116
    21B4F4B5 56B3C423 CFBA9599 B8BDA50F
    2802B89E 5F058808 C60CD9B2 B10BE924
    2F6F7C87 58684C11 C1611DAB B6662D3D
    76DC4190 01DB7106 98D220BC EFD5102A
    71B18589 06B6B51F 9FBFE4A5 E8B8D433
    7807C9A2 0F00F934 9609A88E E10E9818
    7F6A0DBB 086D3D2D 91646C97 E6635C01
    6B6B51F4 1C6C6162 856530D8 F262004E
    6C0695ED 1B01A57B 8208F4C1 F50FC457
    65B0D9C6 12B7E950 8BBEB8EA FCB9887C
    62DD1DDF 15DA2D49 8CD37CF3 FBD44C65
    4DB26158 3AB551CE A3BC0074 D4BB30E2
    4ADFA541 3DD895D7 A4D1C46D D3D6F4FB
    4369E96A 346ED9FC AD678846 DA60B8D0
    44042D73 33031DE5 AA0A4C5F DD0D7CC9
    5005713C 270241AA BE0B1010 C90C2086
    5768B525 206F85B3 B966D409 CE61E49F
    5EDEF90E 29D9C998 B0D09822 C7D7A8B4
    59B33D17 2EB40D81 B7BD5C3B C0BA6CAD
    EDB88320 9ABFB3B6 03B6E20C 74B1D29A
    EAD54739 9DD277AF 04DB2615 73DC1683
    E3630B12 94643B84 0D6D6A3E 7A6A5AA8
    E40ECF0B 9309FF9D 0A00AE27 7D079EB1
    F00F9344 8708A3D2 1E01F268 6906C2FE
    F762575D 806567CB 196C3671 6E6B06E7
    FED41B76 89D32BE0 10DA7A5A 67DD4ACC
    F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5
    D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252
    D1BB67F1 A6BC5767 3FB506DD 48B2364B
    D80D2BDA AF0A1B4C 36034AF6 41047A60
    DF60EFC3 A867DF55 316E8EEF 4669BE79
    CB61B38C BC66831A 256FD2A0 5268E236
    CC0C7795 BB0B4703 220216B9 5505262F
    C5BA3BBE B2BD0B28 2BB45A92 5CB36A04
    C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D
    9B64C2B0 EC63F226 756AA39C 026D930A
    9C0906A9 EB0E363F 72076785 05005713
    95BF4A82 E2B87A14 7BB12BAE 0CB61B38
    92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21
    86D3D2D4 F1D4E242 68DDB3F8 1FDA836E
    81BE16CD F6B9265B 6FB077E1 18B74777
    88085AE6 FF0F6A70 66063BCA 11010B5C
    8F659EFF F862AE69 616BFFD3 166CCF45
    A00AE278 D70DD2EE 4E048354 3903B3C2
    A7672661 D06016F7 4969474D 3E6E77DB
    AED16A4A D9D65ADC 40DF0B66 37D83BF0
    A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9
    BDBDF21C CABAC28A 53B39330 24B4A3A6
    BAD03605 CDD70693 54DE5729 23D967BF
    B3667A2E C4614AB8 5D681B02 2A6F2B94
    B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D


    CRC 16 Table:
    Spoiler:

    Code:
    0000 C0C1 C181 0140 C301 03C0 0280 C241
    C601 06C0 0780 C741 0500 C5C1 C481 0440
    CC01 0CC0 0D80 CD41 0F00 CFC1 CE81 0E40
    0A00 CAC1 CB81 0B40 C901 09C0 0880 C841
    D801 18C0 1980 D941 1B00 DBC1 DA81 1A40
    1E00 DEC1 DF81 1F40 DD01 1DC0 1C80 DC41
    1400 D4C1 D581 1540 D701 17C0 1680 D641
    D201 12C0 1380 D341 1100 D1C1 D081 1040
    F001 30C0 3180 F141 3300 F3C1 F281 3240
    3600 F6C1 F781 3740 F501 35C0 3480 F441
    3C00 FCC1 FD81 3D40 FF01 3FC0 3E80 FE41
    FA01 3AC0 3B80 FB41 3900 F9C1 F881 3840
    2800 E8C1 E981 2940 EB01 2BC0 2A80 EA41
    EE01 2EC0 2F80 EF41 2D00 EDC1 EC81 2C40
    E401 24C0 2580 E541 2700 E7C1 E681 2640
    2200 E2C1 E381 2340 E101 21C0 2080 E041
    A001 60C0 6180 A141 6300 A3C1 A281 6240
    6600 A6C1 A781 6740 A501 65C0 6480 A441
    6C00 ACC1 AD81 6D40 AF01 6FC0 6E80 AE41
    AA01 6AC0 6B80 AB41 6900 A9C1 A881 6840
    7800 B8C1 B981 7940 BB01 7BC0 7A80 BA41
    BE01 7EC0 7F80 BF41 7D00 BDC1 BC81 7C40
    B401 74C0 7580 B541 7700 B7C1 B681 7640
    7200 B2C1 B381 7340 B101 71C0 7080 B041
    5000 90C1 9181 5140 9301 53C0 5280 9241
    9601 56C0 5780 9741 5500 95C1 9481 5440
    9C01 5CC0 5D80 9D41 5F00 9FC1 9E81 5E40
    5A00 9AC1 9B81 5B40 9901 59C0 5880 9841
    8801 48C0 4980 8941 4B00 8BC1 8A81 4A40
    4E00 8EC1 8F81 4F40 8D01 4DC0 4C80 8C41
    4400 84C1 8581 4540 8701 47C0 4680 8641
    8201 42C0 4380 8341 4100 81C1 8081 4040


    Natürlich muss man da noch die Endianess berücksichtigen. ;-)

  4. #4
    Registered User
    Registriert seit
    Apr 2007
    Beiträge
    28
    Renommee
    84

    Re: [Reversing algorithms] Well known numbers.

    Hi!

    Der crc32-table ist wohl für das IEEE Polynom.
    Der crc16-table ist für das IBM Polynom?
    Ich würde behaupten wollen, dass ccitt häufiger benutzt wird

    Spoiler:
    crc16-ccitt
    Code:
    0000 1021 2042 3063 4084 50a5 60c6 70e7
    8108 9129 a14a b16b c18c d1ad e1ce f1ef
    1231 0210 3273 2252 52b5 4294 72f7 62d6
    9339 8318 b37b a35a d3bd c39c f3ff e3de
    2462 3443 0420 1401 64e6 74c7 44a4 5485
    a56a b54b 8528 9509 e5ee f5cf c5ac d58d
    3653 2672 1611 0630 76d7 66f6 5695 46b4
    b75b a77a 9719 8738 f7df e7fe d79d c7bc
    48c4 58e5 6886 78a7 0840 1861 2802 3823
    c9cc d9ed e98e f9af 8948 9969 a90a b92b
    5af5 4ad4 7ab7 6a96 1a71 0a50 3a33 2a12
    dbfd cbdc fbbf eb9e 9b79 8b58 bb3b ab1a
    6ca6 7c87 4ce4 5cc5 2c22 3c03 0c60 1c41
    edae fd8f cdec ddcd ad2a bd0b 8d68 9d49
    7e97 6eb6 5ed5 4ef4 3e13 2e32 1e51 0e70
    ff9f efbe dfdd cffc bf1b af3a 9f59 8f78
    9188 81a9 b1ca a1eb d10c c12d f14e e16f
    1080 00a1 30c2 20e3 5004 4025 7046 6067
    83b9 9398 a3fb b3da c33d d31c e37f f35e
    02b1 1290 22f3 32d2 4235 5214 6277 7256
    b5ea a5cb 95a8 8589 f56e e54f d52c c50d
    34e2 24c3 14a0 0481 7466 6447 5424 4405
    a7db b7fa 8799 97b8 e75f f77e c71d d73c
    26d3 36f2 0691 16b0 6657 7676 4615 5634
    d94c c96d f90e e92f 99c8 89e9 b98a a9ab
    5844 4865 7806 6827 18c0 08e1 3882 28a3
    cb7d db5c eb3f fb1e 8bf9 9bd8 abbb bb9a
    4a75 5a54 6a37 7a16 0af1 1ad0 2ab3 3a92
    fd2e ed0f dd6c cd4d bdaa ad8b 9de8 8dc9
    7c26 6c07 5c64 4c45 3ca2 2c83 1ce0 0cc1
    ef1f ff3e cf5d df7c af9b bfba 8fd9 9ff8
    6e17 7e36 4e55 5e74 2e93 3eb2 0ed1 1ef0
    OffTopic:
    Btw, PEiD (mit dem KANAL-Plugin) ist ein tolles Programm. Kennt ihr evtl. sowas das plattformunabhängig oder für Linux ist?
    Es wird ja nicht einfach reichen, die einzelnen 16, 32 oder 64 bit Zahlen irgendwo im Programm zu finden, oder?

    EDIT: Grob klappt das wohl, aber die einzelnen Hashs lassen sich daran kaum unterscheiden. Was ist eigentlich so "besonders" and diesen Initialwerten, dass die überall benutzt werden.
    Geändert von lagalopex (11.02.2008 um 22:08 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [Reversing Malware]Analyse des Wurms "Tibick.D"
    Von Lesco im Forum Reverse Engineering
    Antworten: 7
    Letzter Beitrag: 25.10.2006, 12:24
  2. Reversing: Secrets of Reverse Engineering
    Von Boardleitung im Forum Buch Tipp
    Antworten: 2
    Letzter Beitrag: 14.04.2006, 22:20
  3. Trythis0ne- Hacking\Reversing\Encryption challenges system.
    Von trythis im Forum Good Sites & Services
    Antworten: 0
    Letzter Beitrag: 15.02.2006, 19:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •