PDA

View Full Version : سوال: پاکسازی رمزها و هیستوری بروزر



Mask
سه شنبه 16 تیر 1388, 22:12 عصر
با سلام به همه دوستان عزیز اگه ممکنه منو راهنمایی بفرمایید و کمک کنید.:خجالت:
من دارم یه برنامه امنیتی مینویسم با دلفی که میخام کارهای زیر انجام بشه.
اول: آدرس سایتهایی که تو بروزر وارد شده کلا پاک بشه . که با بررسی متوجه شدم برای این کار هم باید در در ریجستری در آدرس زیر یه سری استرینگ هست که پاک بشه هم هیستوری سیستم که قسمت اول یعنی پاک سازی از ریجستری رو انجام دادم اما پاک کردن هیستوری رو نتونستم اگه ممکنه راهنماییم کنید.



HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs




procedure TForm1.Button2Click(Sender: TObject);
Var
R:TRegistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKey_Current_User;
R.DeleteKey('\Software\Microsoft\Internet Explorer\TypedURLs');
Try

Except
ShowMessage('Error')
End;
R.CloseKey;
R.Free;
end;

دوم اینکه کاربران برای پاک کردن پسوورد ها و متنهایی که در موتورهای جستجو ، ذخیره شده از روش زیر عمل می کنند.
از منوهای برنامه‌ی IE منوی Tools را باز کرده و Internet Options را انتخاب کنید و در صفحه‌ای که باز می‌شود سربرگ Content به معنی محتوبات را فعال کرده و در آنجا روی گزینه‌ی AutoComplete کلیک کنید تا پنجره‌ای باز شود . روی دکمه‌ی Clear Forms کلیک کنید تا همه اطلاعاتی که قبلا در فرم‌های مختلف( منظور محلهای خالی برای وارد کردن اطلاعات در سایتهای مختلف یا همان فیلدهای ورود اطلاعات است )و در سایتهای وارد کرده‌اید و برنامه آنها را ضبط کرده پاک شوند.
و همچنین با کلیک بر روی clear Passwords کلیه پسوورد های ذخیره شده پاک می شوند.
خوب این روش دستیشه . حالا چطوری با برنامه نویسی این کار رو انجام بدم.
ممنون اگه جوابمو بدید.این دوتا سوال خیلی برام مهمه

Mask
پنج شنبه 18 تیر 1388, 18:07 عصر
دست همه دوستان درد نکنه.
انگار کسی دوست نداشت منو کمک کنه.
اما طوری نیس دستتون مرسی همه:لبخند:
من چنتا سورس کد پیدا کردم اما چون زیاد وارد نیستم نتونستم با هاشون کار کنم.از دوستان می خام اگه ممکنه این کد ها رو امتحان کنند و اگه جواب داد روش اجرا سورس رو بهم بگند یا سورس رو کامپایل کنند.
ممنون خواهشا اینو جواب بدید دیگه:بوس:

procedure DeleteCache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then begin
repeat
// delete cookies
if ((lpEntryInfo^.CacheEntryType and COOKIE_CACHE_ENTRY) = COOKIE_CACHE_ENTRY)
// delete history
or ((lpEntryInfo^.CacheEntryType and URLHISTORY_CACHE_ENTRY) = URLHISTORY_CACHE_ENTRY)
// delete "normal" cache
or ((lpEntryInfo^.CacheEntryType and NORMAL_CACHE_ENTRY) = NORMAL_CACHE_ENTRY)
then DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName );
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;

اینم یکی دیگه

{ uses ComObj; }

type
TSTATURL = record
cbSize: DWORD;
pwcsUrl: DWORD;
pwcsTitle: DWORD;
ftLastVisited: FILETIME;
ftLastUpdated: FILETIME;
ftExpires: FILETIME;
dwFlags: DWORD;
end;

type
IEnumSTATURL = interface(IUnknown)
['{3C374A42-BAE4-11CF-BF7D-00AA006946EE}']
function Next(celt: Integer; out elt; pceltFetched: PLongint): HRESULT; stdcall;
function Skip(celt: Longint): HRESULT; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IEnumSTATURL): HResult; stdcall;
function SetFilter(poszFilter: PWideChar; dwFlags: DWORD): HResult; stdcall;
end;

type
IUrlHistoryStg = interface(IUnknown)
['{3C374A41-BAE4-11CF-BF7D-00AA006946EE}']
function AddUrl(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer): HResult; stdcall;
function DeleteUrl(pocsUrl: PWideChar; dwFlags: Integer): HResult; stdcall;
function QueryUrl(pocsUrl: PWideChar; dwFlags: Integer; var lpSTATURL: TSTATURL): HResult; stdcall;
function BindToObject(pocsUrl: PWideChar; var riid: TGUID; out ppvOut: Pointer): HResult; stdcall;
function EnumUrls(out ppenum: IEnumSTATURL): HResult; stdcall;
end;

type
IUrlHistoryStg2 = interface(IUrlHistoryStg)
['{AFA0DC11-C313-11D0-831A-00C04FD5AE38}']
function AddUrlAndNotify(pocsUrl: PWideChar; pocsTitle: PWideChar;
dwFlags: Integer; fWriteHistory: Integer; var poctNotify: Pointer;
const punkISFolder: IUnknown): HResult; stdcall;
function ClearHistory: HResult; stdcall;
end;

function ClearIEHistory: Integer;
const
CLSID_CUrlHistory: TGUID = '{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';
var
IEHistory:IUrlHistoryStg2;
begin
IEHistory := CreateComObject(CLSID_CUrlHistory) as IUrlHistoryStg2;
IEHistory.ClearHistory;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ClearIEHistory;
end;

اینم یکی دیگه



unit InternetExplorerHistory;

interface

uses
Windows, ComObj, ActiveX;

procedure ClearInternetExplorerHistory;

const
CLSID_CUrlHistory: TGUID = '{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';

type
TSTATURL = record
cbSize: DWORD;
pwcsUrl: DWORD;
pwcsTitle: DWORD;
ftLastVisited: FILETIME;
ftLastUpdated: FILETIME;
ftExpires: FILETIME;
dwFlags: DWORD;
end;

IEnumSTATURL = interface(IUnknown)
['{3C374A42-BAE4-11CF-BF7D-00AA006946EE}']
function Next(celt: Integer; out elt; pceltFetched: PLongint): HRESULT; stdcall;
function Skip(celt: Longint): HRESULT; stdcall;
function Reset: HResult; stdcall;
function Clone(out ppenum: IEnumSTATURL): HResult; stdcall;
function SetFilter(poszFilter: PWideChar; dwFlags: DWORD): HResult; stdcall;
end;

IUrlHistoryStg = interface(IUnknown)
['{3C374A41-BAE4-11CF-BF7D-00AA006946EE}']
function AddUrl(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer): HResult; stdcall;
function DeleteUrl(pocsUrl: PWideChar; dwFlags: Integer): HResult; stdcall;
function QueryUrl(pocsUrl: PWideChar; dwFlags: Integer; var lpSTATURL: TSTATURL): HResult; stdcall;
function BindToObject(pocsUrl: PWideChar; var riid: TIID; out ppvOut: Pointer): HResult; stdcall;
function EnumUrls(out ppenum: IEnumSTATURL): HResult; stdcall;
end;

IUrlHistoryStg2 = interface(IUrlHistoryStg)
['{AFA0DC11-C313-11D0-831A-00C04FD5AE38}']
function AddUrlAndNotify(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer;
fWriteHistory: Integer; var poctNotify: Pointer;
const punkISFolder: IUnknown): HResult; stdcall;
function ClearHistory: HResult; stdcall;
end;

implementation

procedure ClearInternetExplorerHistory;
var
stg: IUrlHistoryStg2;
begin
stg := CreateComObject(CLSID_CUrlHistory) as IUrlHistoryStg2;
stg.ClearHistory;
end;

end.

Mask
سه شنبه 23 تیر 1388, 00:28 صبح
لا اقل یکی کمک کنه.
چرا آخه؟:گریه:

Nima NT
سه شنبه 23 تیر 1388, 00:56 صبح
خوب حتما" کسی نمیدونه , چرا تو خود بخش دلفی نپرسیدی ؟

Mask
سه شنبه 23 تیر 1388, 01:06 صبح
ای بابا
تو بخش دلفی هم پرسیدم.
یه دو هفته ای هم میومدم سر میزدم اما خبری نشود.
گفتم اینجا بچه ها تو کار امنیتن یقین راهنماییم می کنند.
اما انگار...