Loading...

BTC Address to donate : [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

GEOIX عضو مبدع
  • شكراً: 1178
  • تم شكره 2259 مرة في 551 مشاركة

السلام عليكم ورحمة الله
و صلى الله على سيدنا محمد و على آله و صحبه أجمعين، عساكم بخير يا أعضاء.

أحيانا يعتاد المستخدمين الذين يحظرون من استعمال برمجيات أو دخول مواقع معينة بسبب حظر عنوان IP
الخاص بهم فيلجأؤون الى (اطفاء/تشغيل المودم) أو (اعادة تشغيل الجهاز) مثلاً، أو يستعملون برامج تغيير IP
من هذا المنطلق، أحببت أن أتكلم عن طريقة عمل هذه البرمجيات.

تغيير IP مرتبط بحالة الجهاز Mac Address و المودم مع كل اتصال يولد IP معين فتغييره سيضطر الى الاتصال
بالمودم و ارسال ارتباطات معينة لكي يعيد الاتصال كل مرة.

هناك برمجيات معينة تستخدم أمر netsh الذين يقطع الاتصال لنقطة معينة ثم يتصل مجددا
و هناك برمجيات تستخدم Proxy مختلف كل مرة يولد فيها اتصالا جديداً

الفكرة أتتني من كود موجود على جهازي يعود لسنيتن قمت بتطويره الى خصائص أكبر

هناك طريقة أخرى أحببت مناقشتكم فيها غير موجودة على الويب، لمن قام بتجريبها عن طريق دالة DhcpNotifyConfigChange الغير معرّفة في مكتبات winAPI تعتمد على السجلاّت و DNS - موجودة في مكتبة dhcpcsvc و ضمن NativeAPI


كود PHP:
BOOL DhcpNotifyConfigChange(
LPWSTR lpwszServerName,     // local machine should be NULL
LPWSTR lpwszAdapterName,     // Adapt name
BOOL bNewIpAddress,     // TRUE indicates changing ip
DWORD dwIpIndex,         // which IP addr, if only 1, it's 0
DWORD dwIpAddress,     // IP addr
DWORD dwSubNetMask,     // mask
int nDhcpAction ); // DHCP, 0 for not change, 1 for enable, 2 for disable DHCP 
جزء من السورس كود الموجود لتطوير البرنامج:

كود PHP:
BOOL NotifyIPChangeLPCTSTR lpszAdapterNameint nIndexLPCTSTR pIPAddressLPCTSTR pNetMask )
{
    
BOOL bResult FALSE;
    
HINSTANCE hDhcpDll;
    
DHCPNOTIFYPROC pDhcpNotifyProc;
    
WCHAR wcAdapterName[256];

    
MultiByteToWideCharCP_ACP0lpszAdapterName, -1wcAdapterName,256 );

    if( ( 
hDhcpDll = ::LoadLibrary("dhcpcsvc.dll") ) == NULL )
        return 
FALSE;

    if( ( 
pDhcpNotifyProc = (DHCPNOTIFYPROC)::GetProcAddresshDhcpDll"DhcpNotifyConfigChange" ) ) != NULL )
        if(  (
pDhcpNotifyProc)(NULLwcAdapterNameTRUEnIndexinet_addr(pIPAddress), inet_addr(pNetMask), ) == ERROR_SUCCESS )
            
bResult TRUE;

    ::
FreeLibrary(hDhcpDll);
    return 
bResult;


البرنامج موجود لكل من يود تطويره على حسابي الخاص و سأقوم بتوفيره

في حساب المنتدى على Github قريبا باذن الله

https://github.com/sec4ever


(السبب لذلك عدم استخدامه لأغراض تجارية أو ضرر، على Github سأضمن ذلك لدى حقوق النشر)

أتمنى لكم المزيد من التوفيق و النجاح، و السلام عليكم.

توقيع
I'll be back soon

الوعي في العقول وليس في الأعمار ،فالأعمار مجرد عدّاد لأيامك.
6 أعضاء قالوا شكراً لـ GEOIX على المشاركة المفيدة:
i-Hmx | Eg-R1z |
  • شكراً: 1269
  • تم شكره 6082 مرة في 755 مشاركة

يمكن مش مستوعب انا الفكره بالكامل او عندى مفهوم خاطىء
لكن الايبى بيتحدد عن طريق شركة الانترنت الخاصه بيك نفسها اما تعمل ريستارت للراوتر
فيفصل اليوزر نيم الخاص بيك والموجود فى الراوتر واثناء اعادة الاتصال يتحدد له ايبى تانى يتصل من خلاله
يعنى تقريبا الموضوع ملهوش علاقه بالحاسب نفسه
(بتكلم عن الايبى الخارجى اكيد)

توقيع
"اللهم إغفر لنا ذنوبنا وإسرافنا فى أمرنا وثبت أقدامنا وانصرنا على القوم الكافرين"

Telegram or contact method : PM me || Personal Blog : 1337s.cc
3 أعضاء قالوا شكراً لـ i-Hmx على المشاركة المفيدة:
GEOIX عضو مبدع
  • شكراً: 1178
  • تم شكره 2259 مرة في 551 مشاركة

المشاركة الأصلية كتبت بواسطة i-Hmx اقتباس :
يمكن مش مستوعب انا الفكره بالكامل او عندى مفهوم خاطىء
لكن الايبى بيتحدد عن طريق شركة الانترنت الخاصه بيك نفسها اما تعمل ريستارت للراوتر
فيفصل اليوزر نيم الخاص بيك والموجود فى الراوتر واثناء اعادة الاتصال يتحدد له ايبى تانى يتصل من خلاله
يعنى تقريبا الموضوع ملهوش علاقه بالحاسب نفسه
(بتكلم عن الايبى الخارجى اكيد)
قصدي بعلاقة الجهاز أنه هناك من يزال يستخدم اتصال عبر الجسر كما في XP كل مرة تعيد الاتصال بالروتر
العنوان الخاص بك يحدد عبر Mac Address لكل اتصال خارجي و و آيبي الخاص network card سينتج تلقائيا اذا لم تكن اعددته بنفسك، التغيير يكون على مستوى IP الداخلي Network Card و DNS + الاعدادات تتم عن تغييرات في Registry و سنعمل محاكاة للـ Mac Address

توقيع
I'll be back soon

الوعي في العقول وليس في الأعمار ،فالأعمار مجرد عدّاد لأيامك.
الأعضاء الذين قالوا شكراً لـ GEOIX على المشاركة المفيدة:
ishakdz عضو مميز
  • شكراً: 607
  • تم شكره 116 مرة في 70 مشاركة

يا اخى عند تغير الماك ادرس réseau local يعمل ريستار لنفسه , فيتم قطع الاتصال تم يعيد الاتصال من جديد ,
لدالك يتم تغير الايبي , والجهاز ليس له دخل باليبي . بل من المزود للخدمة
حل سهل ادخل الى 192.168.1.1 واقطع النت وارجعها ,
او اجعل موداملك على وضع بريدج , لتسهيل العملية .

PyCoder عضو نشيط
  • شكراً: 11
  • تم شكره 19 مرة في 11 مشاركة

المشاركة الأصلية كتبت بواسطة ishakdz اقتباس :
يا اخى عند تغير الماك ادرس réseau local يعمل ريستار لنفسه , فيتم قطع الاتصال تم يعيد الاتصال من جديد ,
لدالك يتم تغير الايبي , والجهاز ليس له دخل باليبي . بل من المزود للخدمة
حل سهل ادخل الى 192.168.1.1 واقطع النت وارجعها ,
او اجعل موداملك على وضع بريدج , لتسهيل العملية .
تقدر تبرمج سكربت بايثون يتصل بالمودام يقطع و يعيد الاتصال

GEOIX عضو مبدع
  • شكراً: 1178
  • تم شكره 2259 مرة في 551 مشاركة

المشاركة الأصلية كتبت بواسطة ishakdz اقتباس :
يا اخى عند تغير الماك ادرس réseau local يعمل ريستار لنفسه , فيتم قطع الاتصال تم يعيد الاتصال من جديد ,
لدالك يتم تغير الايبي , والجهاز ليس له دخل باليبي . بل من المزود للخدمة
حل سهل ادخل الى 192.168.1.1 واقطع النت وارجعها ,
او اجعل موداملك على وضع بريدج , لتسهيل العملية .
يا اسحاق خويا، IP مهوش حبات دومينو (آك فاهم)

جميع ما قلته.. ذكرته في الرد السابق و أعلم ذلك، فلما أتعب نفسي في طرح الموضوع.
على كل حال، (البريدج = الجسر) .. أنا أركز على العمل الاوتوماتيكي بدل اليدوي
و تبقى بالأساس تطوير فكرة برمجية لا غير.

توقيع
I'll be back soon

الوعي في العقول وليس في الأعمار ،فالأعمار مجرد عدّاد لأيامك.