রিওয়ার্ড অ্যাপে ইমুলেটর আর ফোন ফার্ম: আসল ইউজার ব্লক না করে কীভাবে ধরবেন
দশটা Android ইমুলেটর চালানো একটা কম্পিউটারকে দেখে মনে হতে পারে দশটা বাসায় দশটা ফোন। ফোন ফার্ম আরও এক ধাপ এগিয়ে, র্যাক ভর্তি আসল ডিভাইস নিয়ে। এই গাইডে থাকছে দুটোই কীভাবে কাজ করে, হার্ডওয়্যারের কোন চিহ্নগুলো তারা লুকাতে পারে না, আর ন্যায্যভাবে কীভাবে ব্যবস্থা নেবেন।
সংক্ষিপ্ত উত্তর
ডিভাইস নিজেকে যা বলে দাবি করে, তার সাথে হার্ডওয়্যার আসলে যা রিপোর্ট করে তা মিলিয়ে ইমুলেটর আর ফোন ফার্ম ধরুন: এমন GPU-র সাথে কোনো ফোন মডেল, যা ওই মডেলে কখনো থাকে না; ইমুলেটরের ডিফল্ট প্রোফাইল; সফটওয়্যার GPU; আর মুছে ফেলার পর আবার ফিরে আসা ডিভাইস। স্পষ্ট ইমুলেটর প্রোফাইল অফার ক্লিকেই ব্লক করুন, একটামাত্র অমিল হলে রিভিউতে পাঠান, আর ব্যবস্থা নিন লিংক হওয়া পুরো ক্লাস্টারের উপর।
- সবচেয়ে স্পষ্ট লক্ষণ
- অসম্ভব মডেল-GPU জুটি, যেমন একটা Pixel 8 যা Adreno GPU রিপোর্ট করছে।
- ইমুলেটরের চিহ্ন
- ইমুলেটরের ডিফল্ট মডেল, নতুন Chrome-এর সাথে খুব পুরনো Android বিল্ড, সফটওয়্যার GPU, ফোন মডেলে ডেস্কটপ সাইজের স্ক্রিন।
- ফোন ফার্ম
- একই হার্ডওয়্যার বারবার ব্যবহার করে, স্টোরেজ মুছে ফেলে, শুধু চীনে বিক্রি হওয়া সস্তা মডেল কেনে, আর একই অফার একই ক্রমে কমপ্লিট করে।
- যা করবেন না
- পুরো ব্র্যান্ড ব্যান করা, বা একটামাত্র মডেল-অমিলে ব্লক করা।
ইমুলেটর আর ফার্ম কেন রিওয়ার্ড অ্যাপকে টার্গেট করে
মোবাইল অফারে পেমেন্ট ভালো। একটা গেম ইনস্টল করুন, লেভেল 20-এ পৌঁছান, আর কয়েক ডলার আয় করুন। অ্যাডভার্টাইজাররা এত টাকা দেয় কারণ তারা আসল ফোনে একজন আসল প্লেয়ার আশা করে। ফার্ম প্লেয়ারটাকে নকল করে, আর পেমেন্টটা নিজের পকেটে রাখে।
প্রধানত দুই ধরনের সেটআপ আছে। প্রথমটা ইমুলেটর: LDPlayer, Nox, MEmu, BlueStacks বা Genymotion-এর মতো সফটওয়্যার, যা পিসিতে Android চালায়। একটা শক্তিশালী কম্পিউটারে একসাথে অনেকগুলো চলতে পারে। দ্বিতীয়টা ফোন ফার্ম: তাক ভর্তি সস্তা আসল ফোন, প্রায়ই প্রতিটা অ্যাকাউন্টের পর রিসেট করা, কখনো কখনো স্ক্রিপ্ট দিয়ে চালানো।
দুটোর লক্ষ্য একই। অনেকগুলো অ্যাকাউন্ট, প্রতিটাকে দেখে মনে হয় আলাদা ডিভাইসে আলাদা মানুষ, আর প্রতিটাই একই বেশি পেমেন্টের অফারগুলো কমপ্লিট করে। নেটওয়ার্ক কয়েক সপ্তাহ পরে কনভার্সনগুলো রিভার্স করে দেয়, প্রায়ই আপনি পেমেন্ট দিয়ে দেওয়ার পরে।
ডিভাইস কী দাবি করে, আর আসলে কী রিপোর্ট করে
প্রতিটা ব্রাউজার বা WebView নিজের পরিচয় জানিয়ে দেয়। ইউজার এজেন্ট আর ক্লায়েন্ট হিন্ট থেকে পাওয়া যায় মডেলের নাম, যেমন Pixel 8 বা SM-S918U। এই দাবি বদলানো সহজ। ফার্মের টুলগুলো এক ক্লিকেই মডেলের নাম পাল্টে দেয়।
হার্ডওয়্যার নকল করা বেশি কঠিন। WebGL-এর মাধ্যমে ডিভাইস তার গ্রাফিক্স চিপ (GPU) রিপোর্ট করে। আসল ফোন একটা পরিচিত, নির্দিষ্ট GPU নিয়েই আসে। Pixel 8-এ থাকে Mali GPU। যুক্তরাষ্ট্রের Samsung Galaxy S মডেলে থাকে Snapdragon চিপ, সাথে Adreno GPU। দাবি করা মডেল আর রিপোর্ট করা GPU না মিললে বুঝবেন, ডিভাইসটা নিজের পরিচয় নিয়ে মিথ্যা বলছে।
| দাবি করা মডেল | রিপোর্ট করা GPU | সিদ্ধান্ত |
|---|---|---|
| Pixel 8 | Mali-G715 | মিলে যায়, আসল Pixel 8 এই ফ্যামিলির GPU নিয়েই আসে |
| Pixel 8 | Adreno 740 | স্পুফ করা, Pixel 8-এ কখনো Adreno থাকে না |
| Pixel 5 | Mali-G76 | স্পুফ করা, Pixel 5-এ থাকে Adreno |
| SM-S918U (যুক্তরাষ্ট্রের Galaxy) | Mali-G710 | স্পুফ করা, যুক্তরাষ্ট্রের মডেলে থাকে Snapdragon আর Adreno |
| iPhone | Adreno বা Mali | স্পুফ করা, iPhone রিপোর্ট করে Apple GPU |
| Android ফোন | Apple GPU | স্পুফ করা, প্রায়ই কোনো iPhone বা Mac, Android সেজে আছে |
ইমুলেটরের ডিফল্ট প্রোফাইল
ইমুলেটরকে কোনো না কোনো ফোন মডেল রিপোর্ট করতেই হয়। বেশিরভাগ ইউজার ডিফল্টটা কখনো বদলায় না, আর ডিফল্টগুলো সবার জানা। কয়েকটা জনপ্রিয় ইমুলেটর নিজেকে কোরিয়ান মার্কেটের Samsung মডেল (N সাফিক্স, যেমন SM-G977N) বা পুরনো Asus ও vivo মডেল হিসেবে দেখায়। ডেভেলপার ইমেজগুলো sdk_gphone বা vbox86-এর মতো নাম রিপোর্ট করে।
আরেকটা চিহ্ন হলো Android বিল্ড। ইমুলেটর প্রায়ই পুরনো Android ভার্সন চালায়, যেমন 5.1 বা 7.1, এমন বিল্ড নম্বরসহ যা শুধু ইমুলেটর ইমেজেই থাকে। এর সাথে নতুন Chrome ভার্সন যোগ হলে পেয়ে যাবেন এমন একটা কম্বিনেশন, যা আসল ফোনে প্রায় কখনোই দেখা যায় না।
- যুক্তরাষ্ট্র বা ইউরোপের IP-তে কোরিয়ান Samsung মডেল। ভ্রমণকারীর ক্ষেত্রে সম্ভব, ইমুলেটরের ক্ষেত্রে খুবই কমন।
- খুব পুরনো Android বিল্ডের সাথে নতুন Chrome। এত পুরনো আসল ফোন খুব কমই Chrome-এর নতুন বিল্ড পায়।
- সফটওয়্যার GPU, যেমন SwiftShader বা llvmpipe। যে ফোনে কোনো আসল গ্রাফিক্স চিপ নেই, সেটা আসলে একটা ভার্চুয়াল মেশিন।
- ফোন মডেলে ডেস্কটপ সাইজের স্ক্রিন, বা এমন ফোন যা মাউস রিপোর্ট করে, অথচ কোনো টাচ ইনপুট নেই।
চীনের বাইরে শুধু চীনে বিক্রি হওয়া ফোন
কিছু ফোন শুধু মূল ভূখণ্ড চীনেই বিক্রি হয়। উদাহরণ: PJx-এর মতো কোডের OPPO আর OnePlus মডেল, C দিয়ে শেষ হওয়া Xiaomi মডেল, A দিয়ে শেষ হওয়া vivo মডেল, আর -AN00 বা -AL00 দিয়ে শেষ হওয়া Huawei বা Honor মডেল। এই মডেলগুলো একসাথে অনেক কিনলে সস্তা পড়ে, আর ফোন ফার্মে খুবই কমন।
যুক্তরাষ্ট্র থেকে কানেক্ট করা শুধু চীনে বিক্রি হওয়া একটা মডেল ফ্রডের প্রমাণ নয়। মানুষ ভ্রমণ করে, ফোন আমদানিও করে। কিন্তু আপনার সাইটের অনেক অ্যাকাউন্ট যখন যুক্তরাষ্ট্র, যুক্তরাজ্য বা কানাডার IP থেকে এমন মডেল রিপোর্ট করে, তখন সেটা শক্তিশালী লক্ষণ যে ট্রাফিক আসছে কোনো ফার্ম থেকে, আর IP-গুলো কোনো প্রক্সির।
ডিভাইস রিসেট আর স্টোরেজ মুছে ফেলা
ফার্মগুলো জানে, সাইটগুলো একটা ডিভাইস আইডি সেভ করে রাখে। তাই প্রতিটা নতুন অ্যাকাউন্টের আগে তারা অ্যাপের ডেটা মুছে ফেলে, ব্রাউজার ক্লিয়ার করে বা ফোন রিসেট করে। নতুন একটা আইডি আসে, আর সাইট ভাবে এটা নতুন ডিভাইস।
রিসেট সেভ করা আইডি মুছে দেয়, হার্ডওয়্যার মোছে না। প্রতিবার একই GPU, স্ক্রিন সাইজ, Android বিল্ড আর ইনস্টল করা ফন্ট ফিরে আসে। যে ডিভাইসের স্টোরেজ খালি, কিন্তু হার্ডওয়্যারের বৈশিষ্ট্য এক ঘণ্টা আগে দেখা আরেকটা ডিভাইসের সাথে মিলে যায়, সেটা প্রায় নিশ্চিতভাবেই মুছে ফেলা হয়েছে।
- খালি স্টোরেজ, চেনা হার্ডওয়্যার। ফ্ল্যাগ করুন, আর আগের ডিভাইসের সাথে লিংক করুন।
- অল্প সময়ে একই হার্ডওয়্যার প্রোফাইলে অনেক অ্যাকাউন্ট, প্রতিটা একদম নতুন আইডিতে।
- হুবহু একই ক্রমে অফার করা হয়েছে ওই সব অ্যাকাউন্টে, যা একটা স্ক্রিপ্ট বা একজন কর্মীর লক্ষণ।
আসল ইউজার ব্লক না করে ব্যবস্থা নিন
ডিভাইস সিগন্যাল শক্তিশালী, কিন্তু নিখুঁত নয়। ব্রাউজার ফিঙ্গারপ্রিন্ট নকল করা যায়, আর সস্তা ফোন মাঝে মাঝে অদ্ভুত ভ্যালু রিপোর্ট করে। ন্যায্য পলিসি এই সিগন্যালগুলো ব্যবহার করে টাকা বের হওয়ার গতি কমাতে, একটামাত্র সূত্র দেখে শাস্তি দিতে নয়।
- অফার ক্লিকে ব্লক করুন শুধু স্পষ্ট ইমুলেটর প্রোফাইল আর সফটওয়্যার GPU-র ক্ষেত্রে। আসল ফোনের আসল প্লেয়ারদের এতে কিছুই হয় না।
- একটামাত্র মডেল-অমিলে ব্লক নয়, রিভিউ করুন। ক্যাশআউটটা প্রমাণসহ একটা কিউতে রাখুন।
- ক্লাস্টারের উপর ব্যবস্থা নিন। দশটা অ্যাকাউন্ট একই স্পুফ করা প্রোফাইল শেয়ার করলে দশটার ব্যাপারেই একসাথে সিদ্ধান্ত নিন।
- একটা allowlist রাখুন। টেস্টার, স্টাফ আর অস্বাভাবিক হার্ডওয়্যার ব্যবহার করা পরিচিত ভালো ইউজারদের প্রতি সপ্তাহে ফ্ল্যাগ হওয়া উচিত নয়।
- আগে মাপুন। কয়েক দিন ব্লক না করে চেকগুলো চালান, আর দেখুন কতগুলো ক্যাশআউটে এর প্রভাব পড়ত।
CashoutGuard কীভাবে এটা অটোমেট করে
CashoutGuard-এর JavaScript কালেক্টর মডেল, GPU, স্ক্রিন আর বিল্ড পড়ে নেয়। আপনার সার্ভার সাইনআপ, অফার ক্লিক, কনভার্সন আর ক্যাশআউটে /v1/evaluate কল করে, আর কারণসহ 0 থেকে 100 পর্যন্ত একটা স্কোর পায়।
device_spoofedসেইসব ক্ষেত্রে, যখন দাবি করা মডেল আর GPU একই ফোনের হতে পারে না।emulator_profileইমুলেটরের ডিফল্ট মডেল আর শুধু ইমুলেটরে থাকা Android বিল্ডের জন্য।emulator_or_vmআরautomation_detectedভার্চুয়াল মেশিন আর স্ক্রিপ্টে চলা ব্রাউজারের জন্য।device_market_mismatchচীনের বাইরে শুধু চীনে বিক্রি হওয়া মডেলের জন্য।storage_cleared_reappearedআরdevice_shared_with_accountsমুছে ফেলা ডিভাইস আর শেয়ার করা হার্ডওয়্যারের জন্য।
ফ্রড রিং ভিউ অ্যাকাউন্টগুলোকে ডিভাইস, পেমেন্ট অ্যাড্রেস, ইমেইল আর IP ধরে লিংক করে, তাই একটা ফার্ম দেখা দেয় একটাই ক্লাস্টার হিসেবে। নতুন সাইট শ্যাডো মোডে শুরু হয়, তাই কিছু ব্লক হওয়ার আগেই ফলাফল দেখে নিতে পারবেন। ডকুমেন্টেশন পড়ুন, অথবা প্রাইসিং পেজে প্ল্যানগুলো তুলনা করুন।
নেটিভ Android অ্যাপ: যে চেকগুলো ব্রাউজার করতে পারে না
Android-এর জন্য বানানো রিওয়ার্ড অ্যাপ একটা ওয়েব পেজের চেয়ে বেশি কিছু দেখতে পায়। CashoutGuard Android SDK আপনার অ্যাপের ভেতরে চলে আর খোদ ফোনটাকে চেক করে: ইমুলেটরের প্রোপার্টি আর ফাইল, রুট করা সিস্টেম, Frida আর Xposed-এর মতো হুকিং ফ্রেমওয়ার্ক, যা অ্যাপের কাছে ভুয়া তথ্য পৌঁছে দেয়, ডিবাগার, লোকেশন স্পুফ করার অ্যাপ, আর ডিভাইসে চলা VPN, এমনকি IP রেসিডেনশিয়াল দেখালেও।
এটা প্রতিটা ফোনকে এমন একটা আইডিও দেয়, যা অ্যাপ আনইনস্টল করে আবার ইনস্টল করলেও টিকে থাকে। আইডিটা বানানো হয় Android ID থেকে, আপনার কী দিয়ে salt করে, তাই এটা অন্য কারো কোনো কাজে আসে না। নতুন অ্যাকাউন্ট খুলতে ফার্মার অ্যাপ রিসেট করলেও ফোনটা একই ডিভাইস হিসেবে ফিরে আসে, আর নতুন অ্যাকাউন্টটা পুরনোগুলোর সাথে লিংক হয়ে যায়।
| চেক | রিজন কোড | রিওয়ার্ড অ্যাপে কেন গুরুত্বপূর্ণ |
|---|---|---|
| ইমুলেটরের প্রোপার্টি, ফাইল আর হার্ডওয়্যার | emulator_or_vm | ইমুলেটর ফার্ম দিনরাত পেইড ইনস্টল আর প্লেটাইম অফার করে যায় |
| রুট করা ফোন | device_rooted | রুট থাকলে অ্যাপ নিজের ডিভাইস আইডি আর লোকেশন নকল করতে পারে; একা দুর্বল, অন্য লক্ষণের সাথে শক্তিশালী |
| অ্যাপে Frida, Xposed বা Substrate | automation_detected | হুক আপনার অ্যাপ যা দেখে তা-ই বদলে দেয়, বাকি সব চেকসহ |
| ফোনে VPN চলছে | ip_vpn | এক্সিট IP রেসিডেনশিয়াল দেখালেও ধনী দেশগুলোর অফার খুলে দেয় |
| রিইনস্টলের পরও একই ফোন | device_shared_with_accounts | একজন মানুষ, অনেক অ্যাকাউন্ট, একবারে একটা করে পেমেন্ট |
ইন্টিগ্রেশন মানে প্রতিটা পেমেন্টের আগে একটা কল: অ্যাপ সাইনআপ, অফার ক্লিক আর ক্যাশআউটে একটা request_id সংগ্রহ করে, আর আপনার সার্ভার /v1/evaluate-কে জিজ্ঞেস করে। Kotlin কোডের জন্য দেখুন ইন্টিগ্রেশন।