ডিএলএল / এক্সই বিস্তারিত জানার জন্য কয়েকটি দুর্দান্ত কমান্ড লাইন উপায় কী?


13

সবচেয়ে উইন্ডোজ এক্সেকিউটেবল (ডিএলএল, EXE এর ...), সংস্করণ এবং অন্যান্য বিবরণ সঙ্গে "প্রোপার্টি" (মধ্যে "বিবরণ" ট্যাবটি ব্যবহার করে দেখা যাবে Alt+ + Enter)।

উইন্ডোজ 7 amd64 থেকে শেল 32.ডিলের বিশদ

আমি অবাক: এই কাজ করার জন্য একটি কমান্ড-লাইন উপায় আছে? আমি বিশেষভাবে পণ্য সংস্করণের জন্য আগ্রহী, তবে অন্যান্য জিনিসগুলিও কার্যকর হতে পারে।

নিম্নোক্ত বৈশিষ্ট্যগুলি অগ্রাধিকার অনুসারে পছন্দসই:

  • পরামিতি হিসাবে EXE / dll পাথ গ্রহণ করুন
  • স্ট্যান্ডার্ড আউটপুট থেকে আউটপুট (যাতে আপনি |পাইপের মাধ্যমে বাকীটি প্রক্রিয়া করতে পারেন )
  • সমস্ত সমর্থিত উইন্ডোজ (এক্সপি +) এ ডিফল্টরূপে উপলব্ধ
  • উইন্ডোজ ভিস্তা + এ ডিফল্টরূপে উপলব্ধ
  • উইন্ডোজ এক্সপিতে ডিফল্টরূপে উপলব্ধ
  • বাণিজ্যিক পরিবেশে ব্যবহারযোগ্য
  • বিনামূল্যে লাইসেন্স (জিপিএল-জাতীয়)
  • বহনযোগ্য (যেমন একক এক্সে, সম্ভবত ডিএলএল সহ)

এটি ইতিমধ্যে স্ট্যাক ওভারফ্লোতে জিজ্ঞাসা করা হয়েছে: উইন্ডোজ ডিএলএল সংস্করণ ডাম্প করার জন্য কমান্ড লাইন সরঞ্জামটি?
অ্যালোস মাহডাল

উত্তর:


9

পাওয়ারশেল এ, get-command "full-path-to-executable" | format-listকৌতুক করতে হবে। পাওয়ার্সেল হ'ল ভিস্তা এবং পরবর্তী উইন্ডোজের জন্য নতুন কমান্ড-লাইন, এক্সপিতে ইনস্টল করা যেতে পারে।


আমি আপনার কোডটি কাজ করতে পারি না ...
২২'২২ তে সান্টোস

আমি যথাসম্ভব পেয়েছি get-command "$args[0]" | format-list, যা আমি সংরক্ষণ করেছি aaa.ps1এবং হিসাবে ডেকেছি powershell -File aaa.ps1 shell32.dllকিন্তু এটি কিছুই মুদ্রণ করে না।
আলয়েস মাহডাল

@ সানডোস: এটি নির্ধারণ করা হয় নির্বিচার এক্সিকিউটেবলের সাথে গেট-কমান্ডের জন্য পাওয়ারশেল ভি 2-র প্রয়োজন is
Kreemoweet

আমার পাওয়ারশেল ভি 2 আছে
3

সুন্দর, আমি এটি জানতাম না, এটি সম্পত্তি উইন্ডোর চেয়ে কিছুটা বেশি তথ্য দেয়। আকর্ষণীয় তথ্য অবজেক্টের FileInfoVersionবৈশিষ্ট্যে আবদ্ধ হয় ApplicationInfo
mjsr

5

মাইক্রোসফ্টের ডাম্পবিন ইউটিলিটি ব্যবহার করুন

এটিতে প্রচুর দরকারী বিকল্প রয়েছে তবে এটি আপনি কী করতে চান তার উপর নির্ভর করে।

তবে এটি নিখরচায় নয়, তবে আমি বিশ্বাস করি উইন্ডোজ এসডিকে দিয়ে অবাধে প্রাপ্ত করা যায়।


3
কেন এটি নিখরচায় এসডিকে দিয়ে পাওয়া যায়?
সিজে 7

4

আপনি sigcheck.exeপোর্টেবল সরঞ্জামটি ব্যবহার করতে পারেন যা সিসিনটার্নাল স্যুটের অংশ , যেমন

$ sigcheck.exe some_app.exe

Sigcheck v2.51 - File version and signature viewer
Copyright (C) 2004-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

C:/Program Files (x86)/Foo App\some_app.exe:
    Verified:   Signed
    Signing date:   14:48 23/12/2015
    Publisher:  X
    Company:    X
    Description:    X
    Product:    Some App
    Prod version:   5.0.0.1241
    File version:   5.0.0.1241
    MachineType:    32-bit

উইন্ডোজের পুরানো সংস্করণ যেমন এক্সপি / 2 কে / 2003 (এটি এখনও নতুনভাবে কাজ করে) এর জন্য, কোনও ফাইল সম্পর্কে নির্দিষ্ট তথ্য পাওয়ার জন্য filever.exeসরঞ্জাম ( exedll.infoসরাসরি লিঙ্কটি পরীক্ষা করুন ) ব্যবহার করুন:

  • যে প্ল্যাটফর্মটিতে ফাইলটি চালিত হয়
  • ফাইলটির সংস্করণ
  • ফাইলের বৈশিষ্ট্য
  • ফাইল টাইপ
  • ফাইলটির ভাষা
  • ফাইলটি শিপিংয়ের ধরন বা ডিবাগ প্রকারের হোক
  • ফাইলের আকার
  • যে তারিখটি ফাইলটি তৈরি হয়েছিল
  • ফাইলের পথ

কিছু অন্যান্য বিবেচনা:

  • মাইক্রোসফ্ট সিওএফএফ বাইনারি ফাইল ডাম্পার (DUMPBIN.EXE)

    কমন অবজেক্ট ফাইল ফর্ম্যাট (সিওএফএফ) বাইনারি ফাইলগুলি সম্পর্কিত তথ্য প্রদর্শন করে। আপনি সিওএফএফ অবজেক্ট ফাইলগুলি, সিওএফএফ বিষয়গুলির স্ট্যান্ডার্ড লাইব্রেরি, এক্সিকিউটেবল ফাইল এবং ডায়নামিক-লিংক লাইব্রেরি (ডিএলএল) পরীক্ষা করতে ডাম্পবিন ব্যবহার করতে পারেন।

  • binwalk- বিভিন্ন সিপিইউ আর্কিটেকচারের সাধারণ এক্সিকিউটেবল ওপকোডগুলির জন্য নির্দিষ্ট ফাইল (গুলি) অনুসন্ধান করুন। বাইনারি ফাইলগুলি থেকে বিশ্লেষণ, বিপরীত প্রকৌশল এবং আকর্ষণীয় ফাইল / ডেটা আহরণের জন্য সরঞ্জাম ব্যবহার করা সহজ।


আরও কমান্ডের জন্য, পরীক্ষা করুন:


3
Function GetProductVersion (sFilePath, sProgram)  
Dim objShell, objFolder, objFolderItem, i  
If FSO.FileExists(sFilePath & "\" & sProgram) Then  
    Set objShell = CreateObject("Shell.Application")  
    Set objFolder = objShell.Namespace(sFilePath)  
    Set objFolderItem = objFolder.ParseName(sProgram)  
    Dim arrHeaders(300)  
    For i = 0 To 300  
        arrHeaders(i) = objFolder.GetDetailsOf(objFolder.Items, i)  
        'WScript.Echo i &"- " & arrHeaders(i) & ": " & objFolder.GetDetailsOf(objFolderItem, i)  
        If lcase(arrHeaders(i))= "product version" Then  
            GetProductVersion= objFolder.GetDetailsOf(objFolderItem, i)  
            Exit For  
        End If  
    Next  
End If  
End Function  

উত্স একটি .vbs ফাইলের একটি লিঙ্ক যা আপনার জন্য ফাইল সংস্করণ পেতে পারে এবং আপনি এটি নিতে পারেন এবং আপনি চান তবে আউটপুট ব্যবহার করতে পারেন।

জাহাজগুলি উইন্ডোজের সমস্ত সংস্করণ, লাইসেন্স সম্পর্কে নিশ্চিত নয়, খুব বহনযোগ্য, তবে উদাহরণ বা ডিএলএল নয়।


সেখানে বেশ কয়েকটি উত্তর রয়েছে, আপনি কোনটি বোঝাতে চাইছেন তা আমি নিশ্চিত নই। যাইহোক, আমি তাদের মধ্যে কিছু চেষ্টা করেছিলাম, তাদের কাছে নোটপ্যাডের জন্য পথ রয়েছে বলে মনে হচ্ছে hardএকটি হার্ড-কোডড e এগুলি গুটিয়ে ফেলার কোনও সহজ উপায় আছে যাতে তারা প্যারামিটার হিসাবে ডেল / এক্সের পথ গ্রহণ করে? সাধারণত আউটপুট স্ট্যান্ডার্ড আউটপুট?
আলাইস মাহডাল

এটি প্যারামিটার হিসাবে একটি পথ নেয়, এবং পণ্য সংস্করণটি এতে অন্তর্ভুক্ত থাকেGetProductVersion
12
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.