کاربر تایید شده
آخرین فعالیت ٢ هفته پیش

@woohee

پارس کلیکی از ١ سال پیش

تجربه

14200

  • ۴ ماه پیش @woohee به گفتگوی ساخت رشته در لحظه اجرای برنامه جواب داد.

    @amin

    تا جایی که من تحقیق کردم ، اندروید نمی تواند رمزنگاری SHA بازگشایی کند .

    key یی که من می خواهم بسازم چون از طرف مارکت صادر شده است پس نمی تواند بعد از مدتی از بین برود و تغییر کند .

    هدف من این است که بتوان رشته ای ثابت را در جاوا ساخت که قابل مشاهده نباشد . به غیر از key که اشاره کردم ، بعضی ها می خواهند آدرس سرورشان را مخفی کنند یا رشته های دیگر را .

  • ۴ ماه پیش @woohee یک گفتگو به اسم ساخت رشته در لحظه اجرای برنامه درست کرد.

    من برنامه ای با زبان جاوا نوشتم و می خوام پرداخت هایی رو توی برنامم انجام بدم .(برای اندروید)

    حالا برای انجام پرداخت نیاز به یه کلید RSA که از طرف مارکت مربوطه داده شده ؛ هست که این کلید در واقع برای شناسایی برنامه ما از سایر برنامه های دیگه هست و باید به دور از دسترس هکر ها قرار بگیره تا برنامه کرک نشه .

    ضمن این که برنامه های اندرویدی به سادگی چند کلیک دیکامپایل میشوند میتوان این رشته مهم را دید .

    در جایی خواندم که برای این که رشته ها را از دید هکر ها مخفی نگه داریم باید آنها را در حین اجرای برنامه بسازیم .

    چگونه میتوان رشته ای را در حین اجرای برنامه ساخت حتی بعد از این که سورس برنامه لو رفت و تمامی متد ها و کلاس هایش قابل مشاهده شد باز هم نتوان با اجرای آن متدها و کلاس ها آن رشته مورد نظر را پیدا کرد ؟؟؟

    لطفا روش آفلاین و بدون استفاده از سرور را بگوئید .

  • مشکلم حل شد :

    فهمیدم برای اینکه از کلاینت به سرور از طریق سوکت بصورت ریموت بخواهیم متصل شویم باید سرور دارای آی پی عمومی (public IP) باشد .(همون IP ای که تو نت my ip سرچ میکنی بهت میده)

    حالا این public IP هم داستان داره :

    این که می گن برین توی فلان سایت آی پی شون رو زده، این IP متعلق به فرد نیست، متعلق به شرکته. در واقع ISP میاد و یک یا تعداد بیشتری IP رو برای تمام کاربرانش اصطلاحا NAT می کنه و به واسطه هرIP Public تا 255 کاربر اینترنت دار می شن. این موضوع رو میتونین با بررسی IP مثلا بیست نفر که از یه شرکت اینترنت گرفتن چک کنید. یعنی توی سایت هایی که IP واقعی شما رو نشون میده مشاهده خواهید کرد هر 20 کاربر دارای تنها یک IP هستند، و نه 20 آی پی. چرا که هر IP Public برای شرکت های ارائه دهنده اینترنت هزینه بر خواهد بود و هیچ شرکتی دوست نداره متضرر بشه.

    پس برای گرفتن یک public IP باید از طریق قانونی برین مرکزی که ازش اینترنت می گیرین درخواست IP Public بدین و هزینش رو هم پرداخت کنین، تکرار می کنم: هیچ ISP و خدمات دهنده اینترنتی به کاربرانش مادامی که فرد درخواست و تقاضا نده IP Public رایگان نخواهد داد.

    در ضمن این رو هم بگم که؛ اینIP ای رو که شما بطور موقت از ISP ها دریافت میکنین، باهاش نمیشه کارهایی رو کرد که با IP خریداری شده یا همون public . در واقع اگه درست بگم نه میتونی باهاش Remote desktop راه بندازین و نه اینکه بیارینش رو بستر وب و از طریق کلاینت بهش وصل بشین .

  • من کد سوکت به زبان جاوا نوشتم که بصورتی که اگر کامپیوتر و گوشی ای که هر دو به یک شبکه متصل هستند درست کار میکنه و کلاینت و سرور (کامپیوتر و گوشی) به هم متصل میشن ولی نمیتونن از طریق ریموت (اگر به یک شبکه متصل نباشند) به هم متصل بشن.

    لطفا راهنمایی کنید که :

    1. چجوری میتونم سرور را روی هر کامپیوتری خارج از شبکه اجرا کنم و کلاینت بتونه ارتباط برقرار کنه ؟
    2. چجوری آی پی کامپیوترم را در اینترنت عمومی کنم تا بتوانم از طریق سایر دستگاه ها به کامپیوترم متصل شوم ؟
    3. آیا مشکل از کدهای جاوای من است ؟

    کدهای سرور :

    
    package Socket;
    
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.InetAddress;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        ServerSocket mServer;
        int serverPort = 9090;
            String host = "192.168.43.51";//127.0.0.1
            InetAddress inetAddress ;
    
        InputStream fromClientStream;
        OutputStream toClientStream;
    
        DataInputStream reader;
        PrintWriter writer;
    
        public Server() {
    
            try {
                // create server socket!
                mServer = new ServerSocket(serverPort);
                            ///inetAddress = InetAddress.getByName(host);
                            //mServer = new ServerSocket(serverPort, serverPort, inetAddress);
    
                System.out.println("Server Created!");
    
                // wait for client
                // hold an object of Socket for each client
                Socket client = mServer.accept();
    
                // horaaaaa
                System.out.println("Connected to New Client!");
    
                // input stream (stream from client)
                fromClientStream = client.getInputStream();
    
                // output sream (stream to client)
                toClientStream = client.getOutputStream();
    
                reader = new DataInputStream(fromClientStream);
                writer = new PrintWriter(toClientStream, true);
    
                // send message to client
                writer.println("Salam Client joon");
                System.out.println("Server :Salam Client joon");
    
                // Receive client response (javab:D)
                String javab = reader.readLine();
                System.out.println("Client :" + javab);
    
                // send message to client (again)
                writer.println("khobi??");
                System.out.println("Server :khobi?");
    
                // Receive client response (javab:D)
                javab = reader.readLine();
                System.out.println("Client :" + javab);
    
            } catch (IOException e) {
    
            }
    
        }
    
        public static void main(String[] args) {
            new Server();
        }
    }
    

    کدهای کلاینت :

    
    package Socket;
    
    import java.io.DataInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class Client {
        Socket mSocket;
        int port = 9090;
        String serverAddress = "192.168.43.51";//127.0.0.1
    
        InputStream fromServerStream;
        OutputStream toServerStream;
    
        DataInputStream reader;
        PrintWriter writer;
    
        public Client() {
            try {
    
                mSocket = new Socket(serverAddress, port);
    
                System.out.println("connect to server ....");
    
                // input stream (stream from server)
                fromServerStream = mSocket.getInputStream();
    
                // output stream (stream to server)
                toServerStream = mSocket.getOutputStream();
    
                reader = new DataInputStream(fromServerStream);
                writer = new PrintWriter(toServerStream, true);
    
                // first : read server message
                String msg = reader.readLine();
                System.out.println("Server :" + msg);
    
                // send message to server
                writer.println("Salam Servere man");
                System.out.println("Client :Salam Servere man");
    
                // read server message
                msg = reader.readLine();
                System.out.println("Server :" + msg);
    
                // send message to server
                writer.println("Ohum!!!");
                System.out.println("Client :Ohum!!!");
    
            } catch (UnknownHostException e) {
            } catch (IOException e) {
                System.out.println(e.getMessage());
            }
        }
    
        public static void main(String[] args) {
            new Client();
        }
    }
  • @amir یعنی کد رو بصورت زیر بنویسم ؟

    
    public ArrayList<String> getInfo(){
         ArrayList<String> images = new ArrayList<>();
         ArrayList<String> videos= new ArrayList<>();
         images.add("data");
         videos.add("DATA");
    
    return {images, videos};
    }
    

    اما خطا میده و اصلا کار به اجرا نمی کشه .

  • ۶ ماه پیش @woohee یک گفتگو به اسم نحوه return کردن چندین لیست در یک متد در جاوا درست کرد.

    سلام من متدی نوشتم که نیاز دارم چندین لیست را return کند .

    مثلا :

    public ArrayList<String> getInfo(){
         ArrayList<String> images = new ArrayList<>();
         ArrayList<String> videos= new ArrayList<>();
         images.add("data");
         videos.add("DATA");
    
         return images ;
    }
    

    برای return کردن videos باید چکار کنم ؟

  • @m-p

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

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

  • ۷ ماه پیش @woohee یک گفتگو به اسم بدست آوردن کدهای منبع جاوااسکریپت درست کرد.

    سلام من می خوام کدهای زبان جاوا اسکریپت رو بدست بیارم .

    آیا این زبان open source هست ؟

    از کجا میتوانم کد های زبان جاوا اسکریپت را بدست بیاورم ؟؟؟

    لطفا راهنماییم کنید تو گوگل سرچ کردم چیزی پیدا نکردم .

  • سلام من یک رت Remote Access Tool/Trojan برای اندروید را بررسی کردم که وقتی بر روی گوشی نصب شد ، بدون این که کاربر واردش شود یک پیغام توست نشان داد و بدون اجازه کاربر همه ی پرمیشن های حیاتی که مربوط به حریم خصوصی میشه رو بدون اجازه کاربر گرفت (در اندروید 6 به بالا) و دسترسی کامل به گوشی قربانی گرفت .

    لطفا راهنماییم کنید که :

    1. چطوری امکان داره که بدون اجازه کاربر پرمیشن هایی را بگیریم ؟
    2. چجوری وقتی برنامه فقط نصب شد ولی کاربر اونو اجرا نکرد اجرا بشه ؟؟؟ (برای اولین بار)

    دانلود فایل ضمیمه

  • ۷ ماه پیش @woohee به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

    @m-p

    منظورتون زبان hex هست ؟

    میشه روش انجام این کار رو توضیح بدین ؟

    میشه در تلگرام با هم درارتباط باشیم ؟ @toagt

  • ۷ ماه پیش @woohee به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

    @m-p

    سایتی که من می خوام آدرسم به اون عوض بشه مال من نیست .

    فرض کن سایت من آدرسش یاهو هست ولی می خوام وقتی کاربری وارد سایت من شد ، آدرس منو تو آدرس بار نشون نده و آدرس سایت گوگل که مال من نیست رو نشون بده ولی سایت منو نشون بده فقط آدرسشو یه چیز دیگه نشون بده .

    امیدوارم منظورمو فهمونده باشم .

  • ۷ ماه پیش @woohee به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

    @m-p

    کار نکرد . من می خوام که وقتی کاربر وارد سایتم شد همون موقع آدرس عوض بشه ولی وارد اون سایتی که تو آدرس بار هست نشه .

  • ۷ ماه پیش @woohee به گفتگوی تغییر url بدون لود شدن صفحه وب جواب داد.

    @m-p کار نکرد . همونطور که تو متن سوالم هم هست گفتم متد replaceState بهم کمکی نکرد و فقط آدرس داخلی سایتو عوض میکنه در حالیکه من می خوام کل آدرس رو عوض کنم .

    مثلا آدرس سایت من یاهو هست من می خوام بکنمش گوگل .

  • ۷ ماه پیش @woohee یک گفتگو به اسم تغییر url بدون لود شدن صفحه وب درست کرد.

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

    مشکلی که من دارم اینه که متدهای pushState و replaceState فقط آدرس های داخلی سایتم رو عوض میکنند و

    متد window.location.href هم مشکلش اینه که باعث باز شدن صفحه میشه که من اینو نمی خوام بلکه می خوام آدرس

    سایت دیگری را در نوار آدرس بار نمایش دهد بدون این که آن صفحه لود شود .

  • ۸ ماه پیش @woohee یک گفتگو به اسم نحوه انتقال و تغییر نام پوشه درست کرد.

    من می خوام در php فایل های داخل پوشه ای را به پوشه دیگر انتقال بدم ولی فقط نام فایل ها در پوشه جدید وارد میشوند و حجم شان 0 کیلوبایت هست و انتقال فایل با خطا مواجه میشه .

    کدی که من استفاده کردم بصورت زیر هست :

    $dir = "b";// پوشه فایل ها
                    if(is_dir($dir)){
                        if($handle = opendir($dir)){
                            while($filename = readdir($handle)){ 
                                chmod($filename , 0777);
                                $content = file_get_contents(trim($filename));
                                $fp = fopen("b/aa/".basename($filename), "wb");// پوشه aa داخل پوشه b هست و می خوام به پوشه aa انتقال دهم
                                if (!$fp)
                                echo 'منتقل نشد';
                                else
                                echo 'منتقل شد';
                                fwrite($fp, $content);
                                fclose($fp);
                            }
                            closedir($handle);
                        }
                    }

    سوال دومم اینه که چجوری اسم یک پوشه را تغییر دهم ؟؟؟

  • ۸ ماه پیش @woohee به گفتگوی نحوه بارگذاری تدریجی تصاویر در php جواب داد.

    @president

    ممنون . منظور از ایونتی فایر میشه چیه ؟

    غیر از جاوااسکریپت راه دیگه ای مثل php نداره ؟ من جاوااسکریپت بلد نیستم .

  • ۸ ماه پیش @woohee یک گفتگو به اسم نحوه بارگذاری تدریجی تصاویر در php درست کرد.

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

    سایت های زیادی را جستجو کردم ولی چیزی دستگیرم نشد ، برای این کار چکار باید بکنم ؟

  • ۸ ماه پیش @woohee به گفتگوی پیدا کردن حفره امنیتی جواب داد.

    @m-p

    برای نفوذ به بعضی آپ ها مثل آمازون که هیچ باگ معروفی ندارن باید بتونی داخلشون باگ ایجاد کنی (اصطلاحا دیتا اینجکت کنی(مسموم کردن هدف)).در نتیجه به برنامه نویسی نیاز داری

    چجوری میتونیم مسمومشون کنیم وقتی که کدهاشون تو سرور هست و ما بهشون دسترسی نداریم ؟ میشه بیشتر توضیح بدین ؟

    بابت معرفی کردن سایت nabegheha.com بسیار متشکرم .

  • ۸ ماه پیش @woohee به گفتگوی پیدا کردن حفره امنیتی جواب داد.

    @tilkacoder دوست عزیز ، بی صبرانه منتظر مقاله تون هستم

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik اگر منظور از عدد 1 یعنی فعال بودن پس اگر عددی غیر از 1 را وارد کنیم ، output_buffering را برابر همان عدد قرار میدهد ؟

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik مشکل حل شد اما یه مشکل جدید ایجاد شد .

    من همین کد را زدم

    php_value output_buffering 1 php_value output_buffering on

    حتی همان عدد 1 را گذاشتم و به جای اینکه مقدار output_buffering برابر عدد 1 باشد ، نا محدود شده بود . واقعا نامحدود شده بود ، یعنی حدود 2,500,000 خط متن داخل یکی از صفحاتم نوشتم و سپس متد header() در php را صدا زدم که اتوماتیک به صفحه ای دیگر برود و این کار انجام شد در حالیکه نباید انجام میشد چون مقدار کاراکترهای output_buffering را در کد بالا برابر 1 قرار داده بودم .

    و از طریق متد get_ini() هم مقدار output_buffering را مشاهده کردم ، به جای اینکه مقدار عددی نشان دهد مقدار 1 php_value output_buffering on را نشان میدهد .

    مشکل از کجاست ؟

    عکس اول

    عکس دوم

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik نه متاسفانه ، وقتی که کد شما رو میزنم ، مقدار output_buffering برابر 0 میشود و وقتی که کد شما رو حذف میکنم ، مقدار output_buffering برابر 4096 میشود .

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik می خوام مقدار output_buffering را افزایش بدم . چون مقدار 4096 بسیار کم است .

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik پیدا کردم ، وقتی فایل را باز کردم ، خالی بود و هیچ متنی داخلش نبود . آیا فقط همین کد

    php_flag output_buffering 4096

    را وارد کنم ؟

    همین کد را وارد کردم اما buffering کار نمی کند و با متد get_ini() هم مقدار را مشاهده کردم که برابر 0 بود .

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik منظورتان این است که این مسیر را بروم ؟

    Files -->Directory Privacy --> setting --> web root

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik ببخشید این فایل کجا قرار دارد ؟

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @rubik

    بله اما گزینه ای به نام output_bufferingرا نتوانستم پیدا کنم .

    عکس اول

    عکس دوم

  • ۸ ماه پیش @woohee به گفتگوی نحوه تغییر فایل php.ini در سرور سی پنل جواب داد.

    @amir

    میشه لطفا نحوه استفاده از فانکشن ini_set را توضیح بدهید ؟

    من این کد را میزنم و سپس آن را چاپ میکنم اما خروجی مقدار 4096 را نمایش میدهد و مقداری که من وارد میکنم را ست نمی کند .

    
    ini_set('output_buffering' , 999999);
    echo ini_get("output_buffering");
    

    و بصورت زیر هم امتحان کردم و درست نشد :

    
    ini_set('output_buffering' , '99999');
    echo ini_get("output_buffering");
    
  • ۸ ماه پیش @woohee یک گفتگو به اسم نحوه تغییر فایل php.ini در سرور سی پنل درست کرد.

    سلام .

    من می خوام مقدار output_buffering را در فایل php.ini تغییر بدهم و مسیر آن بصورت /opt/alt/php56/etc/php.ini است که نمی توانم در هاستم آن را پیدا کنم .

    طبق آموزش های php استاد عظیمی دارم پیش میرم ولی در هاست سی پنل command line ندارد .

    لطفا روشی را به من یاد بدهید که بتوانم تغییرات دلخواهم را بر روی آن فایل بوجود بیارم ؟

  • ۸ ماه پیش @woohee به گفتگوی میکروفون مناسب برای ضبط ویدیو جواب داد.

    سلام . من پارسال هدفون میکروفون دار به قیمت 35,000 تومن خریدم و هر وقت صدامو باهاش ضبط میکنم کیفیتش عالیه و صدای نویز نداره .

    مدلش XP-HS609 هست .