Domain: dependencywalker.com
Stories and comments across the archive that link to dependencywalker.com.
Comments · 19
-
Re:Multiple Award Winning
As others have written, there is a difference between APIs and implementation. But GPLed software is not more endangered than lots of closed source software is too. Because it does not depend on the sort of license used. With tools like Dependency Walker (http://www.dependencywalker.com/), you can in many cases also discover the interfaces of proprietary code, re-implement them and and try to claim fair use. I guess your chances of succeeding would be about the same as in the Oracle vs. Google lawsuit.
For what it's worth, I agree with the decision of the court, but my point is that the GPL is not really special here. If GPL software is in danger now, lots of closed source software is too.
Considering Google and trying to control Android, I agree that is a dick move but does not make Android worthless for the community. Cyanogen Mod for instance describes itself as
"a customized, aftermarket firmware distribution [...] based on the Android Open Source Project"
So the Android Open Source Project still lives on in ways that serve the end user. I guess if a phone vendor wanted to avoid being pressured by Google, they could try and use Cyanogen Mod instead of Android. Marketing might still be difficult though, depending on how many people know what Cyanogen Mod is all about. -
Re:In other words:
Then either you suck or you have a BOFH that has tweaked the shit out of Windows too damned much and the drivers can't load properly. Sorry to be blunt but its true, i had a customer who kept getting BSODs and it turned out the last admin they had was a BOFH and had locked down the systems so damned badly that the drivers couldn't load properly.
but since i'm just an amazing human being and all around great guy let old hairyfeet show you how to fix that problem Hoss, just go grab Dependency Walker and slap that puppy on a stick, even better get one of those teeny tiny metal sticks and keep it in your wallet like I do, and then when you run into that again? Run dependency walker on the main executable and see what it says. 5 will get you 10 that either 1.- you are missing some core piece of the driver because something it depends on is missing, or 2.- the system is not allowing a key module to load. DW will highlight both problems with little red flags so 5 minutes in google and voila! problem solved.
-
Re:it's been good to know you Yahoo
Well I'm pushing 42, which in PC years is like 100, so I AM old. As for how I stand it? Let you in on a little secret which I learned from my former boss Doug who was the master of dealing with home users. I have a sign on the wall that lists the prices, and at the bottom it says in bold letters "THESE PRICES ARE NON NEGOTIABLE" that way I am no different than McDonald's. You don't see people arguing about the price of a Big Mac, do ya? You would be surprised how ingrained obeying signs is with the public. Just make you a sign and all is golden. They also can't argue they didn't know it was gonna cost that much, because your hourly rate is on the sign.
I myself started at 12 with A VIC20, a Trash80, followed by an early IBM PC in 84. My dad runs his own business so he would buy all these devices that were supposed to "save him time" and then haul me in there when he couldn't figure it out. So I guess I got lucky as I got in when the tech was young and learned about things like languages and arches instead of the school of "clicky clicky".
Finally as one fixit guy to another, he are some cool tools that will save you some time. One a little program called Dependency Walker, for when you have a Windows program that is acting weird, Computer Repair utility Toolkit V2, which is basically a full repair kit in a box and is butt simple to add tools to (add Winsock fix for the rogue AV bugs) and has tools for file recovery, network management, etc, you just need to update the AV, NLite and VLite I'm sure you know of to make automated Windows installs,just use Ryan's VM to integrate the latest patches and fixes, for fresh installs there is Ninite which gives you all the basics they'll need with NO TOOLBARS like Firefox, IMGBurn, and Flash, all from a single install. There are a couple of pay tools I use like Almeza for unattended app installations or Autoplay Menu designer for making nice FOSS CDs to give to customers, but those above will get the job done for $0.
Well there you go. all of the above tools are 100% free, and will seriously cut down the time you spend fixing boxes, so give them a spin, you'll be glad you did.
-
Re:Duh
Same here, I figured better safe than sorry. With a full Sysinternals suite on a flash along with the "Computer Repair Utility Toolkit V2" (I'd provide a link but some FOSSies had a fit and made the original website take it down. I'm sure you can find it on MegaUpload) that I update with new AV and antimalware tools it is like having a "shop on a stick" that lets me fix a good 80%+ of the problems I run into on customer's boxes out in the field.
With those two suites and Dependency Walker on a 2Gb flash stick I can carry all my "save my ass" tools in my pocket, making my life a whole lot easier. I've found we PC repairmen are a lot like plumbers, as when we go to visit friends we often get "Hey, while you are here..." and with the Sysinternals suite and the above tools I can fix most problems in no time flat. So if you read this, thanks Mark, your tools kick ass.
-
Re:We Win!
Hey no problem, we PC repair guys need to stick together. Sadly we honest PC repair guys are a dying breed, with many places being taken over by Worst Buy, or as I call it "The Walmart of PC repair". Have you ever SEEN how they "repair" a PC? Look up "Best Buy repair CD". I swear to God they have a little GUI based CD handed down from corporate that is pretty much "and the monkey pushes the button" as far as repair goes. No basic knowledge on how to troubleshoot, no working through the steps of starting at the basics and working your way up, it is just "push the button" and if that don't work format and reinstall.
And the worst part, I had a buddy work there that let me in on the "inside dope" before he quit. You ever wonder why so many pervs get busted for child porn by geek squad calling the cops? Want to know HOW they find it? The office pervs have USB drives and scripts that run looking for *.avi, *.jpg, *.mpg, *.mp3, etc looking for free tunes, GF pics, porn, anything they can snatch. I wonder how many girls took their PC into Worst Buy and is now on some "see my GF" type website thanks to the geek pervs at Worst Buy. I always tell my clients "Don't tell me to back stuff up if you don't want me to see it" and go out of my way not to look in other folk's stuff. To me it is like a plumber going through someone's underwear drawers when he was asked to fix the sink. That kind of crap just makes me sick.
But since you are a fellow PC repair guy, I'll throw you a link to another tool you may not have heard of but that can really save your ass, especially when you run into those weird "programs dies for no reason or refuses to launch" problems. Say hello to my little friend Dependency Walker. It is only a couple of hundred Kb, no installation, works off a flash,works on 32 and 64bit, integrates easily with the repair toolkit, and most importantly you point it at any
.exe and it will highlight and name any missing dependencies. You'd be surprised how many Windows problems can be traced back to a missing or mis-registered dll. This little baby will point out any missing .dlls, which you can easily replace and voila! The users think you're a god. So enjoy, and be glad you don't have a Worst Buy. They are...well the worst. -
Re:Driver Quality?
I know, my GF says I tend to devolve into technobabble when it comes to hardware and troubleshooting She is pretty good about reminding me that not everyone looks at PCs the way that jocks look at Mustangs,LOL.
But I can guess where you may have had trouble and can point out a good little tool to help you hunt down weird bugs in the future. The most likely source of trouble was sadly the Creative card. I have gone so far as to stop selling these cards to my customers because in the last few years their drivers and support have really gone downhill. I recommend the Asus Xonar cards for my customers and will be putting one in to the new PC my band is getting. Their drivers are really solid.
I have to agree on Windows 7. I have switched myself and many of my customers over and we all love it. The "smart troubleshooting" seems to fix a lot of little errors some of my customers are good at generating. For trying to hunt down the source of errors, especially ones where they just "shit themselves and die" as one of my more colorful redneck customers so eloquently puts it, I use Dependency Walker. It is only a few hundred Kb, no installation, runs off a flash, easy to use, just a great little tool to have. Just point it at an executable and it will list any missing dependencies it may have. You'd be surprised how many weird Windows problems can be traced back to a program having a missing dependency.
I do have one question though: Why on earth are you running AVG with Comodo Firewall? Comodo makes an excellent AV that integrates perfectly with Comodo Firewall, is free, and has a better detection rate and uses less resources than AVG. So why drag your nice PC down with AVG? I have been recommending Comodo AV/Firewall combo for the past two years and even with my most dangerous click happy users I have found Comodo AV stops bugs dead. I have found it to stop many more infections than AVG ever did, and with less CPU and RAM suckage to boot. So why both?
-
Re:Sub Pixel rendering, really?
Hey I would have agreed with you about Netscape if Netscape hadn't released V4. Whew boy, did that suck! You wanna talk about a buggy mess, it is what got me to switch to IE, which I hated! Here is my experience with Netscape V4 "Oh look here comes my page...and it crashed
:-( Lets try again! Oh look here comes my page...and now my whole machine is locked up solid!" You get the idea.As for Kmeleon, which OS are you running? Because on Win2K I've been running it for years and can only think of two times it has crashed. It really didn't like Gmail, nor Yahoo mail. Probably something about the JavaScript. But for day to day browsing they are usually quite stable. Oh, don't try to add Firefox extensions. There are some sites that offer extensions for Kmeleon, but without XUL they are seriously hacked together and buggy.
Now thanks to the state of browsers today, if Kmeleon standard doesn't work for you you can try Pocket Kmeleon, which packs everything into a single folder and might be more stable for you, plus there is SRWare Iron and QTWeb and Opera USB and if you want the tiniest browser that still functions give OffByOne a try.
I would also recommend a nice little program called Dependency Walker which can help track down the problem with Kmeleon or any other buggy program. I have found most Windows program crashes can be tracked down to a missing dependency, which dependency walker can help you find easily. Just point D Walker at the executable and let it do its thing. It will highlight which dependencies are missing, so you can add them to your PC and fix the crash. Good Luck!
-
Re:Another WIN in WINdows
http://www.dependencywalker.com/
if I make an obvious joke like the GP did, will you give me a serious response, too?
you could do that with this post, for example.
Answering to this post with yes or no would be an oxymoron.
-
Re:Another WIN in WINdows
http://www.dependencywalker.com/
if I make an obvious joke like the GP did, will you give me a serious response, too?
you could do that with this post, for example. -
Re:Another WIN in WINdows
-
Re:Equivalent functionality
About the "office thing" has anybody run Dependency Walker on MS Office and seen exactly what it calls? It should be pretty simple to find out whether or not it is calling "hidden" APIs by using dependency walker. For those who haven't used it it is a great little
.exe which you can carry on a flash (no need to install) that will check all the dependencies of a program and list them for you, as well as highlighting missing dependencies. great little tool for chasing down those weird bugs. I would try it but I'm running Abiword.And as for Apple, sure you can buy other media players, hell just about every major store I've walked into has a few Macbooks as well, does that mean MSFT isn't a monopoly? Nope, because I'm willing to bet that JUST like MSFT iPod/iTunes is holding over 90% of the market. I know that I can't even walk down the street with my sandisk without folks saying "what kind of iPod is that?" because JUST like MSFT with desktops in the minds of the people music player=iPod. Remember that you don't have to have 100% of a market to be considered a monopoly. I would argue that Apple is using their dominance to leverage one item (iPod) to take over (I would argue they already have) another market with iTunes.
Palm really should file antitrust on Apple, because as far as media players are concerned they have it locked down with iTunes+iPod. They should either allow others to sync via iTunes or publish the specs, JUST as MSFT had to do with Exchange.
-
Re:Those that haven't already changed...
From my exp as a PC repairman it sounds like you got hit from one of the many pop up BHO bugs out there. Either that or a lovely piece of malware like a clickjacker. You didn't go to a porn site in IE or install any toolbars in IE,did you? Anyway here is what you do. First go do an online bug scan. I would suggest housecall. I would personally bet on a a BHO bug from what little you've posted. If Housecall doesn't find it you can use Dependency Walker to help track it down by looking for anything being called by IE that isn't in either the Windows or Internet Explorer folders. Simply unzip Dependency Walker and choose File/Open and navigate to IE which is in
/Program Files/Internet Explorer and click on IEXPLORER.EXE. This will give you a full list of dependencies and their paths. You can also run Hijack This and post what it outputs to their forum and they can help track down the source if it is a clickjacker or BHO.Anyway if you do decide to go the reinstall route I would suggest NLite which will allow you to strip a lot of the bloat from the OS BEFORE reinstall, including IE IIRC. Just remember to leave the MSHTML.DLL files because there are several programs that use these for help files. I hope this helps, because I usually view having to reinstall a customer's OS as a last resort. Usually with a little time and patience the bug can be tracked down and killed.
-
Re:Upgrading must be for a reason
Don't worry, you old pal PC repairman hairyfeet to the rescue. Now what you need to do is download a program alled Dependency Walker. This program will help you to hunt down the source of the problem..
You see usually what happens during a Windows update breakage is a critical DLL gets replaced with a version that doesn't play nice with your apps. Dependency Walker will highlight any missing DLLs that are required for the program in question, which you can then easily download from the web. To use simply launch Dependency Walker and pick file/open and the navigate to the app in question and open it in Dependency Walker. Then Dependency Walker will find all the DLLs and any other files being called by the app and put a large red flag next to missing or incompatible versions. From there it should be easy as pie to fix. I hope this helps, good luck!
-
Re:Undocumented APIsCue depends.exe to do just that, indeed. Some relatively well-known examples of using undocumented APIs are by Sysinternals, who were recently acquired by Microsoft:
Fundelete accomplishes this through the use of an undocumented API, ObOpenObjectByPointer
...
The final step Fundelete performs is to convert the binary representation of the SID into a textual representation. Another undocumented API, RtlConvertSidToUnicodeString, performs this.
...
Tokenmon relies on several undocumented SRM functions to obtain a logon ID from a thread's primary and impersonation tokens, and GetSecurityUserInfo, an undocumented function exported by the KSecDD (Kernel Security-support driver) that retrieves a logon session user's name, domain name, and logon server given a logon ID. Another interesting implementation detail is that several of the native API functions that Tokenmon hooks are not exported by ntoskrnl.exe for use by drivers. Thus, the Tokenmon GUI must reach into NTDLL.DLL, extract their system call numbers, and pass them to the driver.
This courtesy of the people who unearthed the Sony Rootkit, which goes to show it takes someone with knowledge of deeply intertwingled cruft to find it?
But more importantly: if ISVs behave in this way with limited knowledge of undocumented functions, how do you think Microsoft uses them? -
Re:It certainly isn't easy
No way in hell can anyone use RegMon from my experience with it.
The windows registry is constantly being written to so fast you'd have to be that fellow in the matrix who doesn't even see the code anymore, all he sees is blonde, brunette, redhead.
What you need is Dependency Walker. http://www.dependencywalker.com/
Select the exe, dll, ocx, sys, etc. of the program in question and use dependency walker on it. It's sure a hell of a lot faster than trying to keep up to changes in the windows registry.
I've never used FileMon, but I can tell you RegMon is next to useless in my book. -
Re:THANK YOU
It is trivially easy to set breakpoints and see if other apps or OS components are calling these APIs.
Exporting functions to share code is also known as "sharing code" not just "really bad programming" and "unstable hack", although based on some of the functions I've seen exported, "internet time" leads to the latter sometimes. Still no reason to document arbitrary useless internal helper functions.
Go use Dependency Walker and you will see hundreds -- nay, thousands! -- of exports from DLLs in system32 that aren't documented. They aren't documented because they aren't consumed by "middleware" -- they are exported and consumed by the OS, usually the same app/component that exported them. IE is now legally classified as middleware, I think, so it cannot use any APIs that aren't documented.
-
Re:Synaptic
- Windows and Mac OS X both have similar installer and update functionality. The difference is that they are both more stable platforms (in terms of whether or not certain packages are available) -- you don't need the same kind of dependency management that you need with Linux.
I frequently encounter dependency problems under Windows. Unfortunately, they usually show up as odd behavior in seemingly unrelated software after a new app is installed. With RPM, DEB, and other dependency tracking package systems they tell you up front that there's a problem. If you decide to ignore the advice...well...you've been warned! Can't speak for OSX, though the whole BSD-style drop-and-run-in-place mechanism seems to be a good idea.
The dependency issues in Windows are one of the reasons why I always bring a little friend along when installing anything. Dependency issues are also one of the reasons (beyond an odd file locking mechanism) that you are typically warned to close all applications when installing software under Windows.
-
Re:Well factored code
No, comparing FireFox to IE directly really isn't fair; I should have put a disclaimer on that. I wanted to point out that IE is divided into more modules than FireFox.
Thanks for the dependency list in KDE. Here is a list of all the libraries that IE depends on, or may depend on (delay-load) :
(posted without line breaks because the list is really long: spaces seperate entries)
lz32.dll,2560, msimg32.dll,4608, wmi.dll,5632, netrap.dll,10752, powrprof.dll,14848, linkinfo.dll,15360, version.dll,16384, cfgmgr32.dll,16896, wtsapi32.dll,17408, ws2help.dll,18944, wsock32.dll,21504, w32topl.dll,22016, wzcsapi.dll,23552, efsadu.dll,24576, utildll.dll,25600, mssign32.dll,35840, ntlanman.dll,38400, rtutils.dll,39936, regapi.dll,44032, mprui.dll,47104, winsta.dll,48128, authz.dll,51200, msasn1.dll,51712, secur32.dll,52224, clusapi.dll,54272, samlib.dll,54784, mpr.dll,55808, rasman.dll,55808, wzcdlg.dll,56832, cabinet.dll,59904, ntdsapi.dll,64512, netui0.dll,74752, atl.dll,74810, ws2_32.dll,75264, mprapi.dll,79360, iphlpapi.dll,82944, cscdll.dll,89600, advpack.dll,91136, iexplore.exe,91136, msoert2.dll,91136, winscard.dll,93184, dhcpcsvc.dll,99840, imm32.dll,103936, olepro32.dll,106496, apphelp.dll,115712, shsvcs.dll,116224, oledlg.dll,117760, imagehlp.dll,126976, msrating.dll,132096, winspool.drv,132096, dnsapi.dll,139264, adsldpc.dll,139776, cdfview.dll,142336, netman.dll,154112, credui.dll,158720, oleacc.dll,163328, tapi32.dll,165376, wintrust.dll,166912, wldap32.dll,168448, winmm.dll,171520, scecli.dll,174592, activeds.dll,181760, certcli.dll,186880, mobsync.dll,196096, uxtheme.dll,203264, odbc32.dll,204800, rasapi32.dll,217088, mswsock.dll,228352, netui1.dll,230400, gdi32.dll,257536, comdlg32.dll,258048, devmgr.dll,263168, duser.dll,263680, wzcsvc.dll,264704, netapi32.dll,306176, netui2.dll,308224, msvcrt.dll,323072, shlwapi.dll,395264, msvcp60.dll,401462, cryptui.dll,477696, urlmon.dll,484352, dbghelp.dll,489984, printui.dll,522240, rpcrt4.dll,535552, crypt32.dll,544256, comctl32.dll,557056, advapi32.dll,558080, user32.dll,560128, oleaut32.dll,569344, mlang.dll,577024, netcfgx.dll,584192, wininet.dll,588288, inetcomm.dll,593408, rasdlg.dll,631808, ntdll.dll,654336, userenv.dll,667136, netplwiz.dll,857600, kernel32.dll,930304, setupapi.dll,932864, msgina.dll,971264, mfc42u.dll,995384, esent.dll,1018368, browseui.dll,1026048, ole32.dll,1183744, shdocvw.dll,1339904, query.dll,1349120, netshell.dll,1622528, gdiplus.dll,1703936, msi.dll,2086400, mshtml.dll,2795520, shell32.dll,8240640
For a total of 46028456 bytes. Note that many libraries are loaded on demand; many of them are never loaded during a normal session. Also, all the win32 interface libraries and runtime libraries that IE may use are included, with their dependencies. For anyone who cares, Dependency Walker will tell you all about it. -
Re:Here we go again...
You aren't really helping your case much. What I said was that Linux stays "fresher longer", to put it another way. I said nothing like what you said, not even a little bit. I am saying that generally a box used in the same manner will need less repair on the Linux side of things.
Not in my expierence; my Linux installs always seem to get something broken (keyboard in X, sound, X in general, Gnome shell, UDMA) and I can't fix it. Who do I blame? Myself; I am not very good at Linux (yet).I suggest you buy a lottery ticket because you sure are good at beating the odds!
Odds have nothing to do with it, and the number of people with different expierences is irrelevant. I'm sorry that your co-workers have so many problems; what are they doing wrong?
Most people have different experiences, just judging by random samples of people at work.Well, what do you want? The code it displays when it crashes? Support people can't figure it out either actually looking at the computer, so I wouldn't waste your time - just another case of Windows flaking out, corrupting some vital bit of registry somewhere, and needing a reinstall. I'm sure that never happens with XP.
I'm sorry that the support people are incompetent, too. They probably aren't paid to acually fix problems, but to make them go away. Putting re-installation at the bottom of a cue sheet eases support costs.
Something specific has to be broken. Part of the problem is that you are treating Windows like some kind of black box that can't be diagnosed. You shouldn't give up so easily. What is the error message? Is it an unhandled exception or just a message box? Which process causes it? You said it's at startup: how is it started? Find out which objects are opened by the process, and what libraries are involved. You suspect the registry; find out which registry keys are opened and how.
What if I said: The KPanel of KDE crashes every time I start the computer, no matter what I do. This is RH9. How do I fix it?
Is that enough information? If it's not enough information for Linux, how can it be enough for Windows?
One difference is that the source code is available for Linux, but not Windows. Is that really so big a difference? Sure, if I knew where to look, and knew what I was doing, and had the time, I could investigate the source to find the problem; even submit a patch and fix it myself. It's possible but not easy. It's also not like Windows and Office don't have any documentation.