تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 4 اولاول 1234 آخرآخر
نمايش نتايج 21 به 30 از 31

نام تاپيک: شبكه و يه ريزه كاري هاي ويژه

  1. #21
    کاربر فعال انجمن نرم افزار picher_s's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    زیر چتر اویرا در تفریج!
    پست ها
    1,453

    پيش فرض

    سلام عزیزان.
    اون برنامه ای رو که گذاشتید مربوط به پنهان کردن Application هست نه پروسز!!
    برنامه دوم فقط تو taskManager دیده نمیشه!!! با یه کد ساده دلفی قابل روت و بسته شدنه.
    اگر میخواهید برنامه ای بنویسید که پروسزش دیده نشه و منم نتونم ببندمش (شوخی کردم) شما باید یه درایور بنویسید.
    ویروس Sality از چنین روشی استفاده کرده. و فکر میکنم هیچ ربطی هم به Injection نداشته باشه!!!
    موفق و پیروز باشید.
    Last edited by picher_s; 09-02-2009 at 13:56.

  2. این کاربر از picher_s بخاطر این مطلب مفید تشکر کرده است


  3. #22
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    picher_s جان خوب بيشتر توضيح بده

  4. #23
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    با سلام
    دوستان من کارایی رو که تو این برنامه کردم رو میذارم اگه استاندارد نبود ببخشید و کمک کنید که با هم درستشون کنیم اگه سوالی هم بود بگید تا اونجا که بتونم(بلد باشم) جواب میدم.

    1.هرچی زور زدم نه ،تونستم (البته تو ایران هرکی میره کافی نت برا اینترنته نه چیزه دیگه). این قسمت و با قسمت سوم یکجا توضیح میدم.
    2.کامپوننت زیر رو دانلود کنید(اينترنمت گيره انشالله پست بعدي)

    کامپوننت ها بالا یکی از ویژگی هاش مانیتورینگ پرینتراست. یعنی از تو هر برنامه ای دستور پرینت بدی توابع به کار رفته در این کامپوننت ها می فهمند(از دستورات هوک استفاده می کنن).

    معمولاً تو کافی نت ها یک پرینتر دارند و اون هم shereمیشه(اگه هر سیستم هم یکی داشته باشه فرق چی؟نمی کنه) ،پس کاربر بعد از دستور پرینت والبته بعد از تائید موفقیت آمیز بودن پرینت هزینه ای را به جان می خرد .
    برای اطمینان از موفقیت آمیز بودن پرینت از دستور زیر استفاده میشود (که در دموی کامپوننت گذاشته شده وجود دارد
    \Program Files\madCollection\madCodeHook\Demos\system wide\PrintMonitor)



    دستور
    uses madCodeHook;

    type
    // this is what we our dll sends us
    TPrintNotification = record
    process : array [0..MAX_PATH] of char;
    api : array [0..MAX_PATH] of char;
    params : array [0..MAX_PATH] of char;
    result : array [0..MAX_PATH] of char;
    end;

    procedure TFPrintMonitor.HandlePrintNotification(var Message: TMessage);
    // you got mail! add the received message to our listview
    begin
    // was it really a message from our dll?
    if Message.lParam = $777 then
    // yes it was, so extract the information and add it to our listview
    with TPrintNotification(pointer(Message.wParam)^), LogLV.Items.Add do begin
    Caption := TimeToStr(Now);
    SubItems.Add(ExtractFileName(process));
    SubItems.Add(api); //شرح مراحل عمليات شروع ،پايان و ...
    SubItems.Add(params); //مشخصات پرينتري که جهت پرينت ازش استفاده شده
    SubItems.Add(result); //که معلومه جهت اعلام نتيجه عمليات پرينت
    MakeVisible(false); //اينو نمي دونم
    end;
    end;
    خوب اگه نتیجه result=succses بود یعنی اینکه پرینت با موفقیت انجام شد
    برای اینکه ببینیم چند برگ پرینت گرفته تعداد دفعات succsesها رو می شماریم.
    و بعد با indy به سرور تعداد پرینت ها رو خبر میدیم.
    خوب فعلاً اگه سوالی بود بگید و گرنه که برم سراغ بعدی.....

  5. این کاربر از izeh_ninja بخاطر این مطلب مفید تشکر کرده است


  6. #24
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    خوب مبحث بعدی 1و2و3
    قرار بود از استفاده کردن کاربر از اینترنت جلوگیری کنیم،اینترنت و قطع و وصل کنیم(شبکه)و....
    خوب اول یه آموزش کوتاه
    برای دسترسی به این منابع(شبکه در ویندوز و شاید هم سایر منابع که من نمی دونم اگه کسی سایر دونست بگه ما هم استفاده کنیم) چندتا dll بیل گیتس تو سیستم 32 قرار داده که می توان از آن ها استفده کرد
    Shell32.dll
    hnetcfg.dll

    وقته اینا رو به دلفی اضافه کرده چندتا کامپوننت به قرار زیر بهتون میده
    NetSharingManager
    ShellFolderItem
    PassportClientServices
    FileSearchBand
    ShellLinkObject
    ShellDispatchInproc
    ShellFolderView
    SearchCommand
    Shell
    اگه تو نصب مشکل داشنید بگید تا آموزش بدم(اگه! به حرفه ای هاش برنخوره)

    خوب با این کامپوننت ها هرچی دلتون می خواد با شبکه و ...می تونید ور برید(من فقط با شبکه ش کار کردم اگه کسی سر در آورد به ما هم بگه باشه!)

  7. #25
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    حالا بریم سر یه تابع جهت قطع و صل کردن شبکه (loca area connection)

    که از منابع shell32 استفاده شده

    function TForm2.ToggleLAN(const ConnectionName: string): Boolean;
    const
    EnableVerb = 'En&able';
    DisableVerb = 'Disa&ble';
    LANEnable: Boolean = True;
    var
    ShellApp: Shell32_tlb.Shell;
    ControlPanel: Shell32_tlb.Folder;
    FolderItem: Shell32_tlb.FolderItem;
    NetworkFolder: Shell32_tlb.Folder;
    LANConnection: Shell32_tlb.FolderItem;
    EnableVerbItem, DisableVerbItem, Verb : Shell32_tlb.FolderItemVerb;
    I,K: Integer;
    begin
    Result := False;
    ShellApp := CoShell.Create;
    ControlPanel := ShellApp.NameSpace(ssfCONTROLS);
    // test := ConnectionName;
    for I := 0 to ControlPanel.Items.Count - 1 do
    begin
    FolderItem := ControlPanel.Items.Item(I);
    // ShowMessage(FolderItem.Name);
    if (FolderItem.Name = 'Network Connections') or
    (FolderItem.Name = 'Network and Dial-up Connections') or
    (FolderItem.Name = 'Network and Sharing Center') then
    begin
    NetworkFolder := FolderItem.GetFolder as Folder;
    Break;
    end;
    end;
    if NetworkFolder = nil then
    begin
    Result := False;
    Exit;
    end;
    for I := 0 to NetworkFolder.Items.Count - 1 do
    begin
    FolderItem := NetworkFolder.Items.Item(I);
    // ShowMessage(FolderItem.Name);
    if FolderItem.Name = ConnectionName then
    begin
    LANConnection := FolderItem;
    Break;
    end;
    end;

    if LANConnection = nil then
    begin
    Result := False;
    Exit;
    end;

    for I := 0 to LANConnection.Verbs.Count - 1 do
    begin
    if LANConnection.Verbs.Item(I).Name = EnableVerb then
    begin
    EnableVerbItem := LANConnection.Verbs.Item(I);
    EnableVerbItem.DoIt;
    Result := true;
    //ShellApp._Release;
    // ControlPanel._Release;
    // FolderItem._Release;
    // NetworkFolder._Release;
    //LANConnection._Release;

    Exit;
    end;

    end;

    end;

    البته بگم می تونید با dialup , .. ور برید

    اون قسمتی رو که با رنگ قرمز نشون دادمه:

    if LANConnection.Verbs.Item(I).Name = EnableVerb then

    اگه EnableVerb کنیم شبکه وصل میشود (اگه قطع باشه)
    اگه DisableVerbکنیم شبکه قطع میشه (اگه وصل باشه)
    Last edited by izeh_ninja; 12-02-2009 at 17:40. دليل: قرمزش نكرده بودم

  8. این کاربر از izeh_ninja بخاطر این مطلب مفید تشکر کرده است


  9. #26
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    خوب طریق فراخوانی
    ToggleLAN('Local Area Connection');

    مشکل همش تو همین بود(حل شد نه؟) حالا اگه بخوایم جلوگیری کنیم از استفاده می زاریمش تو یه تایمر که مدام چک کنه

  10. #27
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    خوب اینم همون تابع بالا برا ویندوز ویستا(چون ویستا نداشتم امتحان نکردم بگم 100% کار میکنه)

    function EnabelNetworkCard(cardName : String) : integer;
    var Retvar : integer;
    oBindObj : IDispatch;
    oNetAdapters,oNetAdapter,
    oIpAddress,oGateWay,
    oWMIService,oSubnetMask : OleVariant;
    i,iValue : longword;
    oEnum : IEnumvariant;
    oCtx : IBindCtx;
    oMk : IMoniker;
    sFileObj : widestring;
    begin
    Retvar := 0;
    sFileObj := 'winmgmts:\.\root\cimv2';

    // Connect to WMI - Emulate API GetObject()
    OleCheck(CreateBindCtx(0,oCtx));
    OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFile Obj),i,oMk));
    OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindO bj));
    oWMIService := oBindObj;

    oNetAdapters := oWMIService.ExecQuery('Select * from ' +
    'Win32_NetworkAdapter ' +
    'where Description = ' + '''' +
    CardName + '''');
    oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;

    while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
    try
    ShowMessage(oNetAdapter.Description);
    Retvar := oNetAdapter.Enable;
    except
    Retvar := -1;
    end;

    oNetAdapter := Unassigned;
    end;

    oGateWay := Unassigned;
    oSubnetMask := Unassigned;
    oIpAddress := Unassigned;
    oNetAdapters := Unassigned;
    oWMIService := Unassigned;
    Result := Retvar;
    end;

  11. این کاربر از izeh_ninja بخاطر این مطلب مفید تشکر کرده است


  12. #28
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    یه نکته وقتی شبکه می خواد متصل بشه یه دیالوگ(اسم با کلاسشونمی دونم)وا میشه اگه بخواهید که کاربر اینو نبینه می توانید از دستوراتshellapp استفاده کنید جهت hide کردن اون پنجره.


    خوب یه خورده با کد ور برید تا ارتباط با dialup رو هم یاد بگیریر به ما هم بگید بدونیم البته بگم که در این مورد می تونید با نوابع wininwet خود دلفی و ras apiکار کنید اگه توضیحات بیشتر خواستید بگید، ها! بچشم !.ok

    اینم برنامه نمونه(نه نمونه، demo)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    از این ادبیات ضعیف معذرت می خوام
    به قول برو بچ(سلجر) فعلاً بای

  13. #29
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    اگه چيزره پيدا كرديد يا ميدونيد كه بدرد بخوره لطفاً بگيد
    اگه سوالي نيست تا برم سراغ بعدي

  14. #30
    داره خودمونی میشه izeh_ninja's Avatar
    تاريخ عضويت
    Nov 2008
    پست ها
    53

    پيش فرض

    .کامپوننت زیر رو دانلود کنید(اينترنمت گيره انشالله پست بعدي)
    يادم نرفته
    اين لينك مستقيم دانلود
    http://madshi.net/madcollection.exe
    اينم لينكي كه خودم آپلود كردمك


    http://rapidshare.com/files/197208593/madcollection.rar.html

    اگه مشكلي بود هم(اگه خواستيد با دستوراتش آشنا بشيد به اينجا سر بزنيد

    http://forum.madshi.net/viewtopic.php?t=4491&postdays=0&postorder=asc&star t=30
    ويا يخورده از بالايي كم كنيد تا به اين برسيد
    http://forum.madshi.net

  15. این کاربر از izeh_ninja بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •