PDA

View Full Version : سوال: برنامه چطوری خودشو کپی کنه؟



majidbahrami
پنج شنبه 07 دی 1391, 17:44 عصر
دروووووووووووووووووود...

بچه ها چطوری میتونم توی لود فرم کدی بزارم تا برنامه خودشو جایی دیگه کپی کنه ؟؟

SlowCode
پنج شنبه 07 دی 1391, 18:06 عصر
سلام
میخوای کرم بنویسی؟:شیطان:
خب کافیه این کد رو بنویسی:
FileCopy App.Path & "\" & App.EXEName & ".exe", "C:\Program.exe"

majidbahrami
پنج شنبه 07 دی 1391, 18:19 عصر
بهترین مکان برای اجرا به نظرت کجاست.. میخوام روی سون و ایکس پی جواب بده ؟

majidbahrami
پنج شنبه 07 دی 1391, 18:32 عصر
این کد رو زدم اررور not found میده

SlowCode
پنج شنبه 07 دی 1391, 19:10 عصر
طبق قوانین اینگونه مباحث خلاف هستن. پس نمیتونم جوابی بگم.

این کد رو زدم اررور not found میده
اصلاح شد.

SHD.NET
جمعه 08 دی 1391, 18:56 عصر
ما فرض میگیریم که نمخاین کرم بنویسین و نیتتون خیره :لبخند:

بهترین جا سیستم 32 هستش از نظر من یا syswow64

:چشمک:\\\موفق باشید///:چشمک:

Mohammad.sweets
جمعه 08 دی 1391, 19:28 عصر
نه system32 نه
تو سون مشکل داره....
اگه میخوای ویروس بنویسی از دستور app.exename استفاده نکن چون بعضی از آنتی ویروسا مثل کسپر به این حساس هستن
بهترین جا برای کپی (یوزر پروفایل) هست...دستور زیرو امتحان کن...
Dim strPath As String
strPath = Environ("userprofile")
FileCopy App.Path & "\M4.EXE", strPath & "\M4.EXE"

M4.EXE همون اسم برنامس که البته اینجا باید ثابت باشه .....به همون دلیل که گفتم نمیتونی از اون دستور استفاده کنی

majidbahrami
شنبه 09 دی 1391, 12:42 عصر
نه system32 نه
تو سون مشکل داره....
اگه میخوای ویروس بنویسی از دستور app.exename استفاده نکن چون بعضی از آنتی ویروسا مثل کسپر به این حساس هستن
بهترین جا برای کپی (یوزر پروفایل) هست...دستور زیرو امتحان کن...
Dim strPath As String
strPath = Environ("userprofile")
FileCopy App.Path & "\M4.EXE", strPath & "\M4.EXE"

M4.EXE همون اسم برنامس که البته اینجا باید ثابت باشه .....به همون دلیل که گفتم نمیتونی از اون دستور استفاده کنی



اره این جای خوبیه .. حالا من کپی رو با دستوری که گفتی انجام دادم...
چطوری میتونم اون کپی رو اجرا کنم و خوشو ببندم؟
چطوری میشه شرط گذاشت که اگه فایلمون کپی شد اون کپی رو اجرا کن .. و اصلی رو ببند ..؟

SlowCode
شنبه 09 دی 1391, 12:55 عصر
از تابع CopyFile استفاده کن.
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

اگه مقدار بازگشتی تابع صفر باشه یعنی کپی نشده، بعد دستور اجرا رو بنویس.

SHD.NET
شنبه 09 دی 1391, 14:02 عصر
ولی اگه از app.exename استفاده نکنی و اسم برنامت عوض بشه دیگه کارت عملی نمیشه وهمه چی میریزه به هم :لبخند: