How-To Write a Slic-OEM driver x64 ( educational purpose only )

Discussion in 'Windows 7' started by secr9tos, Nov 24, 2009.

Thread Status:
Not open for further replies.
  1. DSpyder

    DSpyder MDL Novice

    Nov 19, 2009
    8
    0
    0
    If U haven't been following the Thread "Use Intel NIC PXE image mod for 2.1 SLIC" in posted message #331, truthinjection just released the updated (asm) code on 01-11-10 that now works with Dell's and Looking at his code might help you get around your problems. He was having the same type of problems that I think you are having. I hope this helps
     
  2. Brainsuck

    Brainsuck MDL Addicted

    Oct 9, 2009
    676
    157
    30
    I just try the new driver on x64 it works great better than a loader
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    999
    133
    30
    Thanks for ur feedback:)
     
  4. netizen

    netizen MDL Novice

    Aug 18, 2009
    44
    3
    0
    Quite interesting mate, thanks, I'll try.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. MrChris

    MrChris MDL Addicted

    Jun 23, 2007
    532
    127
    30
    Interesting project. How does this compare to a Boot Loader? Does one have an advantage over the other?
     
  6. tuvi123

    tuvi123 MDL Addicted

    Jul 29, 2009
    623
    86
    30
    MrChris

    Advantages:
    *Works on every machine (grub based loades does not work on all systems).
    *No boot time (grub based loades have longer boot time).
    Disadvantages
    *Can be detected by microsoft more easily because it's a 100& software solution (grub based loaders are more hard to detect)
    *The driver is "test signed" so you will have the test watermark on the desktop.
    actually if "secr9tos" will add some randomilization for the driver name (so it install the driver in a different name/size for each user) and enccryption for the SLIC to the driver it will be a really GREAT alternative over loaders since it will be very hard for microsoft to disable it.

    but first he said he will fix some things:
     
  7. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    999
    133
    30
    #87 secr9tos, Jan 24, 2010
    Last edited: Jan 24, 2010
    (OP)
    Yep that's true so I'll post some current dev info:

    This feature is included now BUT works for Intel-based chipsets only.... maybe I can fix this prob. in future

    EDIT: Works flawless on x64 OS but can cause a bsod on x86 ( if acpi version is 2.0 or higher ) so still some work to do... but I#m close to the end now:D

    As soon as finished I'll upload them here...:)
     
  8. tuvi123

    tuvi123 MDL Addicted

    Jul 29, 2009
    623
    86
    30
    #88 tuvi123, Jan 24, 2010
    Last edited: Jan 24, 2010
    secr9tos
    that is a great news!
    you have done a really great job with this project.

    I have two suggestions:
    1) talk to zsmin, he also really understand in this.
    2) talk to daz/hotcarl, he can integrate this driver into his windows 7 loader..
    so we wiil have two options in the program:
    1) grub based loader.
    2) driver loader,
    and the progarm will install each option with randomization and encryption of the slic and loader/driver name.
     
  9. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    from what zsmin told me acpi 2.0 just switches on the XSDT, right? Also, can't you work around the write protection by using EBDA or something? Sorry, I don't know much, just going on what zsmin told me.
     
  10. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Everybody seemed to refer zsmin for any advanced stuff. Does he work for Intel? ;)
    BTW: Could anybody share "PCI Firmware 3.0 (BIOS) specification". It's only $3000 to download officially... :eek:
     
  11. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    no, zsmin is just clever and knows about bios tables and stuff.
     
  12. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Cool. Some stuff is undocumented. How one could possible learns it? o_O
     
  13. Hazar

    Hazar MDL Guru

    Jul 29, 2009
    2,507
    456
    90
    It's not undocumented. He mainly learned by looking at linux source code and definitions of ACPI and tables and so on
     
  14. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Right. IMO, "looking at (...) source code" == "don't have access to documentation" in most cases.
    Actually, there reson I asked, I was looking for EBDA memory allocation recomendations few day ago.
    And the respose was: zsmin said... ;)
    I guess, no need to continue.
    I definitely agree - zsmin is very clever guy. What would we do without him? :worthy:
     
  15. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    999
    133
    30
    Tried that but windows ignores the reallocated RSDP in the EBDA regardless if my driver is loaded before acpi.sys or not. Just To clarify: EBDA address is stored in a 2 byte segment ptr located at 40:0E.
     
  16. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    Have you tried on one (your) PC only?
    Does it work with loader [which do EBDA] for same PC?
    TIJ made it work "in general", but it didn't work on some Compaq/HP.
    No clue so far...
     
  17. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    999
    133
    30
    It is a huge difference if a loader reallocates the rsdp or a driver. The problem is that windows does not recognize the change if the realloc happens after the kernel booted...

    Btw.. I tried it on two notebooks, VMware & VirtualBox
     
  18. Apokrif

    Apokrif MDL Addicted

    Dec 7, 2008
    542
    35
    30
    I do realize that. But if kernel remembers RSDT position and kernel has to booted completely before it can load any driver
    how you driver could possibly work? In place RSDT mod only?
    I guess, you have been asked this question many times already... I didn't read this thread thoroughly. :eek:
     
  19. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    999
    133
    30
    #99 secr9tos, Jan 24, 2010
    Last edited: Jan 24, 2010
    (OP)
    The current version of the driver only patches the significant sdt table ( rsdt if acpi1.0, xsdt if acpi2.0 or higher ) so I don't need to reallocate r/xsdt. If there is no slic present and also no space to append another ptr the driver just reallocates the lowest sub-table. So it makes space if needed...

    I think windows would recognize a realloc of r/xsdt if we would modify rsdp in 0xE0000 - 0xFFFFF but it's write protected.. hehe that's why I created an upper pci bus filter for testing but this option only works well on intel based chipsets 'cause everybody can download the datasheets...

    EDIT: Pre-Final drivers are available now... happy testing..
     
  20. sam3971

    sam3971 MDL Guru

    Nov 14, 2008
    2,235
    311
    90
    How do you install bare .sys files for your pre-release version? Just add them to windows/system32/drivers?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...