PDA

View Full Version : نوشتن برنامه ای مثل Syskey



mostafa_golden
سه شنبه 10 اسفند 1389, 00:27 صبح
سلام

من میخام یک برنامه شبه به syskey پیاده سازی کنم حالا مشکل اینه که نمیدونم چطوری قبل از بالا آمدن User اجرا کنم .
C\C++‎ , C#‎ , VB
اگر راهنمایی های دیگری دارید از ما دریغ نکنید.

Nima NT
سه شنبه 10 اسفند 1389, 01:08 صبح
برای اینکار لازم هستش که بوت لودر ویندوز رو دستکاری کنید ، در این مورد باید کمی تحقیق کنید چون ویندوز به ویندوز فرق میکنه و نیازمند روش خاص خودش هست ، با تغییر بوت لودر ویندوز میتونید قبل از لاگین شدن یوزر برنامه خودتون رو اجرا کنید ( در واقع این برنامه توسط سیستم عامل به صورت اتوماتیک لود میشه ) تا کارهایی که مد نظرتون هست رو انجام بدید.

mostafa_golden
سه شنبه 10 اسفند 1389, 01:19 صبح
برای اینکار لازم هستش که بوت لودر ویندوز رو دستکاری کنید ، در این مورد باید کمی تحقیق کنید چون ویندوز به ویندوز فرق میکنه و نیازمند روش خاص خودش هست ، با تغییر بوت لودر ویندوز میتونید قبل از لاگین شدن یوزر برنامه خودتون رو اجرا کنید ( در واقع این برنامه توسط سیستم عامل به صورت اتوماتیک لود میشه ) تا کارهایی که مد نظرتون هست رو انجام بدید.

ممنون که پاسخ دادید :لبخندساده:

ممنون میشم یک مقدار در مورد با دستکاری بوت لودر در xp , 7 راهنمایی کنید. و منبع خوبی معرفی فرمایید. :متفکر:

Nima NT
سه شنبه 10 اسفند 1389, 01:36 صبح
خواهش میکنم
بد نیست سوالتون رو در این فروم (http://barnamenevis.org/www.kernelmode.info)هم عنوان کنید شاید در مورد نحوه تغییر بوت لودر ویندوز و ... اطلاعات مفیدی در اختیارتون قرار بدن.

joker
سه شنبه 10 اسفند 1389, 02:31 صبح
اگه منظورت مرحله قبل از لوگین کردن کاربر هست ، برنامه را به صورت service بنویس.

Nima NT
سه شنبه 10 اسفند 1389, 02:42 صبح
نوشتن سرویس توی ویندوز 7 جواب نمیده ، UAC فعال باشه نمیذاره لود بشه.

mostafa_golden
سه شنبه 10 اسفند 1389, 15:05 عصر
اگه منظورت مرحله قبل از لوگین کردن کاربر هست ، برنامه را به صورت service بنویس.


اگر امکان دارد ساختار و طراحی یک سرویس ساده که بتوانم برنامه را قبل از ورود کاربر اجرا کنم یک مقدار راهنمایی کنید. مثل اینکه تنها راه است.:متفکر:



نوشتن سرویس توی ویندوز 7 جواب نمیده ، UAC فعال باشه نمیذاره لود بشه.

برای UAC هم یک کاری میکنیم.

joker
سه شنبه 10 اسفند 1389, 16:12 عصر
متاسفانه من هیچکدوم از زبانهای , C# , VB را کار نکردم ولی روش کار استاندارده ... جستجوی گوگل بهترین سمپل هست.

r00tkit
سه شنبه 10 اسفند 1389, 23:38 عصر
windows service ها ساب پروسس service.exe هستن که در اخرین مرحله توسط سشن منیجر اجرا می شه smss.exe پس این چیزی که می خوای نیست چون تقریبا همزمان با لود شدن یوزر توسط سشن 1 هستش و تغییر بوت لودر هم جملهی ناقصی هستش , معنی رو من متوجه نشدوم

شما می تونی

1- یک boot driver بنویسی که این boot درایور توسط winload.exe
2- یه native application بنویسی ( یه نیتوی اپ برنامه ایه که مستقل از ساب سیستم هستش و با ntdll.dll لینک می شه و تو یوزر مود اجرا می شه تابع شروعش هم NtProcessStartup هستش

smss.exe یه نیتیو اپ هستش به عنوان مثال

خفن ترین ادم ویندوز :


Why would such programs be needed" Any program that must run before the Win32 subsystem is started (around the time the logon box appears) must be a native application


http://technet.microsoft.com/en-us/sysinternals/bb897447

این مثال خوبیه برای (http://blog.csdn.net/saturnbj/archive/2009/12/28/5090030.aspx)native app (http://blog.csdn.net/saturnbj/archive/2009/12/28/5090030.aspx)

DEATH HUNTER
شنبه 21 اسفند 1389, 18:12 عصر
سلام دوست عزیز من کاملا حرف شما رو متوجه شدم.من قبلا این کار رو انجام دادم اما متاسفانه الان فایلش در دسترسم قرار نداره.باید تابع فراخونی پسورد رو به logonui.exe تزریق کنی.
البته حواست باشه اینجکشن شما حتما باید به صورت استاتیک باشه.
بازم اگه کمکی از دستم بر بیاد در خدمتم.

r00tkit
شنبه 21 اسفند 1389, 19:34 عصر
Winlogon.exe یه برنامه یوزر مد هستش که وقتی ALT+CTRL+DEL رو می زنی می بینیش توسط Winlogon.exe فراخوانی می شه کارشم اینه که پسورت رو می گیره و به lsass.exe می فرسته اگه درست بود UserIni.exe یا هر چی تو بخوای توسط Winlogon اجرا می شه همین

DEATH HUNTER
شنبه 21 اسفند 1389, 20:28 عصر
این طرز صحبت کردن درست نیست.
من کلی تو فکر این بودم که چه طوری این کار رو انجام بدم بعد از چک ویندوز یکی از اولین برنامه هایی که لود میشه همین logonUI.exe است.شما باید چه کار کنی.
1-یک جامپ از Entry Point برنامه به محل لود شدن فرم که در DLL قرار دارد. درخواست پسورد که یک فرم به صورت showmodal فراخونی میشه اگه پسورد درست بود فقط دستور Appilication.terminate رو صادر کن تمام و این logonUI.exe به کارش ادامه میده با این کار در برابر Safemode هم مقاوم میشه.

r00tkit
شنبه 21 اسفند 1389, 23:08 عصر
این طرز صحبت کردن درست نیست.قصد بدی نداشتم ببخشید .

چیز هایی که شما می گید با مرحلهی syskey یکی نیست این logonUI تقریبا اخرین مرحله هستش

hojjatcroos
یک شنبه 22 اسفند 1389, 08:12 صبح
دوستمون راست می گن این مراحل که به هم ربطی نداره.

DEATH HUNTER
یک شنبه 22 اسفند 1389, 08:16 صبح
والا من اون زمانی که می خواستم این کار رو انجام بدهم یکم با Syskey درگیرشدم ولی بازم متوجه نشدم چی کار میکنه برای همین این کار رو انجام دادم.از نظر کارکرد هیچ فرقی با هم ندارند فقط syskey دو تا 3 ثانیه زودتر از این روش لود میشه.

r00tkit
دوشنبه 23 اسفند 1389, 14:15 عصر
همین دو سه ثانیه مهم هستش دیگه