হালনাগাদ
আমি খুঁজে পেয়েছি যে ফোর্সবাইন্ডআইপি প্রকৃতপক্ষে ডাকা এক্সিকিউটেবলগুলিতে পরামিতিগুলি পার করছে। এটি কেবল প্রথম প্যারামিটার বাদ দেয় । সুতরাং আমি ForceBindIp.exe
কাস্টম ইনজেক্টরের পরিবর্তে আমার স্ক্রিপ্টটি পরিবর্তন করেছি এবং এখন দেখে মনে হচ্ছে injectory
ব্যতিক্রমযুক্ত সমস্ত সমস্যা চলে গেছে এবং সমস্ত কিছু কাজ করে।
এখানে পরিবর্তিত পদক্ষেপ এবং BindIp.cmd
স্ক্রিপ্ট:
যথারীতি ফোর্সবাইন্ডআইপ ইনস্টল করুন
BindIp.cmd
আপনার ড্রাইভের যে কোনও জায়গায় রাখুন (উদাঃ C:\BindIp\BindIp.cmd
)
BindIp.cmd
লিপি:
setlocal
:: IP to bind to
set IP=192.168.128.85
:: Common variables
set RegIFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\%~nx1
set Injector=ForceBindIp.exe
:: ForceBindIp swallows first parameter passed to target exe,
:: so we inject dummy parameter just before it
set AllParams=%*
set FirstParam=%1
call set TargetParams=%%AllParams:*%FirstParam%=%FirstParam% Dummy%%
:: Delete debugger for the target exe in registry,
:: or we'll end in an endless loop of the batch files
reg delete "%RegIFEO%%" /v Debugger /f
:: Start target exe via ForceBindIp
%Injector% %IP% %TargetParams%
:: Restore this script as debugger for the target exe in registry
reg add "%RegIFEO%" /v Debugger /t REG_SZ /d "%~dpnx0" /f
:: Debug, uncomment if needed
rem pause
endlocal
তারপরে নীচে থেকে 2-6 পদক্ষেপগুলি অনুসরণ করুন।
ভূমিকা
ফোর্সবাইন্ডআইপি স্বয়ংক্রিয়ভাবে BindIp.dll
শিশু প্রসেসগুলিতে ইনজেক্ট করতে পারে না এবং ডাকা এক্সিকিউটেবলের কাছে প্যারামিটারগুলি পাস করে না । তবে আমি রেজিস্ট্রি , ব্যাচ স্ক্রিপ্ট এবং তৃতীয় পক্ষের dll ইনজেক্টরতে ইমেজ ফাইল এক্সিকিউশন বিকল্পগুলি ব্যবহার করে এটি এড়াতে সক্ষম হয়েছি । বিস্তারিত নীচে।
তত্ত্ব
ব্যবহার BindIp.dll
না করে ForceBindIp.exe
তাদের কীভাবে যোগাযোগ করে তা আমাদের খুঁজে বের ForceBindIp.exe
করতে হবে ( কোনওভাবেই dll করার জন্য আইপি-ঠিকানাটি দিতে হবে)।
আমি আইডিএ ফ্রি ব্যবহার করেছি এবং খুঁজে পেয়েছি যে ForceBindIp.exe
নামের সাথে পরিবেশের পরিবর্তনশীল তৈরি করে FORCEDIP
যা আইপি-ঠিকানা রাখে এবং BindIp.dll
যখন লক্ষ্য প্রক্রিয়ায় ইনজেকশন দেওয়া হয় এবং কার্যকর করা হয় তখন এই পরিবর্তনশীল থেকে আইপি-ঠিকানা পড়ে reads
লক্ষ্য প্রয়োগের প্রবর্তন সনাক্ত করতে, আমরা Debugger
এই নির্বাহযোগ্যটির জন্য রেজিস্ট্রিতে চিত্র ফাইল এক্সিকিউশন বিকল্পগুলিতে একটি কী যুক্ত করতে পারি :
কার্নেল 32! DEBUG_PROCESS বা DEBUG_ONLY_THIS_PROCESS নির্মাণের পতাকা ছাড়াই যখন কল করা থাকে তখন আইএফইও এটি চালু হচ্ছে কিনা তা নির্বাহের জন্য সেট করা হয়েছে কিনা তা দেখতে নিবন্ধন পরীক্ষা করে দেখুন। যদি হ্যাঁ, তবে এটি কার্যকরভাবে ডিবাগারের অধীনে প্রবর্তনকারীকে কার্যকরভাবে কার্যকর করার জন্য এক্সিকিউটেবল নামের ডিবাগার পাথটি প্রিপেন্ড করে।
আমাদের ক্ষেত্রে "ডিবাগার", একটি ব্যাচ স্ক্রিপ্ট হবে, এটি FORCEDIP
ভেরিয়েবল সেট করে এবং ইনজেকশনরি ডেল-ইনজেক্টর চালু করবে । ইনজেক্টরি এর পরে প্রক্রিয়া শুরু হবে, কমান্ড-লাইন আর্গুমেন্টগুলি পাস করবে এবং ইনজেকশন দেবে BindIp.dll
।
অনুশীলন করা
কোথাও ফোল্ডার তৈরি করুন ( C:\BindIp
উদাহরণস্বরূপ) এবং এই তিনটি ফাইল এতে রাখুন:
BindIp.cmd
লিপি:
setlocal
:: IP to bind to. This env.var is used by BindIp.dll
set FORCEDIP=192.168.1.23
:: Common variables
set RegIFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\%~nx1
set Injector=%~dp0injectory.x86.exe
set BindIpDll=%~dp0BindIp.dll
:: Extract target's parameters, if any
set AllParams=%*
set FirstParam=%1
call set TargetParams=%%AllParams:*%FirstParam% =%%
:: Delete debugger for the target exe in registry,
:: or we'll end in an endless loop of the batch files
reg delete "%RegIFEO%%" /v Debugger /f
:: Start target exe and inject BindIp.dll
if not [%2] == [] (
:: If there were parameters for target exe, pass them on
"%Injector%" --launch %1 --inject "%BindIpDll%" --args "%TargetParams%"
) else (
:: No parameters were specified
"%Injector%" --launch %1 --inject "%BindIpDll%"
)
:: Restore this script as debugger for the target exe in registry
reg add "%RegIFEO%" /v Debugger /t REG_SZ /d "%~dpnx0" /f
:: Debug, uncomment if needed
rem pause
endlocal
LolClient.exe
টার্গেট এক্সিকিউটেবলের জন্য রেজিস্ট্রি কী (যেমন ) তৈরি করুনHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
এই কীটিতে স্ট্রিংয়ের মান যুক্ত করুন:
- নাম:
Debugger
- মান:
C:\BindIp\BindIp.cmd
এই কীটিতে Users
সম্পূর্ণ অনুমতি প্রদান করুন (স্ক্রিপ্টটি প্রতিটি লঞ্চে এটি সংশোধন করতে হবে)। এটিকে ঐটির মত দেখতে হবে:
প্রয়োজনীয় আইপি-ঠিকানা সেট করুন BindIp.cmd
একই পদ্ধতি পুনরাবৃত্তি করুন 3 এবং 4 ধাপ প্রত্যেক এক্সিকিউটেবল আপনি (বাঁধাই করা করতে চান rad_user_kernel.exe
, LolLauncher.exe
, LolPatcher.exe
, ইত্যাদি)।
এখন, প্রতিটি সময় আপনি যখন রেজিস্ট্রি সম্পর্কিত এন্ট্রিযুক্ত এক্সিকিউটেবল লঞ্চ করেন, তখন BindIp.cmd
স্ক্রিপ্টটি পরিবর্তিত হবে এবং এই প্রোগ্রামটিকে কাঙ্ক্ষিত আইপি-ঠিকানার সাথে আবদ্ধ করবে।
উপসংহার
আমি আমার ল্যাপটপটিতে এটি উইন্ডোজ 8.1 x64 চলমানটিতে পরীক্ষা করেছি এবং এই কৌশলটি ব্যবহার করে ইথারনেট বা ওয়াইফাই অ্যাডাপ্টারে বিভিন্ন প্রোগ্রাম ( এআইএমপি 2 , বের্সিরসি , অপেরা 12.4 ) সাফল্যের সাথে বাঁধতে সক্ষম হয়েছি । দুর্ভাগ্যক্রমে BindIp.dll
32-বিট, সুতরাং এটি 64-বিট প্রক্রিয়াগুলির সাথে কাজ করবে না।
LolClient.exe
? কিLolClient.exe
একটিx86
বাx64
EXE? আমি তৃতীয় পক্ষের dll ইঞ্জেক্টারের সাথে টয়িং করছি এবং সম্ভবত আমি আপনাকে সহায়তা করতে পারি, তবে আমার আরও তথ্যের প্রয়োজন।