Vadim Smirnov

Forum Replies Created

Viewing 15 posts - 886 through 900 (of 1,490 total)
  • Author
    Posts
  • in reply to: Current process ID #6728
    Vadim Smirnov
    Keymaster

      Лучше запоминать идентификатор процесса в момент создания address/connection objects, эти операции обычно не откладываются и обьект создается именно в контексте вызывающего процесса.

      in reply to: DELPHI PACKET MANIPLATION AND ROUTING #6729
      Vadim Smirnov
      Keymaster

        You can turn on routing on Windows system and it will route the packet without additional efforts from your side.

        You have only to make user authentication on the internal interface and NAT on the eternal (if necessary).

        Refer Internet Gateway sample for the details about NAT. Install script for this sample also turns on routing (NSIS script function):

        Function EnableRouter
        SetRebootFlag true
        ${If} ${IsNT}
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesTcpipParameters IPEnableRouter 1
        ${Else}
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesVxDMstcp EnableRouting 1
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesVxDMstcp IPEnableRouter 1
        ${EndIf}
        FunctionEnd
        in reply to: Indicating New MAC address to NDIS #6725
        Vadim Smirnov
        Keymaster

          I don’t know if it helps but I would try to call NdisMIndicateStatus with NDIS_STATUS_MEDIA_DISCONNECT and then with NDIS_STATUS_MEDIA_CONNECT. Probably you will be queried for MAC address after these indications, but I have never tried anything like this.

          in reply to: about snetcfg.exe #6727
          Vadim Smirnov
          Keymaster

            If you are still able to install WInpkFilter NDIS IM driver on that system then probably you doing something wrong when using snetcfg.

            in reply to: DELPHI 7 and NDISAPI.DLL #6719
            Vadim Smirnov
            Keymaster

              There is no ready-to-use function for redirecting in NDISAPI. NDISAPI only provides you raw interface to manipulate packets. You have to implement redirecting (packet header changes, checksums recalculations) by yourself.

              You can refer Internet Gateway sample which implements NAT for the details. This sample is in C++ but not that complex to catch the basics.

              in reply to: DELPHI 7 and NDISAPI.DLL #6717
              Vadim Smirnov
              Keymaster

                Problem is this redirecting.
                How can ı redirect my client to other network car.

                Client-to-Server: Save the connection information, change the destination IP (and port if necessary), recalculate the checksums and forward the packet.
                Server-to-Client: Find the saved connection. Change the source IP (and port if necessary) to the original ones, recalculate the checksums and forward the packet.

                in reply to: about wwwsensor! #6710
                Vadim Smirnov
                Keymaster

                  if want return one block page to user how can i do? certain,i have read the topics beforetimes on the board. u had suggest us to modify the current packet. well, but if the current packet is not enought long,what can we do? i think u must be asked for many times,u can consider to release out a modify pakcet sdk!

                  This is a very general question. If there is not enough space in the original packet you can extend it to the maximum possible size or inject extra packets into the TCP stream. In both cases you have to care of about controlling the TCP connection state and modify SEQ/ACK fields of the follow up packets. I would advise to inject a simple and short HTTP redirect code instead of injecting extra packets, this would save you lots of time.

                  in reply to: one strange question about how to uses the winpkfilter #6709
                  Vadim Smirnov
                  Keymaster

                    once,i buy it,how to distribute it? ( ask user to install the winpkflt_rtl.exe first of all?)

                    WinpkFilter Developer Edition includes all necessary modules/scripts required for WinpkFilter drivers redistribution.

                    and then,we known the winpkfilter is a public sales software product,so,many people known how to use it throught the sdk. :mrgreen: that’s to say, i once used it on a computer,another people can also use it.

                    To avoid possible conflicts we provide custom build of WinpkFilter driver to Developer Edition licensees.

                    please and please,can u do me a distribute package with the installer(inno or nsis)?

                    For non-commercial software you can ask users to download and install WinpkFilter run-time before installing your software.

                    and,can two application(two thread) can both to open the driver?(SetAdapterMode,SetPacketEven)!

                    Only one of these applications/threads (the second one) will be actually getting packets.

                    is there a circus buffer in ndisrd.sys??? MSTCP_FLAG_FILTER_DIRECT by default it is setting on or off?

                    Probably you have run into confusion with loopback packets. MSTCP_FLAG_FILTER_DIRECT is needed when promiscuous mode is set on the adapter to avoid loopback indications.

                    in reply to: DELPHI 7 and NDISAPI.DLL #6715
                    Vadim Smirnov
                    Keymaster

                      My client connect to Access point and ethernet hub via first network card. I will manage this client and redirect to second network card (internet connection). İf username and password is correct.

                      There are several WiFi hotspot solutions based on WinpkFilter are available on the market (TrueCafe, Antamedia and etc…). In general you have to redirect user to authentication page on his first attempt to use Internet browser, then if user is allowed to use Internet you have to save user credentials (MAC, IP addresses) and route user packets to external network. The detailed description of this would take a large amount of time, but if you have some more exact questions I will try to help.

                      in reply to: hi!admin i am back now! #6707
                      Vadim Smirnov
                      Keymaster

                        and,at the first,the filter buffers had fixed the total size. when reached the end of the size(the last filter buffer),how could be add more filter rules? to “new” a new buffer and join with the old buffer?

                        If you look at the definition below _STATIC_FILTER_TABLE can contain any number of filters (ANY_SIZE is defined as 1) specified in the m_TableSize. Of course you got to have enough free kernel memory to keep large table.


                        typedef
                        struct _STATIC_FILTER_TABLE
                        {
                        unsigned long m_TableSize; // number of STATIC_FILTER entries
                        STATIC_FILTER m_StaticFilters[ANY_SIZE];
                        }STATIC_FILTER_TABLE, *PSTATIC_FILTER_TABLE;
                        in reply to: WinPKFilter on Vista x64 OS Help #6702
                        Vadim Smirnov
                        Keymaster

                          The best available code signing walkthrough from Microsoft:

                          http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspx

                          in reply to: Virtual Network Adapter VirtNet 1.0 and Vista64 #6693
                          Vadim Smirnov
                          Keymaster

                            I’ll try to find some time to rebuild VirtNet for x64.

                            in reply to: SSL Encryption #6692
                            Vadim Smirnov
                            Keymaster

                              SSL encryption is implemented in user mode above winsock layer, so there is no way for the driver to intercept unencrypted data.

                              Interception of unencrypted data is still possible, but very specific for the particular application. Some of the application use Microsoft SSL crypto provider implemented in secur32.dll and in order to intercept unencrypted data you have to inject your own DLL into the target process and hook SPI functions between application and secur32.dll:

                              InitializeSecurityContext
                              AcceptSecurityContext
                              DecryptMessage
                              EncryptMessage
                              DeleteSecurityContext

                              Another possibility commonly used in Windows is OpenSSL library, the solution is similar but another set of functions has to be hooked. Custom SSL libraries or another methods of traffic encryption may require different methods.

                              in reply to: Packet Injection – Solved #6686
                              Vadim Smirnov
                              Keymaster

                                Create blockpage packet with all current headers, add unicode string of html, change IP length, change seq and ack, recalculate checksums and send packet to adapter.

                                Instead I would do the following:

                                1) Wait for a response packet from WWW-server
                                2) If HTTP response packet contains a censored word then modify HTTP packet to contain a redirect packet like:

                                <html>
                                <head>
                                <META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.censored.com/">
                                </head>
                                <body>
                                </body>
                                </html>
                                

                                This simple redirect packet in most cases will be smaller in size than HTTP server response and you can add padding string between to exactly match the size of the original packet. This way you won’t need to affect SEQ/ACK fields, just recalculate TCP checksum.

                                in reply to: Local Proxy Server and NDIS+TDI #6685
                                Vadim Smirnov
                                Keymaster

                                  LSP sample is available in WIndows SDK. Personally I don’t like LSP, its implementation in Windows wishes better.

                                Viewing 15 posts - 886 through 900 (of 1,490 total)