פורסם: 13/09/2006 - 13:13
נושא ההודעה: הוצאת מידע מקובץ win32 בינארי כגון גירסא על ידי command-line
|
שלום,
אני מחפש כלי שיאפשר לי הוצאת מידע מקובץ win32 ( למשל dll,exe ), כגון מספר גירסא, סוג הקובץ וכו'...
הקבצים נמצאים מן הסתם על share של samba, והצורך הוא הוצאת המידע על ידי סקריפט שירוץ על המכונה המארחת..
תודה..
|
|
חזרה לתוכן הדיון |
פורסם: 13/09/2006 - 13:58
נושא ההודעה:
|
dumpbin
objdump
אחד מהם
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2006 - 11:48
נושא ההודעה:
|
שלום ( ותודה על התגובה המהירה )..
לא כל כך מצליח לקבל את מספר הגירסא של האפליקציה בדומה לתצוגה של מאפייני הקובץ ב windows (לחצן ימני על הקובץ ומעבר לtab של ה version ).
להלן על הפלט של הפקודה:
קוד: |
objdump notepad.exe -x > notepad-dump.txt
notepad.exe: file format efi-app-ia32
notepad.exe
architecture: i386, flags 0x0000010a:
EXEC_P, HAS_DEBUG, D_PAGED
start address 0x0100739d
Characteristics 0x10f
relocations stripped
executable
line numbers stripped
symbols stripped
32 bit words
Time/Date Wed Aug 4 09:05:55 2004
ImageBase 01000000
SectionAlignment 00001000
FileAlignment 00000200
MajorOSystemVersion 5
MinorOSystemVersion 1
MajorImageVersion 5
MinorImageVersion 1
MajorSubsystemVersion 4
MinorSubsystemVersion 0
Win32Version 00000000
SizeOfImage 00014000
SizeOfHeaders 00000400
CheckSum 00014f7f
Subsystem 00000002 (Windows GUI)
DllCharacteristics ffff8000
SizeOfStackReserve 00040000
SizeOfStackCommit 00011000
SizeOfHeapReserve 00100000
SizeOfHeapCommit 00001000
LoaderFlags 00000000
NumberOfRvaAndSizes 00000010
The Data Directory
Entry 0 00000000 00000000 Export Directory [.edata (or where ever we found it)]
Entry 1 00007604 000000c8 Import Directory [parts of .idata]
Entry 2 0000b000 00008958 Resource Directory [.rsrc]
Entry 3 00000000 00000000 Exception Directory [.pdata]
Entry 4 00000000 00000000 Security Directory
Entry 5 00000000 00000000 Base Relocation Directory [.reloc]
Entry 6 00001350 0000001c Debug Directory
Entry 7 00000000 00000000 Description Directory
Entry 8 00000000 00000000 Special Directory
Entry 9 00000000 00000000 Thread Storage Directory [.tls]
Entry a 000018a8 00000040 Load Configuration Directory
Entry b 00000250 000000d0 Bound Import Directory
Entry c 00001000 00000348 Import Address Table Directory
Entry d 00000000 00000000 Delay Import Directory
Entry e 00000000 00000000 Reserved
Entry f 00000000 00000000 Reserved
There is an import table in .text at 0x1007604
The Import Tables (interpreted .text section contents)
vma: Hint Time Forward DLL First
Table Stamp Chain Name Thunk
00007604 00007990 ffffffff ffffffff 00007aac 000012c4
DLL Name: comdlg32.dll
vma: Hint/Ord Member-Name Bound-To
7a7a 15 PageSetupDlgW 763d48d6
7a5e 6 FindTextW 763c8696
7a9e 18 PrintDlgExW 763d9d29
7a50 3 ChooseFontW 763cc4a9
7a40 8 GetFileTitleW 763b1986
7a8a 10 GetOpenFileNameW 763c7c65
7a6a 21 ReplaceTextW 763c86ca
7a14 4 CommDlgExtendedError 763c00ce
7a2c 12 GetSaveFileNameW 763c7cf3
00007618 00007840 ffffffff ffffffff 00007afa 00001174
DLL Name: SHELL32.dll
vma: Hint/Ord Member-Name Bound-To
7ac8 31 DragFinish 7ca73fa2
7ad6 35 DragQueryFileW 7ca1fcee
7ae8 30 DragAcceptFiles 7ca3a237
7aba 259 ShellAboutW 7ca5f8eb
0000762c 00007980 ffffffff ffffffff 00007b3a 000012b4
DLL Name: WINSPOOL.DRV
vma: Hint/Ord Member-Name Bound-To
7b16 120 GetPrinterDriverW 73006090
7b06 27 ClosePrinter 73005390
7b2a 126 OpenPrinterW 73005749
00007640 000076ec ffffffff ffffffff 00007b5e 00001020
DLL Name: COMCTL32.dll
vma: Hint/Ord Member-Name Bound-To
7b48 8 CreateStatusWindowW 773dd2ed
00007654 000079b8 ffffffff ffffffff 00007c76 000012ec
DLL Name: msvcrt.dll
vma: Hint/Ord Member-Name Bound-To
7bdc 78 _XcptFilter 4dc22dae
7bd4 246 _exit 4dc29e9a
7bca 197 _c_exit 4dc29ece
7bc2 791 time 4dc3aea3
7bb6 724 localtime 4dc3ab3d
7bea 200 _cexit 4dc29eb6
7ba0 710 iswctype 4dc0d036
7b8c 237 _except_handler3 4dc25c94
7b84 628 _wtol 4dc0ce77
7b7a 815 wcsncmp 4dc3802f
7b6c 484 _snwprintf 4dc2fb0c
7bf4 656 exit 4dc29e7e
7bfc 168 _acmdln 4dc517ac
7c06 109 __getmainargs 4dc0eeeb
7c16 315 _initterm 4dc29d67
7c22 154 __setusermatherr 4dc3d675
7c36 182 _adjust_fdiv 4dc523d8
7c46 128 __p__commode 4dc0f1a4
7c56 133 __p__fmode 4dc0f1db
7c64 152 __set_app_type 4dc2537c
7c82 214 _controlfp 4dc3ee2f
7bac 816 wcsncpy 4dc3806b
00007668 000076cc ffffffff ffffffff 00007d08 00001000
DLL Name: ADVAPI32.dll
vma: Hint/Ord Member-Name Bound-To
7ca2 494 RegQueryValueExW 77dd6fc8
7cb6 458 RegCloseKey 77dd6bf0
7cc4 464 RegCreateKeyW 77df8f7d
7cd4 313 IsTextUnicode 77dfd5fd
7ce4 493 RegQueryValueExA 77dd7883
7cf8 483 RegOpenKeyExA 77dd761b
7c90 507 RegSetValueExW 77ddd7cc
0000767c 00007758 ffffffff ffffffff 000080ec 0000108c
DLL Name: KERNEL32.dll
vma: Hint/Ord Member-Name Bound-To
8024 318 GetCurrentThreadId 7c809737
8014 465 GetTickCount 7c8092ac
7ffa 657 QueryPerformanceCounter 7c80a417
7fea 362 GetLocalTime 7c80c9c1
7fd4 469 GetUserDefaultLCID 7c809fc0
7fc2 320 GetDateFormatW 7c827c79
7fb0 467 GetTimeFormatW 7c8284d5
7fa2 501 GlobalLock 7c810119
7f92 508 GlobalUnlock 7c810082
7f74 346 GetFileInformationByHandle 7c810e85
7f5e 81 CreateFileMappingW 7c80939e
803a 445 GetSystemTimeAsFileTime 7c8017e5
8054 838 TerminateProcess 7c801e16
8068 315 GetCurrentProcess 7c80e00d
8098 818 SetUnhandledExceptionFilter 7c810386
80b6 577 LoadLibraryA 7c801d77
80c6 373 GetModuleHandleA 7c80b529
80da 428 GetStartupInfoA 7c801eee
7d16 497 GlobalFree 7c80fe2f
7d24 364 GetLocaleInfoW 7c811772
7d36 587 LocalFree 7c80995d
7d42 583 LocalAlloc 7c8099bd
7d50 948 lstrlenW 7c809a39
7d5c 593 LocalUnlock 7c822e21
7d6a 56 CompareStringW 7c80a34e
7d7c 589 LocalLock 7c822d88
7d88 234 FoldStringW 7c8792e6
7d96 49 CloseHandle 7c809b77
7da4 942 lstrcpyW 7c80b8ec
7db0 675 ReadFile 7c80180e
7dbc 82 CreateFileW 7c810976
7dca 939 lstrcmpiW 7c80a823
7dd6 316 GetCurrentProcessId 7c80994e
7dec 407 GetProcAddress 7c80ac28
7dfe 266 GetCommandLineW 7c816cfb
7e10 933 lstrcatW 7c81114a
7e1c 204 FindClose 7c80efd7
7e28 211 FindFirstFileW 7c80f0e1
7e3a 345 GetFileAttributesW 7c80b5d4
7e50 936 lstrcmpW 7c80a859
7e5c 611 MulDiv 7c8097f4
7e66 945 lstrcpynW 7c80b877
7e72 592 LocalSize 7c82237c
7e7e 360 GetLastError 7c910331
7e8e 907 WriteFile 7c810f9f
7e9a 787 SetLastError 7c910340
7eaa 894 WideCharToMultiByte 7c80a0c7
7ec0 590 LocalReAlloc 7c81e2b1
7ed0 236 FormatMessageW 7c829047
7ee2 471 GetUserDefaultUILanguage 7c812de0
7efe 765 SetEndOfFile 7c81f850
7f0e 130 DeleteFileW 7c81f73d
7f1c 246 GetACP 7c809943
7f26 858 UnmapViewOfFile 7c80b7fc
7f38 612 MultiByteToWideChar 7c809cad
7f4e 599 MapViewOfFile 7c80b78d
807c 855 UnhandledExceptionFilter 7c862b8a
00007690 000076f4 ffffffff ffffffff 0000825e 00001028
DLL Name: GDI32.dll
vma: Hint/Ord Member-Name Bound-To
81d0 152 EndPage 77f25923
81c4 0 AbortDoc 77f43412
81ba 150 EndDoc 77f25bb1
81ae 140 DeleteDC 77f16ca6
81da 584 StartPage 77f26aa6
818a 437 GetTextExtentPoint32W 77f18174
817e 47 CreateDCW 77f2f8cf
81f2 528 SetAbortProc 77f43532
815e 443 GetTextFaceW 77f1b079
81a2 591 TextOutW 77f17ce8
81e6 582 StartDocW 77f440a2
8150 206 EnumFontsW 77f3ea7c
813e 421 GetStockObject 77f15ff1
8130 407 GetObjectW 77f18323
8120 363 GetDeviceCaps 77f158a2
810a 61 CreateFontIndirectW 77f18bba
80fa 143 DeleteObject 77f16a3b
8202 445 GetTextMetricsW 77f17bf5
8214 534 SetBkMode 77f15d0b
8220 459 LPtoDP 77f18195
822a 578 SetWindowExtEx 77f2e3b6
823c 574 SetViewportExtEx 77f2e45f
8250 555 SetMapMode 77f1a8f7
816e 526 SelectObject 77f159a0
000076a4 00007854 ffffffff ffffffff 0000873c 00001188
DLL Name: USER32.dll
vma: Hint/Ord Member-Name Bound-To
8524 255 GetClientRect 77d4b556
8534 589 SetCursor 77d4c6a8
8540 554 ReleaseDC 77d4866d
854c 268 GetDC 77d48697
8554 159 DialogBoxParamW 77d56702
8566 579 SetActiveWindow 77d55380
8578 290 GetKeyboardLayout 77d4c43c
858c 143 DefWindowProcW 77d4b1e5
859e 153 DestroyWindow 77d4e666
85ae 475 MessageBeep 77d702d3
8516 658 ShowWindow 77d4d4de
85ce 279 GetForegroundWindow 77d4c4ae
85e4 422 IsIconic 77d4c48a
85f0 371 GetWindowPlacement 77d4eb14
8606 55 CharUpperW 77d490aa
8614 457 LoadStringW 77d49c36
8622 436 LoadAcceleratorsW 77d5372d
8636 348 GetSystemMenu 77d4e7b8
8646 536 RegisterClassExW 77d4ae29
865a 446 LoadImageW 77d542a4
8668 442 LoadCursorW 77d49b69
8676 642 SetWindowPlacement 77d6fbea
868c 97 CreateWindowExW 77d51ad5
8502 270 GetDesktopWindow 77d4d7bb
84f6 278 GetFocus 77d4c640
84ea 444 LoadIconW 77d52174
84d8 647 SetWindowTextW 77d4bade
85bc 513 PostQuitMessage 77d6edeb
869e 552 RegisterWindowMessageW 77d4adde
86b8 699 UpdateWindow 77d4c064
86c8 623 SetScrollPos 77d4f780
86d8 41 CharLowerW 77d49f64
86e6 510 PeekMessageW 77d49278
86f6 196 EnableWindow 77d4c4d4
8706 190 DrawTextExW 77d505d2
8714 86 CreateDialogParamW 77d6629f
872a 378 GetWindowTextW 77d4c9fd
84c4 349 GetSystemMetrics 77d48f75
8268 489 MoveWindow 77d4d515
8276 403 InvalidateRect 77d4b49d
8288 723 WinHelpW 77d917d4
8294 272 GetDlgCtrlID 77d4c35c
82a4 60 ChildWindowFromPoint 77d68565
82bc 561 ScreenToClient 77d4c5b8
82ce 267 GetCursorPos 77d4c566
82de 567 SendDlgItemMessageW 77d627fc
82f4 576 SendMessageW 77d4b762
8304 44 CharNextW 77d4e746
8310 57 CheckMenuItem 77d5711b
8320 66 CloseClipboard 77d4eee5
8332 415 IsClipboardFormatAvailable 77d4cded
8350 499 OpenClipboard 77d4eef7
8360 311 GetMenuState 77d6749f
8370 194 EnableMenuItem 77d4fc3c
8382 345 GetSubMenu 77d5355a
8390 300 GetMenu 77d6eabe
839a 483 MessageBoxW 77d96116
83a8 641 SetWindowLongW 77d4def1
83ba 367 GetWindowLongW 77d4887e
83cc 273 GetDlgItem 77d552a4
83da 598 SetFocus 77d4e5dc
83e6 596 SetDlgItemTextW 77d62730
83f8 729 wsprintfW 77d4a862
8404 276 GetDlgItemTextW 77d56b40
8416 198 EndDialog 77d56cc9
8422 325 GetParent 77d4b5d7
842e 684 UnhookWinEvent 77d6e544
8440 162 DispatchMessageW 77d489d9
8454 682 TranslateMessage 77d48bce
8468 680 TranslateAcceleratorW 77d4943d
8480 418 IsDialogMessageW 77d6e73e
8494 512 PostMessageW 77d48ca3
84a4 318 GetMessageW 77d491a3
84b2 638 SetWinEventHook 77d6e3d3
000076b8 00000000 00000000 00000000 00000000 00000000
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00007748 01001000 01001000 00000400 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000800 01009000 01009000 00007c00 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .rsrc 00008958 0100b000 0100b000 00008400 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
SYMBOL TABLE:
no symbols
|
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2006 - 15:10
נושא ההודעה:
|
Anonymous : | שלום ( ותודה על התגובה המהירה )..
לא כל כך מצליח לקבל את מספר הגירסא של האפליקציה בדומה לתצוגה של מאפייני הקובץ ב windows (לחצן ימני על הקובץ ומעבר לtab של ה version ).
|
אה, את זה אפשר לעשות באופן ידני, ה version info נמצא קרוב לסוף הקובץ
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2006 - 16:50
נושא ההודעה:
|
ה Version מופיע בתוך ה resources (ה .rsrc), בתוך resource בשם version. שם ניתן למצוא מבנה אשר מתואר בקבצי ה h של ה PlatformSDK. (בליחה על בלל המילים הנוכריות)
לחילופין, קיים Windows API אשר מחזיר את המבנה המדובר, ללא פענוח הקובץ כולו.
גם אני חיפשתי אפשרות להוציא את מידע זה, ולצערי, לא מצאתי.
|
|
חזרה לתוכן הדיון |
פורסם: 14/09/2006 - 18:57
נושא ההודעה:
|
Anonymous : | ה Version מופיע בתוך ה resources (ה .rsrc), בתוך resource בשם version. שם ניתן למצוא מבנה אשר מתואר בקבצי ה h של ה PlatformSDK. (בליחה על בלל המילים הנוכריות)
לחילופין, קיים Windows API אשר מחזיר את המבנה המדובר, ללא פענוח הקובץ כולו.
גם אני חיפשתי אפשרות להוציא את מידע זה, ולצערי, לא מצאתי. |
האם הוא ממומש ב-wine...? האם אפשר לכתוב תוכניות win32 בלינוקס שתעשה את זה...?
|
|
חזרה לתוכן הדיון |
פורסם: 15/09/2006 - 10:22
נושא ההודעה:
|
אפשר אולי לנסות שילוב של strings ו grep?
קוד: | strings notepad.exe | grep version |
לא ניסיתי אך אם הגירסה נשמרת כטקסט זה עשוי לעבוד.
--- עמית
|
|
חזרה לתוכן הדיון |
פורסם: 15/09/2006 - 12:07
נושא ההודעה:
|
עמית : | אפשר אולי לנסות שילוב של strings ו grep?
קוד: | strings notepad.exe | grep version |
לא ניסיתי אך אם הגירסה נשמרת כטקסט זה עשוי לעבוד.
--- עמית |
זה טקסט בקידוד UTF-16 שמתחיל ב "VS_VERSION_INFO"
|
|
חזרה לתוכן הדיון |
|