Ziggy Posted January 7, 2007 Posted January 7, 2007 Months ago - (I can't remember how far back) this XP STyle manifest did the job of changing buttons etc to XP Style. One of the WINXP hotfixes over the last few months has changed something.<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity name="Microsoft.Windows.Keygen" processorArchitecture="x86" version="1.0.0.0" type="win32"/><description>SnD Keygen</description><dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly></dependency></assembly>Anyone know what needs to be changed in the manifest to make it work?Z
Fungus Posted January 7, 2007 Posted January 7, 2007 there were some .xml patches recently. Core services, not sure what they changed , but...in the SnDolly thread kittmaster got the manifest I posted to work.
Angel-55 Posted January 7, 2007 Posted January 7, 2007 i think the Problem is the Version Ziggy in your file it's 1.0.0.0 in the Original XP Style Manifest File it's 5.1.0.0 that might cause some problems but there are many ways to Support XP Style i'll Give you three ways : 1) your way "when compiling the app add the XP Style Manifest Fiel to Resources" 2) like SnD's Olly use a file to the job "quite nice but prefered to big programs only" 3) use PE Explorer to add the Resource needed to Support XP Style this way 1) choose and app and load it in PE Explorer 2) in the Resources View right click for example the Dialogs List 3) Choose XP Visual Style Manifest Wirzard 4) Click Next till you get the Finish Button hh 5) save the file in a new name for backup and test it PE Explorer will add the Needed Resources to the File alone BTW, the Original XP Style Manifest File is Attached StyleXP.xml
Ziggy Posted January 7, 2007 Author Posted January 7, 2007 Thanks Angel-55My problem was with initialising the common controls. Looks like XP was tolerant of this in the past but is no longer.I've used the three ways you mention at various times. Including the manifest as a resource is the simplist way for keygens. To get the manifest to work as a resource in MASM I have had to use the GoRc resource compiler. The MASM resource compiler does include the manifest as a resource but for some reason XP does not recognise the manifest at load time. Compile the resource using GoRc and XP recognises the manifest and it works fine. I haven't investigated why this happens?Z
Fungus Posted January 8, 2007 Posted January 8, 2007 Hi Ziggy, I found this post on codeproject... maybe this will fix it? seems he adds init common controls as you say, and says to include a few things. http://www.codeproject.com/w2k/xptheme.asp?df=100&forumid=2590&exp=0&select=1294270also this post there with a macro in C, but maybe you can rip his inline part, or convert it over to asm because it doesnt seem too long. http://www.codeproject.com/macro/ManifestMacro.asp
kittmaster Posted January 8, 2007 Posted January 8, 2007 adding a manifest to my custom SND olly is really screwing it up royally. Damn hope we can find a solution to this
Angel-55 Posted January 8, 2007 Posted January 8, 2007 (edited) i tried some thing simple a stupid Dialog Box with XP Manifest Support and i Compiled it using MASM32 (V9.0) any way it works fine at my computer if any one could try it and replay if it works on his too ?? @KittMaster Next Time Try The PE Explorer Way I Explained Before It Works For My OllyDbg Extreme And It Runs Fine Until this moment with XP Manifest Support ........... @Ziggy i just wondered you opened the xml file and putted your app name in it ?? and when you added the xml file to your resources KeyGen did you set it's ID to 1 these are some steps that might cause this Problem !! and your KeyGen doesn't get any XP Manifest Support unless it's compiled by GoRC i'am i right ? really Weired any way you can try the file and check if it supports XP Manifest. Remark: I Use Windows XP SP2 Intergrated "By Me" So It Might Be Your OS ? Test.rar Edited January 8, 2007 by Angel-55
Ziggy Posted January 8, 2007 Author Posted January 8, 2007 i tried some thing simple a stupid Dialog Box with XP Manifest Support and i Compiled it using MASM32 (V9.0) any way it works fine at my computer if any one could try it and replay if it works on his too ?? @KittMaster Next Time Try The PE Explorer Way I Explained Before It Works For My OllyDbg Extreme And It Runs Fine Until this moment with XP Manifest Support ........... @Ziggy i just wondered you opened the xml file and putted your app name in it ?? and when you added the xml file to your resources KeyGen did you set it's ID to 1 these are some steps that might cause this Problem !! and your KeyGen doesn't get any XP Manifest Support unless it's compiled by GoRC i'am i right ? really Weired any way you can try the file and check if it supports XP Manifest. Remark: I Use Windows XP SP2 Intergrated "By Me" So It Might Be Your OS ? Thanks again Angel-55 Your test dialog does not work on my XP with all the recent hotfixes - but it does work on an another XP machine that has had no hotfixes applied for a few months. Someting has changed. For my keygens I can get the XP style to work on the up to date XP by declaring 1 RT_MANIFEST "basicmanifest.xml" in the resource file and compiling using GoRC. XP recognises the manifest and it works fine. With the MASM resource compiler I can see the resource is included in the exe file but XP does not recognise it. I'm interested to know how you declared the manifest resource so that MASM compiled correctly. thanks Z
Angel-55 Posted January 9, 2007 Posted January 9, 2007 Welcome Ziggy And i'am really surprised that this file didn't work at the first machine really weired i have it and it works might be cause i disable these damn Microsofts Update cause they actualy sucks the always keep playing around with the files trying to make it better but instead the damage it any way i'll try this thing on my thrird Computer i didn't try it yet unless on too Computers so this might be the Hotfixes Infect they should have changed something in the Machine so this Option won't work !! but instead of talking i'll try to find a solution for it Cheers
Loki Posted February 9, 2007 Posted February 9, 2007 (edited) Just been playing around with this for something I'm coding at the moment. I managed to get the XP manifest working great compiling with MASM. This is a slightly old topic so I guess Ziggy may have solved has solved his issue, but for the benefit of others:1. Use the StyleXP.xml attached above but obviously edit it so that "your_program.exe" is actually the name of your exe (i.e. crackme.exe or something)2. Add the following to your .rc file: 1 24 DISCARDABLE "StyleXP.xml"3. Ensure you make a call to InitCommonControls in your .asm code. I usually do:invoke GetModuleHandle, NULLmov hInstance, eaxinvoke InitCommonControlsinvoke DialogBoxParam, hInstance, ADDR dlgname, 0, ADDR WndProc, 0invoke ExitProcess, eaxIf it helps anyone, I usually code in Notepad+ and compile with a .bat in the same directory containing:if exist crackme.exe del crackme.exeif exist crackme.obj del crackme.objif exist rsrc.res del rsrc.resif exist rsrc.obj del rsrc.obj\masm32\bin\ml /c /coff crackme.asm\masm32\bin\rc rsrc.rc\masm32\bin\cvtres /machine:ix86 rsrc.res\masm32\bin\Link /SUBSYSTEM:WINDOWS crackme.obj rsrc.objif exist crackme.obj del crackme.objif exist rsrc.obj del rsrc.objif exist rsrc.res del rsrc.resHope someone finds that useful - it works great on my fully patched XP system. Edited February 9, 2007 by Loki
Angel-55 Posted February 16, 2007 Posted February 16, 2007 well it's nice to see your way of programming Loki but the problem is "and i didn't solve it yet" if you use any updated windows "i mean ehith the latest updates" you'll see that any xp manifest which is compiled by MASM doesn't work at all but only at the windows which isn't updated so the problem is that a file has been updated and that file is a graphical Dll and doesn't supports XP Manifests any more but which file is it i didn't know yet but working on it cause that really bothers me alot when the xp manifest doesn't work so i'll have to use flat buttons and so for a better appearence
Loki Posted February 16, 2007 Posted February 16, 2007 (edited) My windows is fully patched.... Even got Feb's updates, and all works fine with this method. Edited February 16, 2007 by Loki
Guest cDc Posted July 18, 2007 Posted July 18, 2007 Please not that invoking the function InitCommonControls() and linking the lib comctl32.lib is very important if you are not using MFC... I had a simple Win32 application that used to create its main window with DialogBox(), and without these 2 things it was just exiting immediately when it started if added only the manifest file.
Angel-55 Posted July 22, 2007 Posted July 22, 2007 you must call InitCommonControls so that the manifest will work properly and you know in MASM the included manifest must have the ID set as 1 only else it won't work......... these days i don't have any problems with manifest i just add the file to resources and never even remain the app's name in it "useless" i set the ID = 1 then just have a call to InitCommonControls now it works perfetly without any problems at all and on all XP's too !!
Killboy Posted July 28, 2007 Posted July 28, 2007 InitCommonControls is actually just a RETN in comctl32.dll (talking about XP SP2 here, havent checked others) Calling it only makes your exe/dll import the dll so it is loaded. I guess that calling LoadLibrary("comctl32.dll") also does the job
Ehtyar Posted July 28, 2007 Posted July 28, 2007 For mslink, when using windows.inc, you must use 1 24 "manifest.xml" instead of the defines, because the compiler will insert them as strings, instead of looking to windows.inc for their values.Ehtyar.
Angel-55 Posted July 28, 2007 Posted July 28, 2007 i didn't try loading that module KillBoy still it could be done easly but what for InitCommonControl one line doesn't kill us it's easy to use although many doesn't use buttons these days most of the releases depend on GFXers arts and so even Ziggy uses GFX's except in tools that ****y problem is easly fixed i don't define a damn thing except adding the XML as a resource and setting the ID == 1 i don't even edit the XML for the file's name then a call to InitCommonControls fixes things up and it's tested on all PC's updates, none, crap, anything that is an M$ OS can show it correctly that is the main thing of it.............why setting it by hand ? that 24 means the resource is an XML so if you add it to resource and define the XML type in the filter it works fine and no need to edit it manually lol cheers bro'
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now