PDA

View Full Version : برداشتن user , pass یک برنامه



m.khani_121
یک شنبه 22 مرداد 1391, 14:04 عصر
سلام دوستان . من یه برنامه دفترچه تلفن دارم که سورسشو ندارم . میخوام exe این دفترچه تلفن رو اضافه کنم به یه برنامه که دارم مینویسم . این دفترچه تلفن وقتی میخوایم توش وارد شیم user , pass میخواد ( مثلا 2تاش 1 هست ) . حالا چه جوری میتونم بزارمش تو برنامم که وقتی کاربر خواست دفترچه تلفن رو باز بکنه دیگه user , pass ازش نخواد ؟

h_assefi
یک شنبه 22 مرداد 1391, 14:30 عصر
دوست عزیز من خودم این کار را نکردم اما فکر کنم بتونی بصورت پارامتری این کار را انجام بدی یعنی این که وقتی برنامه دفتر تلفن را فراخوانی می کنی داخل خود برنامت بصورت اتوماتیک مقدار یوزر و پسورد را وارد کنه و تاییدش کنه.
باز هم میگم چون خودم انجام ندادم فقط تا همین حد می تونم کمکت کنم و اگه خودم راه حلی پیدا کردم حتما بهت خبر می دم
خوش باشی

m.khani_121
یک شنبه 22 مرداد 1391, 14:37 عصر
منم همین ایده به ذهنم رسید ولی چه جوری خود برنامه اتوماتیک وارد کنه ؟؟

h_assefi
یک شنبه 22 مرداد 1391, 15:11 عصر
بهتره توی رفرنس های خارجی دنبالش بگردی اگه همچین کاری بشه کرد اونجا هست
اگه من هم راهی براش پیدا کردم برات می زارم

m.khani_121
دوشنبه 23 مرداد 1391, 10:21 صبح
دوستان من تو رفرنس های خارجی گشتم فهمیدم که باید یه فایل batch درست کنم و یوزر و پس رو بهش بدم . کسی میدونه باید چه جوری درست کنم ؟؟

barnamenevisforme
سه شنبه 24 مرداد 1391, 15:14 عصر
سلام
خوب نقطه آغاز رو خودتون مشخص کردید.
با هم جلو میریم تا ببینیم چطور این موضوع رو به نتیجه برسونیم.
در مورد درست کردن فایل batch کافیه دستورات رو در یه فایل متنی در یک ویرایشگر متن مثل notepad بنویسیم،ذخیره کنیم و بعد پسوند اونو به .bat تغییر بدیم.
اینم یه لینک در مورد راهنماییه چند تا از دستورات:
http://en.wikipedia.org/wiki/Batch_file
توی برنامه شما اول برنامه exe دفترچه تلفن رو از طریق shell اجرا کنید.حالا میمونه اینکه چطور focus رو روی دو تا جعبه متن قرار بدیم و اعداد رو درش وارد کنیم.
دوستان کمک کنید.چطور؟:متفکر:

barnamenevisforme
سه شنبه 24 مرداد 1391, 15:19 عصر
راستی یه راهنمایی.
واسه اجرای برنامه ،نرم افزار هایی هستن که مراحل کار رو record میکنند.مثل Unattended و یه فایل با پسوند .iss میسازند.
حالا کافیه ما توسط یکی از این نرمافزار ها فایل iss رو بسازیم.بعد از طریق batch فایل اونو اجرا کنیم.

Saman_12
سه شنبه 24 مرداد 1391, 15:33 عصر
اگه برنامه اول رو خودتون نوشتید که همین روشی که دوست عزیزمون گفت خوبه اگر نه میتویند با توابع API مقدار دو فیلد رو ست کنید بعد هم پیام کلیک رو به دکمه مورد نظر بفرستید.
Sendmessage به تنهایی کافیه!(جستجو کنید.)

barnamenevisforme
سه شنبه 24 مرداد 1391, 17:26 عصر
سلام دوست عزیز
فکرمیکنم بالاخره راهشو پیدا کردم.
برنامه ای هست به نام autoit اونو از این لینک download کن:
http://s1.downloadina.com/Win-Automation/AutoIt-3.3.6.1-%5Bwww.downloadina.com%5D.zip
بعد از نصب،به مسیر زیر برو و برنامه رو اجرا کن،یادت نره تیک capture keyboard رو هم فعال کنی.
Program Files\AutoIt3\Extras\Au3Record
روی icon مربوط به record کلیک کنید.
بعد برنامتون رو اجرا کنید.(منظورم برنامه دفترچه تلفن)
user name,password رو وارد کنید و ok رو بنید.
script رو ذخیره کنید.
فایل ذخیره شده رو با notepad باز کنید.عبارت password نامفهومه،خودتون عبارت درست رو وارد کنید و فایل رو ذخیره کنید.
حالا script رو اجرا کنید و نتیجه رو ببینید.
برای اجرای script بدون نیاز به autoit از ابزار compile script to exe استفاده کنید.
فقط یادتون باشه نرم افزار autoit کاربردهای زیادی داره و ممکنه به عنوان یه keyloger هم استفاده بشه(البته اینو حدس میزنم)
پس سعی کنید بعد از ساخت فایل exe خود autoit رو از نصب در بیارید.
موفق باشید.

m.khani_121
سه شنبه 24 مرداد 1391, 22:20 عصر
barnamenevisforme (http://barnamenevis.org/member.php?242915-barnamenevisforme)


واقعا ممنون دوست عزیز . راه حل جالبی بود .

میگم نمیشه کاری کرد که با نرم افزار جانبی این کارا رو نکنم ؟؟ بزارین کامل توضیح بدم .

پسورد دقترچه تلفن توی دیتابیس من ذخیره میشه و ممکن هست کاربر چند بار پسورد رو عوض کنه ، پس با نرم افزار نمیشه . من میخوام یه کدی بنویسم که بره پسورد رو از دیتابیس دفترچه تلفن برداره و بزاره جا اون و ok کنه بره . میشه ؟؟؟

خیلی خیلی ممنون دوستان

Saman_12
سه شنبه 24 مرداد 1391, 22:48 عصر
API یا Application Programing Interface به صورت کلی مجموعه ای از توابع از پیش آماده ویندوز ه که در کتابخانه های آن موجود هستند و برنامه نویسان می توانند از آنها در توسعه نرم افزار هی خود استفاده کنند.(یه توضیح خیلی مختصر شما میتونید تو گوگل سرچ کنید.)

برای اینکار شما باید بییاید و هندل پنجره مربوطه رو به دست بیارید بعد هم هندل دو تکست پنجره رو و مقدار هاشون رو ست کنید.(WM_SETTEXT ,FindWindow , FindWindowEx)
بعد هم پیام BM_CLICK رو به دکمه برنامه که قبلا هندلش رو گرفتید بفرستید.(SendMessage)

می تونید جستجو کنید مثال های زیادی به زبان های مختلف پیدا میکنید.(نحوه استفاده از توابع تقریبا در همه زبان ها یکسانه و فقط Declare شون فرق میکنه.)

m.khani_121
سه شنبه 24 مرداد 1391, 22:52 عصر
ممنون دوست عزیز . منظور از بدست اوردن هندل چیه ؟ میشه یه نمونه کد بزاری ؟؟

Saman_12
سه شنبه 24 مرداد 1391, 23:28 عصر
ممنون دوست عزیز . منظور از بدست اوردن هندل چیه ؟ میشه یه نمونه کد بزاری ؟؟
گفتم که جستجو کنید :[/URL]
http://barnamenevis.org/showthread.php?295426-%DA%A9%D8%AF%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-VB6-%D8%AF%D8%A7%D8%B1%D9%85-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D9%85%D8%B9%D8%A7%D8%AF%D9%84-%D8%A7%D9%88%D9%86-%D8%AF%D8%B1-C-%D8%AF%D8%A7%D8%B1%D9%85!&highlight=findwindow (http://barnamenevis.org/showthread.php?295426-%DA%A9%D8%AF%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-VB6-%D8%AF%D8%A7%D8%B1%D9%85-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D9%85%D8%B9%D8%A7%D8%AF%D9%84-%D8%A7%D9%88%D9%86-%D8%AF%D8%B1-C-%D8%AF%D8%A7%D8%B1%D9%85%21&highlight=findwindow)

[URL]http://barnamenevis.org/showthread.php?291691-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-API-%D8%AF%D8%B1-C&highlight=findwindow

تو خود گوگل سرچ کنید از مطلب سیراب میشید و اگر هم در باره هر تابع اطلاعات خواستید :
و ماکروسافت MSDN را آفرید...

barnamenevisforme
پنج شنبه 26 مرداد 1391, 09:26 صبح
سلام
دوست عزیز همون طور که دوستمون فرمودن یه راهش فرستادن دستورات از طریق sendmessage هست،یکی از مشکلات این کار بدست آوردن handleهاست.
یادمه توی یکی از تالارها قبلا یه موضوع درباره همین مطلب به صورت کامل و با نمونه پیش رفت ولی متاسفانه الان میبینم که پاک شده.
این موضوع حاوی همون نفراتیه که در تاپیکی که عرض کردم شرکت داشتن.امیدوارم بتونی ازشون کمک بگیری:
http://barnamenevis.org/showthread.php?348580