I have two questions:

1) Is it possible to somehow write drivers under Windows without WDK / DDK? Difficult is not difficult - I do not care, I want to know how the drivers work from the inside.

2) How can I artificially create an incoming package in Windows? That is, programmatically create such a situation, as if the packet came from somewhere from the network, and that this packet could be edited at the IP level.

Closed due to the fact that the question is too general for the participants Sergey Gornostaev , gil9red , mkkik , aleksandr barakin , 0xdb 25 Apr at 15:58 .

Please correct the question so that it describes the specific problem with sufficient detail to determine the appropriate answer. Do not ask a few questions at once. See “How to ask a good question?” For clarification. If the question can be reformulated according to the rules set out in the certificate , edit it .

  • Unrelated questions are best asked separately. - aleksandr barakin pm

2 answers 2

Some device drivers that have standard interfaces (for example, usb, com) can be implemented without DDK.

For such a manual assembly tun tap driver from OpenVpn is very suitable. On the one hand, the file-like interface, on the Windows side, the network card. Manual package build script example.

    1. No, without WDK / DDK is impossible.
    2. Here you need to make a virtual network interface stub, under Windows, the so-called NDIS miniport driver. But it will look to the user as a separate network connection. If you need to "wedge" into an existing connection, you can make the filtering driver NDIS.
    • @SergeyNudnov Fixed - Cerbo
    • Driver can be written without ddk) or you did not install the driver on the mouse pad in the 2000s? You can build and something more complicated. - eri
    • @eri examples do you have? - Cerbo
    • Depends on the device .. - eri
    • On usb there is a group of channels input-output. The driver is written to the device dispatcher info file, and then hook the channel and work with the device directly - eri