C:\Windows\assembly\NativeImages_v4.0.30319_64
में पाया *.ni.dll.aux
फ़ाइलों के प्रारूप (डेटा लेआउट) क्या है? मैं समझता हूँ कि इन सहायक ngen.exe
द्वारा उत्पन्न फ़ाइलें हैं। उनमें क्या डेटा है?`* .ni.dll.aux` फ़ाइलों का स्वरूप क्या है?
उत्तर
विश्लेषण से पता चलता है कि यह एक काफी सरल प्रारूप होने के लिए (के रूप में हंस Passant ने बताया)। फ़ाइल स्तर पर, रिकॉर्ड स्तर, और गृहीत स्तर (इन मनमाना शर्तों मैं स्पष्टता के लिए उपयोग कर रहा हूँ कर रहे हैं): यह एक प्रकार शब्द 3 स्तरों पर लंबाई शब्द द्वारा पीछा किया है।
[email protected]:~/stackoverflow/17681514$ ./job.py System.Net.ni.dll.aux
00000005 (00000204): 0b000000bc0000000d000000...00000000000000000000cccc
0000000b (000000bc): 0d0000005000000053797374...00000000000000000000cccc
0000000d: (00000050) 'System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\x00\xcc\xcc'
00000007: (00000004) '\t\x11\x00\x00'
00000002: (00000008) '\x00i,\x03c]\xcd\x01'
00000008: (00000014) '\xf3\xd8#\x08\xf7\x08\x9a$1\x11\xb8\x18Rv\[email protected]\xa1y\xb2.'
0000000a: (00000024) '\x011.0.23-106002268\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xcc'
00000004 (00000098): 010000004c0000006d73636f...00000000000000000000cccc
00000001: (0000004c) 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\x00'
00000003: (00000010) '\x9d\xa5\xbb3\xcd\x1c4\xb7\x85\x1c\x08\x8f\x0c\xf7I\xcc'
0000000a: (00000024) '\x011.0.23-106002119\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xcc'
00000004 (00000098): 010000004c00000053797374...00000000000000000000cccc
00000001: (0000004c) 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\x00\xcc\xcc'
00000003: (00000010) '\xe30[\xdb\xd0>\xf9\x19\x05\x1a\xa7\xf2x:\xc3*'
0000000a: (00000024) '\x011.0.23-106003331\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xcc'
यहाँ स्क्रिप्ट (संवर्द्धित विकसित) है कि इसके बाद के संस्करण उदासीनता:
इसएक सिंहावलोकन है
[email protected]:~/stackoverflow/17681514$ cat job.py
#!/usr/bin/python
import sys, os, struct
def dump(infile):
data = read(infile)
filelength = len(data)
filetype, length, data = next(data)
assert filelength == length + 8
print '%08x (%08x): %s' % (filetype, length, snippet(data))
lengthcheck = 8
while data:
recordtype, recordlength, data = next(data)
lengthcheck += 8 + recordlength
#debug('remaining data: %s' % snippet(data))
record, data = data[:recordlength], data[recordlength:]
print ' %08x (%08x): %s' % (recordtype, recordlength, snippet(record))
recordcheck = 0 # not 8 because record header was already not counted
while record:
subrecordtype, subrecordlength, record = next(record)
recordcheck += 8 + subrecordlength
datum, record = record[:subrecordlength], record[subrecordlength:]
print ' %08x: (%08x) %s' % (subrecordtype, subrecordlength, repr(datum))
assert recordcheck == recordlength
assert lengthcheck == filelength
def next(data):
'each chunk is a type word followed by a length word'
if not data:
typeword, length = 0, 0
elif len(data) > 16:
typeword = struct.unpack('<I', data[:4])[0]
length = struct.unpack('<I', data[4:8])[0]
else:
raise Exception('Invalid data length %d' % len(data))
return typeword, length, data[8:]
def read(filename):
input = open(filename, 'rb')
data = input.read()
input.close()
return data
def snippet(data):
snippet = data[:12].encode('hex')
if len(data) > 12:
snippet += '...'
if len(data) > 24:
snippet += data[-12:].encode('hex')
return snippet
def debug(message):
if __debug__:
if message:
print >>sys.stderr, message
return True
if __name__ == '__main__':
for infile in sys.argv[1:]:
dump(infile)
प्रत्येक रिकॉर्ड एक subrecord प्रकार 0xA जो एक संस्करण संख्या प्रतीत होता है प्रकार के। subrecord प्रकार 0x3 एक GUID हो सकता है, बस इसकी लंबाई के आधार पर। 0x1 और 0xd प्रकार वर्णनात्मक हैं। मुझे कोई सुराग नहीं है कि subrecord प्रकार 0x7 और 0x2 हो सकता है। शायद 0x7 एक 32-बिट मिलान .dll में ऑफसेट है, लेकिन प्रकार 0x2 में 64-बिट संख्या मेरे लिए विशेष रूप से कुछ भी सुझाव नहीं देता है। 0x8 टाइप करें, 20 बाइट लंबा, कुछ प्रकार का हैश हो सकता है। शायद अन्य रिक्त स्थान भर सकते हैं।
स्ट्रिंग मान, जैसा कि आप देख सकते हैं, 0x0 प्लस 0xcccc में समाप्त होता है। रिकॉर्ड प्रकार 0xa ज्यादातर स्ट्रिंग डेटा है, लेकिन 0x1 बाइट से पहले, और 0x24 की निश्चित लंबाई है, इसलिए यह अतिरिक्त 0x0s के साथ गद्देदार है। अन्य रिकॉर्ड प्रकार, लेकिन सभी नहीं, 0xcccc में भी समाप्त होते हैं।
फ़ाइलों के लिए "index.of dll.aux" एक गूगल खोज से प्राप्त किया गया है, और यहां मिली: http://www.badelement.co.uk/Movies/Storage/Win-7-Pro_64/Windows/assembly/NativeImages_v4.0.30319_64/System.Net/d79a634a4d873717e2dab52d827ba985/
- 1. क्या इस फ़ाइल स्वरूप कहा जाता है
- 2. हास्केल: पाठ फ़ाइलों लेखन और उन्हें मूल स्वरूप
- 3. स्वरूप सी
- 4. स्वरूप डाटा:
- 5. दिनांक स्वरूप
- 6. .edmx फ़ाइलों का उद्देश्य क्या है?
- 7. dylib फ़ाइलों का क्या अर्थ है?
- 8. स्वरूप स्ट्रिंग
- 9. पीईएम स्वरूप
- 10. तिथि चयनकर्ता में तारीख का स्वरूप
- 11. स्वरूप ग # में String.Format का उपयोग कर
- 12. क्रमसंख्या दिनांक स्वरूप सी #
- 13. XSLT स्वरूप दिनांक
- 14. स्वरूप निर्दिष्टकर्ता 'लंबे'
- 15. toLocaleDateString जावास्क्रिप्ट दिनांक स्वरूप
- 16. स्वरूप स्थानीय समय क्षेत्र
- 17. स्वरूप HTML दस्तावेज़
- 18. स्वरूप समय केवल
- 19. स्वरूप java.sql.Timestamp एक स्ट्रिंग
- 20. लिंकर उत्पन्न करता है .map फ़ाइलों का उपयोग क्या है?
- 21. स्वरूप एक नेस्टेड hashtable
- 22. स्वरूप Visual Studio 2012
- 23. sas7bdat दिनांक स्वरूप
- 24. एक दिनांक स्वरूप
- 25. स्वरूप स्ट्रिंग गतिशील
- 26. स्वरूप नंबर, अग्रणी शून्य
- 27. एक्सेल दिनांक स्वरूप
- 28. DateTime.Parse दिनांक स्वरूप
- 29. स्वरूप नंबर/jQuery
- 30. AngularJS ui-दिनांक स्वरूप
वहाँ बहुत ज्यादा नहीं उस में, के लिए डेटा का एक थूक के साथ सभी निर्भर विधानसभाओं के सिर्फ एक सूची है से प्रत्येक। यह कहीं भी दस्तावेज नहीं है, हो सकता है कि .NET 4.5 अनुकूलन, जैसे प्रोफाइल निर्देशित अनुकूलन के साथ कुछ करना हो। आप कौनसी समस्याएं हल करने की कोशिश कर रहे हैं? –
क्या यह ऑफ-विषय नहीं है? – dhein