Windows 7 Developer Activation - kb780190 (SLIC embedded into bootmgr)

Discussion in 'Windows 7' started by k.pedersen, Sep 5, 2009.

  1. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #181 nononsence, May 15, 2010
    Last edited by a moderator: Apr 20, 2017
  2. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
  3. secr9tos

    secr9tos MDL Addicted

    Jul 28, 2009
    997
    133
    30
    Your assembly code is quite interesting ;)
     
  4. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    thanks, I know this hack has a bad name, but it has quite a bit packed in to its 611 bytes, it looks for
    an existing SLIC, and can move tables, and has a few space saving tricks like self modifying code, and
    my favorite pushing a return instruction pointer on to the stack then executing a sub routine instead of
    using a call then a jump.
     
  5. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #186 nononsence, May 18, 2010
    Last edited by a moderator: Apr 20, 2017
    I got the same thing, the problem is pre vista os's overwrite the area that I have chosen for the interrupt handler, so I will have to
    find a better place for it, the quick fix is to open other_functions.inc and find the move_handler function then look for this code

    Code:
            xor     ebx,ebx
            call    URM_scan_ebda_for_zeroes_area 
    
    and change it to this

    Code:
            ;xor     ebx,ebx
            mov     ebx, 1
            call    URM_scan_ebda_for_zeroes_area 
    
    that will put the interrupt handler in the EBDA, you may have to adjust the EBDA_SCAN_OFFSET in config.ini
    I had to adjust to 200h to get XP to boot in VMware, I use the SLIC_toolkit's memory access tab to dump the
    EBDA usually 9f800h and find a large block of zeros and round to the nearest 100h.

    Code:
    EBDA_SCAN_OFFSET             = 200h
    

    EDIT:

    pending further testing this may be the fix

    open ws_acpi.inc and change

    Code:
    Usefza.deep_scan:
    
            mov      ebx, 80000h
    
    to

    Code:
    Usefza.deep_scan:
    
            mov      ebx, 800h
    
    that 800h is right after where the MBR relocates it self and should be safe
     
  6. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    the new interrupt handler location seems to be working, since this issue encompassed all WindSLIC projects
    I updated all versions with the change and updated the links
     
  7. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    Updated 5/19/2010

    added chipset vendor id check, DISABLE_BIOS_RW can be left at default
    value, unless you have a spcific problem.
     
  8. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    #189 forbjok, May 18, 2010
    Last edited: May 19, 2010
    I tried the WindSLIC DVD, and it worked like a charm. Now I've put the same SLIC in the bootmgr directory, and run make.cmd, which seems to produce a "bootmgr" file, but I can't seem to be able to overwrite the original "bootmgr".

    What's the trick to be able to overwrite it?

    EDIT:
    Never mind, figured it out.
    I just had to take ownership of it, and give my user Full Control in the security permissions.

    And it works like a charm! :D
    From now on this will be my recommended solution to anyone. *Thumbs Up*

    UPDATE:
    Hmm. Activation works fine, but for som reason, when I press "Shut Down" in Windows, it no longer actually turns the PC off.
    Instead, it just seems to do everything it normally does, such as spin down drives, but then just leaves the power running.
    It worked before installing the custom bootmgr.
    I'm gonna try the old one, and see if it goes back to normal. If it does, then this is presumably a bug. :)

    UPDATE 2:
    In fact, even pressing F5 when it says "Press F5 to skip" causes the issue to go away.
    But then again, so does the activation.
     
  9. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    Actually, it seems that the bootable DVD also causes the no-shutdown issue.
    So apparently this is not an issue with the bootmgr patch, but a bug in the SLIC patch itself.

    Does this happen to everyone, or just me?
     
  10. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30

    odd, I have never had that happen, is wow uninstalled?
     
  11. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    Yes, I uninstalled WoW completely before replacing the bootmgr.
    I even cleaned up by manually deleting its "wow7" folder, and the files it created in the root (grldr, menu.lst, etc).
     
  12. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    you can try setting
    DISABLE_BIOS_RW = 0
    in config.ini to 1

    it does seem like a ACPI table is getting lost or screwed up.
     
  13. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #195 nononsence, May 19, 2010
    Last edited by a moderator: Apr 20, 2017
    if you could post the output from the SLIC toolkit
    that might help

    example output:
    Code:
    Please select the 'Courier' font format to read !
    
    Table NameOEMID&TableIDAddress  LenthDescription Table  (ACPI 1.0)
    
    RSD PTR ACRSYS        0009FD00    20Root System Desc.Pointer
     |
     |- RSDTACRSYSACRPRDCT1DFEFC00    44Root System Desc.Table
           |
        00 |- FACP  ACRSYSACRPRDCT1DFF3040   116
      * 01 |- SLIC  ACRSYSACRPRDCT1DFEFE00   374Software Licensing Desc.Table
    
          --- Scan  Finished ---
    
     
  14. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    I did some more testing, and saved the ACPI table info using RW-Everything in a few different cases.

    As far as I can tell, there aren't any full ACPI tables missing in the "buggy" one, but I notice that some other changes than just the addition of the SLIC table are present.
    For example, some changes that I don't know the significance of are made in the "RSD PTR" section, and some info in RSDT seems to have been replaced by something from the SLIC.

    I also tried to set DISABLE_BIOS_RW to 1, and that actually DOES make the issue go away. Curiously, the ACPI table info that can be seen in RW-Everything when booting with that bootmgr are 100% identical to the unmodified one, but despite that activation still works. I'm guessing there's an explanation for that, though I fail to see the logic of it.

    I have attached the ACPI table info files in a zip, so you can see the differences for yourself using WinMerge or similar.
     

    Attached Files:

  15. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    Thanks for the complete debugging info, when WindSLIC finds an Intel chipset it tries to set some registers
    in the chipset to make the area where the RSD PTR writable, that way the RSD PTR wont have to be moved
    to a writable area, normally it ether works or has no effect, if you can post the mother board make and model
    I will get the chipset documentation and see if I can fix it or blacklist it.
     
  16. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    The motherboard is an ASUS P5Q Deluxe.
    The chipset is Intel P45 I think.
    My current BIOS version is 2301 which is currently the latest non-beta, and can be downloaded from Asus.
     
  17. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #199 nononsence, May 19, 2010
    Last edited by a moderator: Apr 20, 2017
    if you dont mind burring another cd,

    could you open ws_pcifn.inc and on line 65

    change this
    Code:
            disp_word_hex_crlf cx,BS_DETAILED
    
    Code:
            disp_dword_hex_crlf ecx,BS_DETAILED
    
    then report the full chipset id, should be something like "Chipset vendor ID : XXXX8086"
    on the first screen when booting from a CD

    EDIT:

    you may be able to do this with RW everything
    OK button on the far left looks like a PCI card
    Device/Vendor ID0xD1328086
    at the top of summery
     
  18. forbjok

    forbjok MDL Novice

    May 18, 2010
    41
    3
    0
    The vendor ID is 2E208086.