# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها > سوال: الگوریتم تولید شماره شارژ ایرانسل

## sm4899

با سلام
میخواستم اطلاعاتی درمورد الگوریتم شارژکارت ایرانسل بدونم
کسی در این مورد اطلاعات داره ؟
نحوه تشخیص معتبر بودن کد ارسالی برای ایرانسل چگونه است

----------


## qwerty11

تو دیتا بیسش نگاه میکنه ببینه همچین شماره ای وجود داره یا نه !

----------


## sm4899

سلام
کاملا درست
 ولی این که دلیل نمیشه   چون توی دیتا بیس اون یک شماره که نیست تعداد زیادی شماره
12 رقمی داره حا لا من 10عدد که بفرستم بلاخره یکی پیدا میشه

حلا در نظر بگیر 100 نفر مثل من بخوان ایکارو بکنن چی میشه
پس این توجیه درست نیست

----------


## qwerty11

سلام دوست عزیز
ببخشید نکنه فکر کردین اپراتور اینقدر هوشمنده که میفهمه شما کارت رو خریدین یا نه !؟



> 12 رقمی داره حا لا من 10عدد که بفرستم بلاخره یکی پیدا میشه
> حلا در نظر بگیر 100 نفر مثل من بخوان ایکارو بکنن چی میشه


بله یه عدد 12 رقمیه. با اعداد 0 تا 9 12^10 تا عدد میشه درست کرد! حالا اگه 2 برابر جمعیت ایران رو به این عدد تقسیم کنی میشه 0.0001 . یعنی اگه شما یه عدد شانسی بزنی به احتمال 0.0001 درست در میاد !
ولی خوب امتحانش ضرر نداره... میتونی 100 بار هم بزنی ببینی چی میشه.

----------


## sm4899

> سلام دوست عزیز
> ببخشید نکنه فکر کردین اپراتور اینقدر هوشمنده که میفهمه شما کارت رو خریدین یا نه !؟
> بله یه عدد 12 رقمیه. با اعداد 0 تا 9 12^10 تا عدد میشه درست کرد! حالا اگه 2 برابر جمعیت ایران رو به این عدد تقسیم کنی میشه 0.0001 . یعنی اگه شما یه عدد شانسی بزنی به احتمال 0.0001 درست در میاد !
> ولی خوب امتحانش ضرر نداره... میتونی 100 بار هم بزنی ببینی چی میشه.


 
حالا اگه 1000 نفر هرکدوم 10 عدد امتحان کنند چی  ( بلاخره هر شهر 1000 نفر پیدا میشن
که تو این فکرن

----------


## qwerty11

> حالا اگه 1000 نفر هرکدوم 10 عدد امتحان کنند چی  ( بلاخره هر شهر 1000 نفر پیدا میشن
> که تو این فکرن)


میشه بگین نظر شما درباره ی این موضوع چیه!؟ به نظر شما چجوری میفهمه!؟

من حد خیلی بالا رو گفتم! فکر نمیکنم به ازای هر نفر 2 تا کارت شارژ وجود داشته باشه... اما حرف شما شاید درست باشه... اگه 1000 نفر هرکدوم 10 بار بزنن شاید یکیش درست در بیاد اگه فرض کنیم 140 میلیون کارت شارژ وجود داره...

----------


## shp_com

کسی می دونه این شماره ها چه طوری تولید می شن؟

منظورم همین شماره های روی کارت شارژ هاهست

----------


## UltraZoom

> کسی می دونه این شماره ها چه طوری تولید می شن؟


خوب تابع راندوم هست .
مثلا اگر 10 رقم هست . یک آرایه می نویسیم شامل کارکترهای مورد نظر ما .
بعد راندوم از آرایه می کشیم بیرون و یک سری خرده ریز دیگه

----------


## shp_com

> خوب تابع راندوم هست .
> مثلا اگر 10 رقم هست . یک آرایه می نویسیم شامل کارکترهای مورد نظر ما .
> بعد راندوم از آرایه می کشیم بیرون و یک سری خرده ریز دیگه


به این راحتی هم نیست من 1 ماه نشستم که یک شماره که قبول کنه پیدا کنم 
نشد که نشد

----------


## lordarma

به نظر من تابع رندوم نیست ، زیرا در صورت رندوم بودن احتمال اینکه حداقل 2 کارت شارژ با شماره های یکسان وجود داشته باشند وجود دارد و برای جلوگیری از این امر می بایست تک تک شماره های تولید شده با شماره های قبلی مقایسه شوند که عملا چنین چیزی امکان ندارد.
حال می توان نتیجه گرفت که شرکت مذکور برای تولید شماره های خویش از تابعی انحصاری استفاده می کند که جواب های آن عددی 12 رقمی و غیر تکراری است.

----------


## golbafan

با سلام

1- فرض كنيد ايرانسل مثلا هفته اي 1000000 شار‍ژ ميفروشه
2- پس هنگام توليد شار‍ژها سريال اونارو به حافظه سيستم ميده.
3- حالا اگر ما يك عدد شانسي بزنيم به احتمال 1000000/1000000000000 يا به عبارتي 0.000001 احتمال داره درست زده باشيم.
4- حالا ما اگر 1000000 بار تست رو انجام بديم بالاخره يكيش درست از آب در مياد!

5- هيچ نادوني اينقدر وقتشو تلف نخواهد كرد اونم براي 2000 تومان!
6- ايرانسل مطلب 5 رو ميدونه 
7- براي همين هم ايرانسل اين ريسك رو قبول ميكنه و هزينه بيشتري براي نرم افزار هاش نميكنه...

----------


## DataMaster

> با سلام
> 
> 1- فرض کنید ایرانسل مثلا هفته ای 1000000 شار‍ژ میفروشه
> 2- پس هنگام تولید شار‍ژها سریال اونارو به حافظه سیستم میده.
> 3- حالا اگر ما یک عدد شانسی بزنیم به احتمال 1000000/1000000000000 یا به عبارتی 0.000001 احتمال داره درست زده باشیم.
> 4- حالا ما اگر 1000000 بار تست رو انجام بدیم بالاخره یکیش درست از آب در میاد!
> 
> 5- هیچ نادونی اینقدر وقتشو تلف نخواهد کرد اونم برای 2000 تومان!
> 6- ایرانسل مطلب 5 رو میدونه 
> 7- برای همین هم ایرانسل این ریسک رو قبول میکنه و هزینه بیشتری برای نرم افزار هاش نمیکنه...


بحث بر سر این مورد نیست کسی بیاد بشینه با روش بروت فورس بخواد شارژ بدزده
اصولا دنبال الگوریتمی که این کدها رو تولید میکنن هستن
هر چند که قبلا یه چند سال پیش همچین بلایی سر یکی از ISP ها اومد و الگوریتم تولید کارتهای اینترنتش رو فهمیدن و مجانی استفاده میکردن

----------


## qwerty11

> اصولا دنبال الگوریتمی که این کدها رو تولید میکنن هستن


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

پ.ن : بروبچ هرکی شارژ میخواد از روش brute force استفاده نکنه! یه خبر به خودم بده تا جایی که در توانم باشه در خدمتش هستم  :لبخند گشاده!:  یه روش بهش پیشنهاد میدم که O(1) I باشه  :لبخند گشاده!:

----------


## Salar Ashgi

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

تونسته بود الگوریتم کد شارژ ها رو پیدا کنه ، البته بعد از تابلو شدنش (چون موجودیش بیش از 200،000 تومان

شده بود) ایرانسل خطش رو مسدود و یه جورایی یاور طرف رو استاد کرده بود . بالاخره پس روشهایی هست !

----------


## sm4899

فرض کنید از شما بعنوان برنامه نویس خواسته باشند چنین الگوریتمی طراحی کنید 
پس بحث سر دزدیدن یا ازین حرفا نیست

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

اینجا دیگه بحث آبرو و حیثیت ایران سل در مقابل کارت شارژهای فروخته شده است

----------


## golbafan

الگوريتمي در كار نيست فقط عدد رندمه...
اگر اطلاعاتي در مورد آمار داشته باشين بايد بگم كه يكي از روشهاي رندم سازي در آمار به صورتي عدد ايجاد ميكنه كه اون عدد قبلا در ليست اعداد وجود نداشته باشه.

----------


## sm4899

> الگوریتمی در کار نیست فقط عدد رندمه...
> اگر اطلاعاتی در مورد آمار داشته باشین باید بگم که یکی از روشهای رندم سازی در آمار به صورتی عدد ایجاد میکنه که اون عدد قبلا در لیست اعداد وجود نداشته باشه.


با عرض پوزش با نظر حضرتعالی کاملا مخلفم
بدلیل اینکه بحث سر تولید یک عدد نیست بلکه 2 یا 3 میلیون و حتی بیشتر ؟

ظاهر نمره آمار حضرت عالی بصورت رندوم ثبت شده  :قهقهه:

----------


## حامد مصافی

> با عرض پوزش با نظر حضرتعالی کاملا مخلفم
> بدلیل اینکه بحث سر تولید یک عدد نیست بلکه 2 یا 3 میلیون و حتی بیشتر ؟
> 
> ظاهر نمره آمار حضرت عالی بصورت رندوم ثبت شده


فکر کردی تولید چند میلیون عدد 12 رقمی تصادفی چه هزینه ای می تون داشته باشه؟ آیا ایرانسل تمام کارت شارژ هاشو اجباراً در یک دقیقه یا کمتر باید تولید کنه؟ با احتساب سرعت تولید این کارت شارژها (که برابر با سرعت مصرف اونهاست) و نباید بیشتر از 1 میلیارد در روز باشه میشه نتیجه گرفته جایی برای خنده شما نیست!


ضمناً خدمت دوستانی که فکر می کنند با ارسال متوالی اعداد راندوم می توانند به جواب برسند (علاوه بر امکان کمی که دوستان متذکر شدند) باید عرض کنم برای تعداد خطا های متوالی محدودیت در بازه زمانی وجود دارد؛ (اگر اشتباه نکنم) بعد از 5 بار خطا سیم کارت شما به مدت 24 ساعت قفل می شود.




> دوستان در این مورد یه بار مطلبی رو میخوندم که می گفت یک فردی از بوکان ، دانشجوی کاردانی کامپیوتر ،
> 
> تونسته بود الگوریتم کد شارژ ها رو پیدا کنه ، البته بعد از تابلو شدنش (چون موجودیش بیش از 200،000 تومان
> 
> شده بود) ایرانسل خطش رو مسدود و یه جورایی یاور طرف رو استاد کرده بود . بالاخره پس روشهایی هست !


ای بابا، شما دیگه چرا؟؟ لینکی؛ مرجعی، چیزی آخه...!

----------


## Salar Ashgi

> ای بابا، شما دیگه چرا؟؟ لینکی؛ مرجعی، چیزی آخه...!


مطلب رو خیلی وقت پیش خونده بودم ، الان لینکی ازش ندارم . قصد اطلاع رسانی داشتم و لاغیر !

----------


## xxxxx_xxxxx

اینکه الگوریتمی برای اینکار وجود داره شکی نیست.
بالاخره اعداد که کشکی تولید نمیشن.
برنامه ای بود که بهش شماره چند تا کارت استفاده شده رو میدادی و از روی اون اعداد یه شماره جدید تولید میکرد. این شماره به احتمال نه چندان زیاد یک شماره شارژ صحیح بود.

پس: الگوریتمی هست که این اعداد رو تولید میکنه.





> اگر هم الگوریتمی باشه مطمئن باشین الگوریتم *بر اساس زمان کار میکنه* (یعنی یه تابع بر حسب دقیقه و ثانیه و ساعت و خیلی چیزهای دیگه). پس اگر هم تابعی وجود داشته باشه *برگشت پذیر نیست* ! پس خیلی نباید خودمونو به زحمت بندازیم.


من متوجه قسمت های bold شده و ارتباط بین اونها نشدم. میشه لطفاً بیشتر توضیح بدید؟

----------


## FastCode

من هم درباره ی برنامه شنیدم.(10 ماه قبل).
در ضمن اون کسی که به من درباره ی برنامه میگفت,گفت که برنامه 80% درست کار میکنه.

----------


## golbafan

> با عرض پوزش با نظر حضرتعالی کاملا مخلفم
> بدلیل اینکه بحث سر تولید یک عدد نیست بلکه 2 یا 3 میلیون و حتی بیشتر ؟
> 
> ظاهر نمره آمار حضرت عالی بصورت رندوم ثبت شده



دوست عزيز
   اول اينكه من هيچ وقت آمار نداشتم چون رشته من شيميه

   دوم اينكه براي ياد گرفتن آمار بيشتر از هر دانشجوي آمار مطالعه داشتم
   (براي نوشتن نرم افزار نمودار) 
https://barnamenevis.org/showthread.php?t=163277

   و سوم اينكه حاظرم شرط ببندم الگوريتمي در كار نيست.
اگر الگوريتمي در كار بود ايرانسل ورشكست ميشد

   چهارمندشم اينكه من بيشتر از شما تو كار شار‍ژ بودم
https://barnamenevis.org/showthread.php?t=182493

----------


## DataMaster

> الگوریتمی در کار نیست فقط عدد رندمه...
> اگر اطلاعاتی در مورد آمار داشته باشین باید بگم که یکی از روشهای رندم سازی در آمار به صورتی عدد ایجاد میکنه که اون عدد قبلا در لیست اعداد وجود نداشته باشه.


خب همین عدد رندوم چطوری بدست میاد ؟ همین اسمش الگوریتمه دیگه
در ثانی مطمئن باش این اعداد همین جوری بدست نمیان ، چون رندوم بودن تضمینی در بوجود آمدن تصادم و تکرار مجدد ایجاد نمیکنه

----------


## golbafan

حالا كه اينقدر اصرار داريد يك سري به اينجا بزنيد

http://www.barnamenevis.org/showthread.php?t=3235

----------


## qwerty11

> چون رندوم بودن تضمینی در بوجود آمدن تصادم و تکرار مجدد ایجاد نمیکنه


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

----------


## nima898

به نظر من یک شماره سریال و یک پسورد داره
که پسوردش کاملا رندومه ولی شماره سریالش پشت سرهمه
مثلا 6 رقم سریال و 6 رقم پسورد که لازم نیست حتما رقمها پشت سرهم باشه
اگه x پسورد و s سریال باشه میتونه به این شکل باشه:   xxsxssxssxsx

----------


## golbafan

> به نظر من یک شماره سریال و یک پسورد داره
> که پسوردش کاملا رندومه ولی شماره سریالش پشت سرهمه
> مثلا 6 رقم سریال و 6 رقم پسورد که لازم نیست حتما رقمها پشت سرهم باشه
> اگه x پسورد و s سریال باشه میتونه به این شکل باشه:   xxsxssxssxsx



شماره سريالش فقط براي پيگيريه
و مخابرات ميتونه با اون بفهمه كه چه تلفني اونو استفاده كرده و چه زماني و صاحب تلفن و آدرسش و سپس دستگيري متهم (در صورت به صرفه بودن)

----------


## nima898

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


منظورم شماره سریال کارت شارژ نبود الگوریتم تولید کد بود و این فقط یک مثال بود
میتونه هر حالت دیگه ای باشه و هیچ تضمینی نیست که ایرانسل از این الگوریتم استفاده کرده باشه

----------


## DataMaster

> حالا که اینقدر اصرار دارید یک سری به اینجا بزنید
> 
> http://www.barnamenevis.org/showthread.php?t=3235


خوب یه نمونه برنامه که اعداد رندوم غیر تکراری تولید میکنه . من متوجه نشدم چی رو اثبات میکنه؟

بحث بر سر این بود که از چه روشی برای تولید این کد ها ی شارژ استفاده میشه
و اینکه تا حالا کسی تونسته به اون نفوذ داشته باشه ؟

----------


## sm4899

> با سلام خدمت دوستان.
> داشتم تو اینترنت می‌گشتم که بحث این فروم برام جالب اومد و از روی کنجکاوی همه‌ی پست‌ها رو خوندم.
> 
> ببینید دوستان ما قرار نیست که الگوریتم کد‌ها رو پیدا کنیم یا سر این موضوع بحث کنیم که کد‌ها رندوم هستش یا نه. چون این کار تقریباً غیر ممکنه.
> 
> فقط اینو بدونین که کد‌ها به صورت رندوم تولید می‌شه و بستگی به زمان داره.
> و خودتونو برای پیدا کردن فرمولش خسته نکنید.
> 
> شارژ کردن سیم کارت به این سختی‌ها هم که فکر می‌کنید نیست. ببینید لازم نیست که شما کد رو داشته باشید ولی می‌تونید سیم کارت خود را شارژ کنید.
> ...


با سلام

ظاهرا موضوع بحث داره عوض میشه
شما اگر اطلاعاتی در این مورد دارید مطرح کنید تا دیگران نیز استفاده کنند ( اگوریتم)

----------


## goodfriends

سلام دوستان
من دنبال اين موضوع رفتم همه ي حرفها جالب بود ولي درست اينكه اين تابه عددها رو رندم ايجاد نمي كنه ويه رابطه ي خاص بين اعدادهست وبراي بدست آوردن اين تابع بايد حداقل 20 كارت وجود داشته باشه ولي باز هم نميشه  چون اين كارش شارژها به صورت رندم بين شهرهاتوزيع مي شه البته دراصل بازهم رندمي دركار نيست كه دل بخواهي باشه اگر دوتا يا بيشتر كارت شارژرو كناره هم بزاريد مي فهميد كه باز يك سري اعداد تكرار دارن كه اين مي تونه كد منطقه باشه البته من فكرمي كنم اين اعداد رودرسطح باينري مقايسه منيد زودتر به نتيجه برسيد

----------


## qanewaisi

> و اینم بگم برای راهنمایی بیشتر.
> شما برای اینکه سیم کارت خودتونو ثبت کنید یا باید مدارک ارسال کنید از طریق نمایندگی‌ها، یا بازم مدارک رو از طریق فکس براشون ارسال کنید که سیم کارتتون رو ثبت کنن که این کار چند روز طول می‌کشه.
> 
> *ولی با یک لپ‌تاب، آنتن BTS ترجیحا روی ساختمون، و اینترنت وایرلس*
> 
> می‌تونید سیم کارت خودتونو در کم تر از 30 دقیقه ثبت کنید. و احتیاجی هم به مدارک نیست. حتی می‌تونید مدارک رو هم ثبت کنید باز هم کمتر از 30 دقیقه. فقط با کمی فکر کردن.
> 
> من مطمئنم شما می تونید راه حل رو پیدا کنید.
> 
> ...


با سلام
من داشتم تاپیک های جدید رو مرور می کردم که این به نظر جالب اومد و تا اینجا رسیدم.
با immortalboy کاملا موافقم،منم حرف ایشون رو کاملا تایید می کنم!!!
دوستان اگه یکمی به این موضوع فکر کنند و یا دربارش تحقیق کنند سریعا می تونن به نتیجه برسند.
و اما دلیل پذیرفتم حرف دوستمون:
مدتی پیش یکی از دوستام که تو لیدزه بهم گفت که اینجا پاکستانی ها همچین کاری رو خیلی راحت انجام میدن و خودش هم تا اونوقت چندین بار این کار رو انجام داده بود.می گفت که اوون پاکستانی ها اگه بخوان مثلا خط شما رو به مبلغ 25 پوند شارژ کنند خودشون 10 پوند می گیرن. دقیقا همین تجهیزاتی که دوستمون بهش اشاره کردند رو برام ایمیل کرد و تقریبا همه اینا رو شامل میشه.

از اساتید می خوام که دنبال این کار رو بگیرن.
این کاریه که نشد نداره!!
تو انگلیس با اوون همه تکنولوژی روزی که استفاده میشه این کار شده و میشه،ولی تو ایران نمیشه؟!!!!!!!!!!

----------


## HamedNet_ir

البته شايد اينطوري نباشه كه كدها قبلا تو سيستم ثبت شده باشن.

شايد كدي كه شما ميفرستيد بررسي ميشه كه با الگوريتمي كه قبلا براي سيستم ثبت شده همخواني دارد يا نه!
( مثل موقعي كه سيستم قفل ، كد فعال سازي رو چك ميكنه )




> ولی با یک لپ‌تاب، آنتن BTS ترجیحا روی ساختمون، و اینترنت وایرلس


سيستم رو هك ميكنيد يا جريان اطلاعات عوض ميكنيد؟

----------


## qanewaisi

> البته شاید اینطوری* نباشه که کدها قبلا تو سیستم ثبت شده باشن.*
> 
> شاید کدی که شما میفرستید بررسی میشه که با الگوریتمی که قبلا برای سیستم ثبت شده همخوانی دارد یا نه!


من که نمیدونم چرا این قضیه رو اینقدر می پیچونید؟؟؟؟؟
تا درست حسابی روی این موضوع تحقیق نشه بحث به جایی نمیرسه
من خودم وقت ندارم که زیاد در این رابطه تحقیق کنم و در نتیجه از شما می خوام که دنبال این موضوع رو بگیرین و مطمئنم که این به نتیجه می رسید!!
آخه موردهای شاخ تر از این قبلا هک شدن و به سیستمشون نفوذ پیدا کردن،حالا این هک نمیشه؟!

----------


## HamedNet_ir

ما نميگيم هك نميشه! اصلا موضوع هك نيست! ميخوايم بدونيم الگوريتمش چه جوريه!

----------


## qanewaisi

سلام
اینم چند تا کد باطل شده :
357626069547
221008064854
021142605933
554520660349
972561339101
132783741296
670833205663
817654811086

همه اینا رو حداکثر به فاصله 3 روز از همدیگه خریدم! و میبینیم که هیچکدوم اصلا به هم شباهتی ندارن!

----------


## qanewaisi

> ما نمیگیم هک نمیشه! اصلا موضوع هک نیست! میخوایم بدونیم الگوریتمش چه جوریه!


دوست عزیز اگه می خوای از الگوریتم یه شرکت بزرگ خبر دار بشی،به این راحتی ها که فکر می کنی نیست، و باید یه جوری به سیستمشون نفوذ کنی بعد یه چیزایی گیریت میاد!

----------


## dr.pantagon

عجب پست های جالبی 
واقعا آدم لذت می بره !!!

1 - ایرانسل 
2 - شارژ کارت
3 - اینترنت
4 - BTS
 چهار تا آپشن که هیچ کدوم به هم نمی خورن

1 - اول اون دوستانی که می گن تست یا Brute force سیم کارت بلاک می شه
2 - در صورتی که سری نامشخصی کارت از سیستم استفاده بشه سری کاملا مسدود و شماره ها به مجری مربوطه که یادم نیست  نیروی انتظامی بخش جرائم اینترنتی یا یه همچین چیزی تحویل داده می شه که با یک پرسش و پاسخ ساده به شما می رسن .


خوب بحث اصلی 

خدایشش خندتون نمی گیره ؟
اینترنت رو شما از کجا می گیرین ؟ از آی اس پی ها که از سلوشن مورد نظر شما می شه وایرلس ( همین رو میریم جلو تا به نتیجه برسیم )

1 - شما از آی اس پی ها می گیرین پس اصلا ربطی به ایرانسل نداشت
2 - از وایرلس می گیرین می خواین بگین BTS  رو هک می کنین !!! ایول بابا چون رو BTS سیستم ها یک طرفه برنامه ریزی مشن مثل روتر ها یعنی ورودی و خروجی دیتا روشون مشخص هست .
مثال می زنم . BTS1 و BTS2
B1 فقط از طریق آیپی 1.1.1.1   می تونه به B2 وصل بشه و هیچ آیپی دیگه ای براش تعریف نشده که بخواهد وصل بشه چه برسه به هک !!!
( تازه از اون مهمتر آیا ایرانسل اینقدر بی فکر شده که سرور شارژ کارت ها و اینترنتش رو یکی کنه ( برای این ، این رو گفتم که نگین سیستم WIMAX ) سرور ها به هیچ عنوان به هم اینجوری که شما فکر می کنین ربط ندارن  
اگر تمام موارد بالا رو به نفع شما فرض کنیم یعنی اینجوری

1- اینترنت شما از ایرانسل باشه
2 - به BTS وصل شدین
3 - نرم افزار کرکر شارژ رو نوشتین و بدون تست 100% جواب می ده

حالا سوال من با شرط های مثبت شما !!!

کرکر به کجا قراره وصل بشه که بخواد کرک کنه ؟
 کدوم IP ؟
کدوم سایت داخلی از ایرانسل ؟
کدوم پرتال ؟

پس یکم خنده داره. :چشمک:  چون برای کرک به یک سرور نیاز دارین که request بفرستین و جواب بگیرین

توی این مورد سرور های ریجیستر گوشی های موبایل رو براتون مثال می زنم
عرب ها و پاکستانی ها و اخیرا بعضی هموطن های عزیز با نفوذ به سرور های مخابرات موفق به ریجیستر گوشی شدن

که اونم با شرایط سیم کارت های اعتباری دیگه ارش نداره و اصلا به ریجیستر نیاز نداره البته نه برای همه گوشی ها

اما در مورد الگوریتم 
الگوریتم 100% تکرار پذیر هست و ایرانسل هر شش ما یا یک سال اگر اشتباه نکنم حدود 30 تا 40% تکرار داره

مطمعا نیستم اینو ولی اینو شنیدم . کسی هم که اینو بهم گفت قابل اعتماد بود البته از نظر من از قدیم می گن (هر کسى از ظن خود شد یار من)

----------


## HamedNet_ir

> آخه دوست عزیز ! به نظر شما چه الگوریتمی وجود داره که n تا کارت که ساخته میشه باید اعدادش جوری چیده بشن که به یک نتیجه مبنا برسن که سیستم شارژ رو ارائه کنه !؟!؟!؟
> 
> اینجوری دیگه هزاران بار میشه بدون محدودیت سیم کارت رو شارژ کردش !


دوست عزیز خب اگر کد استفاده شده باشه , دیگه سیستم اونو قبول نمیکنه.

در مورد الگوریتم هم میشه اونو اجرا کرد.




> دوست عزیز اگه می خوای از الگوریتم یه شرکت بزرگ خبر دار بشی،به این راحتی ها که فکر می کنی نیست، و باید یه جوری به سیستمشون نفوذ کنی بعد یه چیزایی گیریت میاد!


منظور من یافتن الگوریتم ساخت کد کارت شارژ نبود , بلکه الگوریتم چک کردن اون بود.
چون فکر نکنم حتی اگر 100 نخبه هم بیان بتونن الگوریتم تولید کد رو پیدا کنن!

----------


## qanewaisi

> اما در مورد الگوریتم 
> * الگوریتم 100% تکرار پذیر هست و ایرانسل هر شش ما یا یک سال اگر اشتباه نکنم حدود 30 تا 40% تکرار داره*


ای بابا ما نمی دونستیم با یکی از برنامه نویسای شرکت ایرانسل طرفیم!!!
ناراحت نشی دوست من،ولی حرفاتون یکمی که چه عرض کنم ،100% خنده داره!
شما که این تخمین ها رو به این دقت می زنی،پس لابد یه کاره ای از ایرانسل هستی!!
و از شما به غیر از دلسرد کردن بچه ها چیزه دیگه ای انتظار نمیره

----------


## dr.pantagon

دلسرد چرا ؟
برای اطلاع باید عرض کنم ایرانسل همچین افراد مخی رو استخدام می کنه با حقوق خوب !!!
چی کار من داری که کی هستم و چی کاره هستم منم یک آدم عادی مثل شما.
*100**% من خنده داره نیست از حتمی یک چیز اون ورتر روش حساب کن*

ولی نه جدا نا امید نشید بدونید اگر بتونید ، ایرانسل استخدامت می کنه با حقوق خیلی بالا تو اینم شک نکن

ولی پیشنهاد:  دنبال چیز هایی مثل مواردی که حتی به عقل خودتون جور در نمی یاد نرید منظورم سیستم BTS چون هیچ IP یا مشخصاتی از سرور های سارژ ندارید پس نمی تونید چیزی رو چک کنید 
به سرور ریجیستر سیم کارت ها هم دسترسی ندارید ( چون این سیستم لوکال می باشد )

immortalboy عزیز من 0 شما و دوستان 100 
IP سرور شارژ ها رو بزارید :چشمک:  یا بگید چه جوری می تونید Request  بدید و جواب بگیرید چون هر کاری کنی و هر جوری بعد از چند بار مسدود می شی

----------


## Empyrium

> ولی پیشنهاد:  دنبال چیز هایی مثل مواردی که حتی به عقل خودتون جور در نمی یاد نرید منظورم سیستم BTS چون هیچ IP یا مشخصاتی از سرور های سارژ ندارید پس نمی تونید چیزی رو چک کنید 
> به سرور ریجیستر سیم کارت ها هم دسترسی ندارید ( چون این سیستم لوکال می باشد )



 دوست عزیز به نظر می رسه شما کمی احساس خطر کردین،این جور که شما داری نفی می کنید این موارد بالا را شک بر انگیزه!

 در مورد "مشخصاتی از سرور های شارژ ندارید"  به هر حال این  bts  هستش که رابط   کانکت کاربر با سرور های شارژ  هستش شاید bts sniffer ها  تا حدی کمک کننده باشند  با یک سرچ دو  دقیقه ای  bts snifer    رو پیدا کردم .. 

هیچ چیز مطلق نیست به مانند اشاره هایی که شما کردین

----------


## dr.pantagon

هیچ چیز مطلق نیست درسته ولی
وقتی نمی تونی به BTS ها کانکت بشی از طریق وایرلس چی ؟ این مطلق هست اما و زیرا و اگر نداره

چیزی رو BTS ها نیست که بخوای کانکت بشی BTS ها یک رابط هستن بین گوشی شما و سرورهایی که فقط اطلاعات رو از شما می گیرن و فیلتر می کنن و می فرستن سمت سویچ اصلی برای سرورهای مختلف

این سرور ها مشخصات خاصی رو با یک سری پارامتر خاص می گیرن که یک چیز شبیه یک بیت پریتی همراه با اطلاعات ارسال می شه که می گه این پاکت اطلاعاتی ولید هست یا نه از گوشی با این مشخصات هست نه از PC

بله خیلی نرم افزار ها و اسکنر ها هستند که خیلی کار های میکنن
این یک باگ توی IIS6 webdav هست با باهاش ماکروسافت رو هک کن
http://www.milw0rm.com/exploits/8806

دلیل شد ؟ چون باگ هست و مربوط به ماکروسافت هست ماکروسافت هک بشه ؟

چرا هک نشد وقتی که این باگ پابلیک نشده بود ؟
از webdav نکنه استفاده نمی کنه ؟ چرا ماکروسافت هم استفاده می کنه ولی دلیل نداشت هک بشه

خیلی چیز ها و خیلی اشخاص وجود دارند که خیلی کار ها می کنند ولی دلیل نداره همه جا جواب بده

مطلق بودن یا نبودن ذاتی نیست ولی اکتسابی هست این یادت باشه !!!
میشه کسب کردش کاری که ماکروسافت کرد و با این باگ هک نشد یا خیلی مثال های دیگه

----------


## Ali_M.Eghbaldar

سلام به همه دوستتان عزیز
اول بگم که همه ی بحث های پستارو خوندم همه جالب بو و امیدوارم که  این بحث ادامه پیدا
کنه که به نتیجه ای برسیم
من نه متخصص مخابراتم و نه موافق دوستان و نه مخالف
یکی از پستا یکی از دوستان گفته بود که اگر یکی یه شماره ای رو پیدا کنه که از قضا درست 
هم باشه حق کاربری که همون کارتو می خره چی میشه؟
بله ناحقی پیش می آید .ولی کاریش نمیشه کرد. دوستنانی که ایرانسل دارن گاهی براشون پیش اومده که
کدی که وارد کنن کار نمی کننه البته بازم بگم خیلی خیلی نادره برای من اگر اشتباه 
نکم دوبار پیش اومد و ممکنه که قبلا هپولی هپو شده باشه کاری ندارم
اینکه اگوریتمی وجود داره شکی نیست و باید برحسب زمان باشه چون بالاخره این شماره
دوازده رقمی تموم میشه و باید Rewrite صورت بگیره و مسلما بر حسب زمان این عمل
انجام میشه.اون دوستی که میگه الگرتمی وجود ندارد احتمالا داره کل کل می کنه چون
اگه الگورتیمی وجود نداشت تعداد خطا های ایرانسل خیلی خیلی بالا میرفت که این به ریسکه
درمورد هک شدن سیستم و نمی دونم BTS  هیچ چیزی از ما ایرانیا بعید نیست :قهقهه:  
حتی اگه همه جریانها یک طرفه باشه
من قبلا شنیده بودم که الگوریتم ایرانسل لو میره و بازنمیسی می کنن
اتفاقا تو یکی از سایت خبری معتبر خونده بدم که الان حضور ذهن ندارم
ایرانسل یا همراه اول شرکت های بزرگی هستند به نظر شما اونا فکر حملاتو نکردند؟
و به همین راهتی با چنتا وسایل بشه هکش کرد؟اگه اینطوره که من براش متاسفم
واسلام

----------


## Empyrium

دوستان، نگاهی به این خالی از لطف نیست 

*Random number generation*

توابعی ای که اعداد راندوم تولید می کنه و  دامنه تابع  هم زمان هستش

تولیدکننده‌های اعداد شبه تصادفیالگوریتم‌هایی با قابلیت تولید اعداد تصادفی هستند هرچند اعداد تولید شده توسط آنها به طور تناوبی تکرار می‌شود 

. یکی از متداولترین تولیدکننده‌های اعداد تصادفی ،LCG Linear   Congruential Generator است که رابطه‌ای بازگشتی دارد:

 ‎
 

 بیشترین تعداد عددی که این رابطه می‌تواند تولید کند _m_ عدد شبه تصادفی است.

----------


## dr.pantagon

الگوریتم زیاد هست حتی الگوریتم هایی که تظمین می کنن عدد شبه تصادفی هم ساخته نشه و 100% غیر قابل تکرار باشن ولی این الگوریتم ها اتمام پذیر هستند اون هم با داشتن 12 رقم
با yoyoyo عزیز موافقم ایرانسل خیلی بزرگتر از اون چیزی هست که بتونین فکر کنین در این سیستم هم ایرانی ها هستند و روابط رو به خیلی چیز ها ترجیح می دهند البته فقط در بحث مالی اینجوری هست در بحث فنی کسی حق این کار ها رو نداره

ایرانسل برای سری تبلیغات جدید خود حدود یک ماه پیش 3 میلیون خودکار تبلیغاتی سفارش داد توی تهران هر خود کار رو حدود 180 تا 200 قیمت دادند طرف فاکتور کرد همین قیمت رو ، و رفت چین هر خودکار رو با 30 تومان تهیه کرد حالا خودتون حساب کنید چه پولی خورده !!! 3 میلیون خودکار که هر کدوم 30 خریده بود رو 180 حساب کرده باشه

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

----------


## noor_mr2000

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

----------


## Empyrium

> الگوریتم زیاد هست حتی الگوریتم هایی که تظمین می کنن عدد شبه تصادفی هم ساخته نشه و 100% غیر قابل تکرار باشن ولی این الگوریتم ها اتمام پذیر هستند اون هم با داشتن 12 رقم


 الگوریتم لوهن   یکی  از رایج ترین ها در دنیا می باشد و  با داده های معتبر  قابل تعریف به احراز هویت  اعداد می پردازد. کاربرد این الگوریتم  در  ایالات متحده  : credit card numbers IMEI numbers-  National Provider Identifier numbers Canadian  Social Insurance Numbers.  این الگوریتم در مبنای ده کار می کند.و  توسط دانشمندی به نام  Hans Peter Luhn  در شرکت   ibm    در  سال 1960  ساخته شد که امروزه هم  استفاده گسترده ای در اکثر کشور های پیش رفته را دارد. برسی کامل این الگوریتم : *Luhn mod N algorithm* دوست عزیز وقتی دامنه تابع بر اساس یک سری پارامتر هایی مثل بازه زمان تغییر کنه با 12 رقم مشکلی پیش نمی آید،عددی که سال قبل یک بار تولید شده و مصرف هم شده ،دو سال دیگر هم تولید شود تاثیری ، در روند سیستم نخواهد داشت،  با تحلیل کامل این الگورتیمی که  معرفی شد ،به طور واضح یک سری پارامتر های موثر با یک الگوریتم در حال تلفیق می باشد که با عث می شود هیج  مشکلی در روند کار به وجود  نیاید، و از تمامی exception ها  جلو گیری کند. شما  به یک جمله در مورد بحث بسنده می کنید و یک انشاء در وصف تخلفات اداری،قوی بودن تیم و...موارد  حاشیه ای می نویسی، شکی در این نیست که این ارگان و به گفته خودتان  از لحاظ اخلاقیات سیستم  اداری  یازده هزار و هشصد تومان بیشتر  نمی یارزه  ...  و در مورد تیم فنی هم ،  شما سیع در بزرگ جلوه دادن قضیه را دارین، به نحوی  در مورد تیم فنی و عظمت ایرانسل  صحبت می کنید که به نظر می رسه تمام نوابغ ایران جمع شدن که یک ااگوریتم برای شارز کارت تولید کنند،  مبحثی  که حدود به بیست سال در دنیای   IT  در ایلات متحده دارن روش کار می کنن و صاحب تئوری هستن در این زمینه،...  یعنی ایرانسل که هنوز 4 سال از نصب دکل هاش نمی گذره  و برای یک تماس ساده باید 200 بار دکمه  call  گوشی را فشار بدی... خودش را بزرگتر  و قوی  از دانشمندان ارگان هایی مثل IBM   می دونه؟

----------


## Ali_M.Eghbaldar

سلام.
دوست عزیز Empyrium 
بحث سر این نیست که ایرانسل خودشو بزرگتر از کی می دونه!
من تو پست قبلیم گفتم شرکته بزریگیه از این نظر که حداقا برای افرادی مبتدی مثل من راه ها رو
بسته ممکنه مثلا یک ابر دانشمند پیدا شه این مرز بشکنه ولی ما ..
موفق باشید

----------


## dr.pantagon

دوست عزیز انشا یا غیر انشا ، رمان یا غیر رمان
حقیقت یکم متفاوت تر از اینی هست که شما می بینی
نه از دانشمند ها ی IBM کم تر هستند ولی این چه ربطی داره ؟ مثال گدای پادشاه رو شنیدی ؟

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

الگوریتم تولید شارژ توسط ایرانی ها طراحی نشده
و اما

شما  به یک جمله در مورد بحث بسنده می کنید و یک انشاء در وصف تخلفات اداری،قوی بودن تیم و...موارد  حاشیه ای می نویسی

در مورد تخلف اداری و چیزی که گفتم رو نمی تونین شنیده باشید چون خودکار ها برای عید باستان می یاد بیرون و پخش می شه.
*قوی بودن تیم !!! من این حرف رو نزدم ، نه قوی معنی نمی ده . ترجیح می دم بگم توانا تر در این برهه از زمان*
موارد حاشیه ای !!! مطمعنی می خوای شارژ کارت هک کنی ؟ حاشیه معنی داره ؟ 

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

یعنی ایرانسل که هنوز 4 سال از نصب دکل هاش نمی گذره  و برای یک تماس ساده باید 200 بار دکمه  call  گوشی را فشار بدی...

زدی تو خال . درسته 200 بار باید دکمه رو فشار بدی تا بهت پیغام بده مشترک در دسترس نیست . ولی اشتباهت اینجاس که هیچ تفکیکی بین بخش های فنی نمی تونی بزاری
بخش فنی رو کلی می بینی. 

ایرانسل خودش رو بزرگ نمی دونه ولی ما دوست داریم از راه های راحت به جواب برسیم. BTS snifer
ما نمی تونیم وصل شیم شما حرف از Snif می زنید !!! هر چند که منظور شما Signal Scaning  بوده ولی چیزی گیریتون نمی یاد

با yoyoyo عزیز موافقم که می گه  حداقا برای افرادی مبتدی مثل ما راه ها رو بستن
باید دنبال راهی باشی که کسی بهش فکر نکرده باشه . سخته ولی ممکنه

----------


## golbafan

ميشه بگين در نهايت ميخواين به چي برسين؟

اگه ميخواين هكش كنين كه محاله...

----------


## qanewaisi

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

امیدورام دوستان به نتیجه برسند.

برنامه ضمیمه شده است.

----------


## safironlinee

سلام دوستان
من رشته مهندسی تکنلوژی درس خوند یکمی اطلاعات دارم .... امیدوارم بکارتون بیاد.
ایرانسل برای تولید شماره ها الگوریتم نویسی داره و این نیست که مثلا برای تولید 1 ملیون کد 12 رقمی با یک برنامه تولید اعداد رندوم کار کنه!!!
اول برنامه نویسانش با ید الگوریتم را بنویسن بعدش اون الگوریتم داخل برنامه  تولید اعداد تصادفی پیاده کنن.
یعنی اینکه اگر 1 ملیون کد 12 رقمی تولید شد همشون با قانون خاصی ایجاد می شن که هیچ برنامه دیگه نمی تونه ضابطه رو تولید کنه.
مثلا  856452368742  در نظر بگیرین ؟

 برای مثال :یکی از الگوریتم ها این هست که از سمت چپ یعنی از 8 تا 2 رو با هم جمع کنه بعد تقسیم بر 6 کنه و بعد به اضافه 30 کنه اگه باقیمانده عدد 2 شد تشخیص داده می شه که این کد مال خود ایرانسل هست و..
وقتی شما *144*1# و کد 12 رقمی رو می زنین بر اساس یک الگوریتم که با اسفاده از یونی کد خود ایرانسل چک میشه ابتدا مثل بالا چک می کنه که این کد مثلا باقیماندش 2 میشه یا نه

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

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

----------


## dousti_design

سلام بچه ها! یه فکری بکنید به نظر من با *الگوریتم ژنتیک* میشه این کار رو انجام داد.
12 تا عدد تولید رندوم تولید میکنیم. حالا میاییم هر عدد رو با توجه به موقعیتش با تمام کارت شارژهای قبلی(اعداد قبلی) مقایسه میکنیم(یعنی مثلا عدد پنجم از این کارت شارژ با عدد پنجم از اونی که توی دیتابیس هست. حالا مثلا عدد اولی 5 هست و 10 تا کارت شارژ توی دیتابیس پیدا شده که اولشون 5 است. حالا میاییم عدد دوم رو مقایسه میکنیم. فرض کنید فقط یک کارت شارژ پیدا شد که عدد دومش هم با عدد دوم این برابر باشه. حالا عدد سوم رو بررسی میکنیم و همینطوری ادامه میدیم تا آخر(هر عدد تکراری میزان برازندگی رو میاره پایین). حالا میاییم عدد دوم رو مقایسه میکنیم. مشابه هارو پیدا میکنیم و بعد عدد بعدی و...
اینطوری اعدادی که پشت سرهم تکراری هستن پیدا میشن.(از هرجای شماره که شروع شده باشن)
و بعد مثلا اگر درصد برازندگی کمتر از 70% شد. کراس آور میکنیم. و یا اصلا بیخیالش میشیم و یه شماره دیگه تولید میکنیم. اگه کراس آور کنیم و اگه جهش رو هم دخالت بدیم فکر کنم یه چیز خوب در بیاد!
موفق باشید!

----------


## pikoolas

اگه بخواین به الگوریتم برسید به 2 تا شارژ پشت سر هم نیاز دارید . فکر  کنم ایرانسل میاد کاری می کنه که کسی به دو تا شارژ پشت سر هم دسترسی نداشته باشه . مثلا اگه شما 1 شارژ از تهران می گرین شارژ بعدی در تبریز فروخته می شه .

----------


## Bahram0110

نگشتم نیست، نگرد نیست!

فرض کنید در هر لحضه 1 میلیون کارت شارژ در بازار وجود دارد.
کل کارت شارژ های ممکن : 999999999999 عدد
پس شانس شما برای تولید یک شارژ صحیح : 1000000/999999999999 مساوی است با 0.000001000000000001000000000001
یعنی حدود یک میلیونم

----------


## P_Norton

تقریبا با دوستمون«pikoolas»موافقم 

ضمن اینکه این کد شارژ ها با شماره سریال روی کارت یه ارتباطی دارن 
و اینکه کدهای تولید شده تو ایرانسل باید کمتر از 12 رقم باشه و یکی دو رقمش رقمی که اطمینان میده کد وارد شده درسته 
و باز هم به نظر من الگوریتم تولید این کد ها هر چند وقت یه بار عوض می شن و یا یه تغییری جزئی می کنن

----------


## Mr.Kidz

یک سوال.لطفا نخندید.نطرتون رو بگید.
اگه دیتابیس و اینا تا حدودی همش کشک باشه؟
فرض کنید اون کدی که پشت کارت هست همون لحظه که دستور رو وارد میکنید با یک الگوریتمی ساخته بشه و هیچ کد از پیش ساخته شده ای وجود نداشته باشه؟
البته فکر کنم این با شارژکردن از طریق اینترنت تضاد داشته باشه.
Any Ideas..

----------


## lordarma

> یک سوال.لطفا نخندید.نطرتون رو بگید.
> اگه دیتابیس و اینا تا حدودی همش کشک باشه؟
> فرض کنید اون کدی که پشت کارت هست همون لحظه که دستور رو وارد میکنید با یک الگوریتمی ساخته بشه و هیچ کد از پیش ساخته شده ای وجود نداشته باشه؟
> البته فکر کنم این با شارژکردن از طریق اینترنت تضاد داشته باشه.
> Any Ideas..


اگر اینطور که شما می فرمایید باشد وقتی هر کد 12 رقمی را بزنیم باید سیم کارت ما شارژ شود! :چشمک:

----------


## dousti_design

> یک سوال.لطفا نخندید.نطرتون رو بگید.
> اگه دیتابیس و اینا تا حدودی همش کشک باشه؟
> فرض کنید اون کدی که پشت کارت هست همون لحظه که دستور رو وارد میکنید با یک الگوریتمی ساخته بشه و هیچ کد از پیش ساخته شده ای وجود نداشته باشه؟
> البته فکر کنم این با شارژکردن از طریق اینترنت تضاد داشته باشه.
> Any Ideas..


فکر کنم باز اینطوری عاقلانه تر باشه که اون کد 12 رقمی یه رابطه ای بین اعدادش باشه(با یه الگوریتمی تولید شده باشه) بعد وقتی میزنیم که شارژ بشه ایرانسل میاد رابطه بین اعداد رو بررسی میکنه و اگر با اون الگوریتم نخوند میگه اشتباهه. و اگر درست بود شارژ میکنه و البته سرآخر هم باید توی دیتابیس ذخیره کنه که این کارت شارژ استفاده شده(برای جلوگیری از شارژ مجدد)

----------


## Mr.Kidz

> اگر اینطور که شما می فرمایید باشد وقتی هر کد 12 رقمی را بزنیم باید سیم کارت ما شارژ شود!


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

----------


## morrning

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

یه بعد جدیدی این قضیه داره ! توی دستگاه های ATM (خود پرداز ها ) چه جوری شارز میفروشن ؟ آیا یه سری کد از دیتا بیس ایرانسل به دیتابیس شبکه شتاب راه پیدا کرده یا شبکه شتاب مستقیما به ایرانسل متصله؟


ببینم اینجا کسی نیست که توی ایرانسل کار کنه؟  :لبخند گشاده!:

----------


## Phenom_Agena

اگه من می خواستم همچین الگوریتمی طراحی کنم این کار رو می کردم

هر بار که خواستم یک سری کارت شارژ تولید کنم یک عدد 12 رقمی کوچک مثلا 178654931009 را در نظر می گیرم . (اینجا) یک عدد رندم بین 10000 تا 100000 رو به این عدد اضافه می کنم . اگه عدد حاصل قبلا تولید نشده بود یک کارت شارژ با اون عدد تولید می کنم . برگردید به (اینجا)

اگه دیتابیس کارت شارژها رو همیشه sort شده نگه داریم تشخیص اینکه این عدد قبلا وجود داشته با binary search کار سختی نباید باشه . اولین بار ایندکس اون عدد 12 رقمی رو پیدا می کنیم . بعد بین (ایندکس) و (ایندکس+100000) binary search رو انجام می دیم

----------


## mohsen-unique

با سلام واقعا مطالب جالبی بود یه چند نکته من هم اضافه کنم
1- ایرانسل برای کارت شارژ های خود از یک الگوریتم استفاده نمی کنه و هر یه مدت یک بار اون رو عوض می کنه
2- کد شارژ هیچ ربطی به سریال کارت نداره

از اون روزی که ایرانسل به شهر ما اومد خیلی روی کارت هاش کار کردیم ولی ما به نتیجه ای نرسیدیم تا اینکه یکی از بچه ها که مخ ریاضی بود تونست برای اولین با الگوریتمی براش بنویسه به این صورت که از هر کارت شارژ استفاده شده دو تا کارت می تونست در بیاره  :لبخند گشاده!:  وقتی بش گفتیم چرا فقط دو 2 گفت سومی رو که می خوام در بیارم یه جا هایی عدد تقسیم بر  صفر می شه و نمی دونم جاش چی بزارم  :گیج: 
این دوست ما هر کارت شارژ 5 هراز تومنی رو 3 هزار تومن می فروخت و همه ازش می خریدن توی دانشگاه دیگه معروف شده بود. ایرانسل چند بار الگوریتمش رو عوض کرد ولی هر با اون تونست بدستش بیاره تا اینکه ایرانسل کارتای جدیدش رو به بازار داد (کارتایی که روی اونا تبلیغات ویترین بود ) دیگه هر کاری کرد نتونست اونا رو در بیاره 
البته اینو بگم اون هیچ وقت سعی نکرد برنامه ای برای این کار بر اساس الگوریتمی که پیدا کرده بود بنویسه من که دلیلش رو نفهمیدم 
من سعی می کنم الگوریتم قبلی رو ازش بگیرم و اینجا بزارم :لبخند:

----------


## alireza_gh1366

> با سلام واقعا مطالب جالبی بود یه چند نکته من هم اضافه کنم
> 1- ایرانسل برای کارت شارژ های خود از یک الگوریتم استفاده نمی کنه و هر یه مدت یک بار اون رو عوض می کنه
> 2- کد شارژ هیچ ربطی به سریال کارت نداره
> 
> از اون روزی که ایرانسل به شهر ما اومد خیلی روی کارت هاش کار کردیم ولی ما به نتیجه ای نرسیدیم تا اینکه یکی از بچه ها که مخ ریاضی بود تونست برای اولین با الگوریتمی براش بنویسه به این صورت که از هر کارت شارژ استفاده شده دو تا کارت می تونست در بیاره  وقتی بش گفتیم چرا فقط دو 2 گفت سومی رو که می خوام در بیارم یه جا هایی عدد تقسیم بر  صفر می شه و نمی دونم جاش چی بزارم 
> این دوست ما هر کارت شارژ 5 هراز تومنی رو 3 هزار تومن می فروخت و همه ازش می خریدن توی دانشگاه دیگه معروف شده بود. ایرانسل چند بار الگوریتمش رو عوض کرد ولی هر با اون تونست بدستش بیاره تا اینکه ایرانسل کارتای جدیدش رو به بازار داد (کارتایی که روی اونا تبلیغات ویترین بود ) دیگه هر کاری کرد نتونست اونا رو در بیاره 
> البته اینو بگم اون هیچ وقت سعی نکرد برنامه ای برای این کار بر اساس الگوریتمی که پیدا کرده بود بنویسه من که دلیلش رو نفهمیدم 
> من سعی می کنم الگوریتم قبلی رو ازش بگیرم و اینجا بزارم


این حرفتو باور کردنش خیلی سخته چون ما که یه عمر برنامه نویس هستیم  میدونیم اگه یه برنامه نویس بخواد الگوریتم چنین کاری طراحی کنه چنان روشهای استفاده میکنه که حتی اگه خودشم بخواد نتونه ذهنی بدون استفاده از کامپیوتر و برنامه که خودش نوشته این کارو انجام بده میتونم کد یه تابع رو برات بفرستم که من ازش استفاده میکنم در code کردن اطلاعات ولی نمیتونی با اون کد اطلاعات من رو برگردونی چون متغییرهای زیادی داره  برای این کار

----------


## mohsen-unique

> این حرفتو باور کردنش خیلی سخته چون ما که یه عمر برنامه نویس هستیم  میدونیم اگه یه برنامه نویس بخواد الگوریتم چنین کاری طراحی کنه چنان روشهای استفاده میکنه که حتی اگه خودشم بخواد نتونه ذهنی بدون استفاده از کامپیوتر و برنامه که خودش نوشته این کارو انجام بده میتونم کد یه تابع رو برات بفرستم که من ازش استفاده میکنم در code کردن اطلاعات ولی نمیتونی با اون کد اطلاعات من رو برگردونی چون متغییرهای زیادی داره  برای این کار


من سعی می کنم که الگوریتم رو ازش بگیرم و همینجا بزارم
این رو یادت نره که برای یه ایرانی هیچی غیر ممکن نیست :لبخند گشاده!:

----------


## AmirAmiri

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

حالا صحبت من:
دوستان من میخوام یک الگوریتم ارائه بدم که به نظرم میتونه یک حالت خیلی خیلی ساده ای از الگوریتمهای مورد استفاده در ایرانسل باشه. بیشتر شما دوستان روی موضوع تصادفی بودن اعداد یا داشتن یک الگوریتم بحث کردید اما هیچ کس راهکاری ارائه نداد. من میخوام بگم که ایرانسل به احتمال خیلی زیاد از الگوریتمی استفاده میکنه که در اون الگوریتم از اعداد تصادفی استفاده شده.

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

یک عدد مثبت و غیر از صفر تو ذهنتون انتخاب کنید و اون رو جایی یادداشت کنید تا فراموش نکنید چی بوده و مراحل زیر رو دنبال کنید.

1) عددتون رو *بعلاوه 8* کنید.
2) حالا عدد به دست آمده رو *ضربدر 3* کنید.
3) حالا عدد به دست آمده رو *منهای 6* کنید.
4) حالا عدد به دست آمده رو *ضربدر 4* کنید.
5) حالا عدد... *بعلاوه 6* کنید.
6) ... *تقسیم بر 3* کنید.
7) *منهای 6* کنید.
8) *تقسیم بر 4* کنید.
9) *منهای 5* کنید.
10) حالا عدد به دست آمده رو *تقسیم بر عدد اولتون کنید*.
11) حالا عدد به دست آمده رو *بعلاوه 9* کنید.

*عددی که به دست آمده است بدون شک عدد 10 است.*

این بازی که دیدید در واقع یک معادله خیلی خیلی ساده هستش اما میشه همین معادله رو کمی گسترش داد و از اعداد تصادفی استفاده کرد. به عنوان مثال براتون یک برنامه ضمیمه میکنم که همین بازی رو بدون تکرار ارقام انجام میده. یعنی هر بار که بازی میکنید، اعداد با دفعه قبل فرق داره و حتی جواب هم فرق داره اما شما رو به جوابی که میخواد میرسونه چرا؟ چون الگوریتم بازی رو داره. 
در واقع در اینجا هیچ نیازی به عدد مورد نظر شما نیست چون ما الگوریتم رو داریم پس میتونیم با هر عددی که مورد نظر شما باشه در نهایت به عدد 10 برسیم. پس ایرانسل فقط الگوریت رو لازم داره و خودش میتونه هر عددی رو که دوست داشت به عنوان عدد تصادفی که قراره شما اون رو در نظر داشته باشید تولید کنه.

حالا شما به این فکر کنید که اعداد نوشته شده روی کارتهای شارژ، در واقع اعداد مورد استفاده در همین بازی باشن با این تفاوت که اعمال جمع و تفریق و غیره رو نمیتونید ببینید و در واقع در سمت کامپیوتر ایرانسل این اعداد با هم جمع و تفریق میشن به این ترتیب که مثلا :
44866X6339Y5
رقم ششم (X) نشان دهنده عدد شما باشد (عددی که شما در ذهنتان در نظر گرفتید).
رقم یازدهم (Y) نشان دهنده الگوریتم مورد استفاده است و حتی زوج و فرد بودن آن مهم است.
حالا رقم ششم یا همان عدد شما را باید با رقم سوم جمع کنیم.
حالا نتیجه را در رقم نهم ضرب کنیم.
حالا نتیجه را از رقم پنجم کم کنیم.
حالا نتیجه را در رقم دوم ضرب کنیم.
حالا نتیجه را با رقم هفتم جمع کنیم.
حالا نتیجه را بر رقم هشتم تقسیم کنیم.
حالا نتیجه را از رقم چهارم کم کنیم.
حالا نتیجه را بر رقم اول تقسیم کنیم.
حالا نتیجه را از رقم دوازدهم کم کنیم.
حالا نتیجه را بر رقم ششم تقسیم کنیم.
حالا نتیجه را با رقم دهم جمع کنیم.
حالا اگر نتیجه بدست آمده عدد 10 بود یعنی اینکه شارژ معتبر میباشد.
حتی برای بالاتر بردن امنتیت کارت شارژ، میشه عدد ششم به یکی از اعمال جمع و تفریق اختصاص داد و کامپیوتر ایرانسل یک عدد تصادفی به جای عدد شما تولید کنه و اون رو با بقیه اعداد جمع و تفریق کنه.
اگر خوب فکر کنید میبینید که در این الگوریتم از اعداد تصادفی استفاده شده و جالب تر اینکه صحیح یا غیر صحیح بودن این اعداد وابستگی شدیدی به اعمال جمع و تفریقی داره که روی کارت شارژ نوشته نشده اما در کامپیوتر مقصد پردازش میشه و معلوم نیست که چه عددی با عدده دیگه چه عمل ریاضی رو انجام میده به عبارت دیگه معلوم نیست کدوم عدد باید با عدد دیگه جمع بشه یا اینکه تفریق بشه پس به این راحتی ها نمیشه الگوریتم اون رو پیدا کرد و با مقایسه صد کارت شارژ این الگوریتم رو به دست آورد.

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

قصد من این بود که به جای مشاجره و کل کل به دنبال راه حل و پیدا کردن الگوریت باشیم چون از حرف زدن که دردی دوا نمیشه.

به هر حال امیدوارم که این بحث به نتیجه ای برسه و از این به بعد با پستهای پر محتوا پر بشه.  :چشمک: 

موفق و پیروز باشید.  :قلب:

----------


## Arcsinos

حالا کسی میتونه یه الگوریتم بگه که بتونه اون عدد اولیه رو تشخیص بده ؟

----------


## علیرضا حسن زاده

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

----------


## persian_bigboy

سلام دوستان . البته من خودم یک نرم افزار برای بانک کتاب کل ایران طراحی کردم . من از روش GUID استفاده کردم . البته یکی دیگه رو از سیستم زمان استفاده کردم . یعنی
yyyymmddhhmmss * 2 / 7 +1900 کردم . یک کد غیر ممکن تکراری بدست میاد .

----------


## persian_bigboy

راستی  من الگوریتم کد ملی رو طراحی کردم . کد 11 هستش . فردا براتون attach می کنم .

----------


## meryjooni

یکی از بچه ها تو اون پست های قدیمی یه چیزی در مورد hash  گفت. من فکر می کنم اگه الگوریتمی وجو داشته باشه که 100% داره، رو این مبحث هشینگ اعداد خیلی کار شده. 
واسه همین فکر میکنم هر کاری کنین اون قسمت هشینگ اعداد رو نمی تونین کشف کنین.
نظر شما چیه ؟ ( AmirAmiri )

----------


## FastCode

شما که فکر میکنید کار خوبیه و سودش از ضررش بیشتره, 1 گوشی با یک برنامه Flash بخرید با 1000 تا سیم کارت و یه حلقه for.
راهکار استاندارد و مطمئن==BruteForce.
دیگه بس کنید.
کسانی هم که راه بهتری بلدند لطفا" این پست رو مفید ارزیابی نکنند تا یه آماری دست مدیران این بخش بیاد.(فقط قول بدن که الگوریتم برتر رو همینجا بزارن در دید عموم.).

----------


## M0TR!X

> من سعی می کنم که الگوریتم رو ازش بگیرم و همینجا بزارم
> این رو یادت نره که برای یه ایرانی هیچی غیر ممکن نیست




سلام.

این روش که شما میگی تو هک ما میگیم مهندسی اجتماعی !!  این روش هیچ راحه مقابله ای نداره و اکثره مواقعه جواب میده ولی یادیت باشه اگه باید همیشه با جنس مخالفت صحبت کنی  :قهقهه:

----------


## محسن شامحمدی

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



function onLoad()

function creditAmount()
{
	document.paymentForm.hidAmount.value = globalCardValue;
	golbalPinNumber = document.paymentForm.pinnumber.value;
	document.paymentForm.hidPinNumber.value = golbalPinNumber;
	
	document.paymentForm.hidAction.value = "2";
	document.paymentForm.action = relativePath+"/ConfirmationUrl";
	document.paymentForm.submit();
}

function getPinDetails()
{

var serialNum = document.getElementById('serialnumber').value;

document.getElementById('pinnumber').value = '';
document.getElementById('credit').disabled = true;
document.getElementById('amount').innerHTML = '';
document.getElementById('statusofPin').innerHTML = '';
if(serialNum.length == 0)
{
document.getElementById('pinnumber').disabled = true;
return false;
}
else if(serialNum.length != 12 && serialNum.length != 16)
{

alert('لطفاً شماره سریال معتبر را وارد نمایید')
document.getElementById('serialnumber').value="";
document.getElementById('pinnumber').disabled = true;
document.getElementById('serialnumber').focus();
return false;
}
else
{
	loadSerialNumber(serialNum);
}
}	


function loadSerialNumber(serialNum)
{

var serialNum = serialNum;

// changes done by kiran at onsite adding language parameter
WimaxDwr.getRechargeCardDetails(serialNum,'fa',loa  dPinDetails);
}

function loadPinDetails(data)
{

	var jsonString = data;

      	var jsObj = eval("(" + jsonString + ')');
        
        var resultMsg = jsObj.resulmessage;
	  	globalResultMsg = resultMsg;
	  	document.getElementById('statusofPin').innerHTML = globalResultMsg;
	  	
	  		
	  	if(jsObj.resultCode == '0')
	  	{ 
	  	if(jsObj.resulmessage != 'USED')
	  	{
	  		var PinNumber = jsObj.pinNumber;
	  		var cardValue = jsObj.cardValue;
	  		globalCardValue = cardValue;
	  		golbalPinNumber = PinNumber;
  			document.getElementById('pinnumber').disabled = false;
  			document.getElementById('credit').disabled = true;
			document.getElementById('amount').innerHTML = globalCardValue;
	  		document.getElementById('statusofPin').style.color = 'blue'; 
	  		return false;
		}
		else
		{
		document.getElementById('pinnumber').disabled = true;
  			document.getElementById('credit').disabled = true;
  			document.getElementById('statusofPin').style.color = 'blue';
		}
		}else
		{
		
		document.getElementById('statusofPin').style.color = 'red';
		
		return false;
		}
}

function pinValidation()
{
var enterdPinNumber = document.paymentForm.pinnumber.value;

if(enterdPinNumber.length !=12 && enterdPinNumber.length !=16)
{

	alert('  لطفا شماره کد شناسه شخصی 12 یا 16 رقمی را وارد کنید ');
	document.getElementById('credit').disabled = true;
	document.paymentForm.pinnumber.value = "";
	document.paymentForm.pinnumber.focus();
	return false;

}

var serialNum = document.getElementById('serialnumber').value;
//Modified y rammohan for Golden Number voucher Payment
WimaxDwr.validatePinDetails(serialNum,enterdPinNum  ber,989392611057,loadResult);


}

function loadResult(data)
{
		var jsonString = data;
   		var jsObj = eval("(" + jsonString + ')');
        
        if(jsObj.resultCode == '0')
	  	{ 
	  		document.getElementById('credit').disabled = false;
		}
		else if(jsObj.resultCode == '107')
		{	
			alert('Your MSISDN is Blocked to Recharge');
			document.getElementById('credit').disabled = true;
			document.paymentForm.pinnumber.value = "";
			document.paymentForm.pinnumber.focus();
			return false;
		}
		else if(jsObj.resultCode == '-3')
		{	
			alert('Please try Again Later');
			document.getElementById('credit').disabled = true;
			document.paymentForm.pinnumber.value = "";
			document.paymentForm.pinnumber.focus();
			return false;
		}
		else
		{
			alert('  لطفا شماره کد شناسه شخصی 12 یا 16 رقمی را وارد کنید ');
			document.getElementById('credit').disabled = true;
			document.paymentForm.pinnumber.value = "";
			document.paymentForm.pinnumber.focus();
			return false;
		}
}

 function doCancel()
 {

	document.paymentForm.action = relativePath+"/StartUp";
    document.paymentForm.submit();
 }


</script>

----------


## golbafan

سلام

كدي كه بدرد بخوره رو كه نميزارن شما بردارين به همين كشكي

----------


## saeed697

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

----------


## Salar Ashgi

> هک بزرگترین بحث نابغان دنیای دیجیتاله که خیلیم فواید مثبت داره


اتفاقا هک معمولا کاری از نوع منفی و ناهنجار بشمار میرود ، شما میشه چند مورد از فواید مثبت اون رو بیان
کنید ؟!  :متفکر:

----------


## profnami

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

----------


## مسعود اقدسی فام

> جناب مدیر هک همیشه بد نیست . حداقلش اینه که نقطه ضعف های سیستم رو نشون میده تا مدیران اون سیستم به فکر برطرف کردن باشند . اما در کل زیاد خوب نیست


میزان جنبه و نگرش هک کننده و هک شونده تعیین می کنه که هک خوبه یا بد.

----------


## webpower

> سلام
> کاملا درست
> ولی این که دلیل نمیشه چون توی دیتا بیس اون یک شماره که نیست تعداد زیادی شماره
> 12 رقمی داره حا لا من 10عدد که بفرستم بلاخره یکی پیدا میشه
> 
> حلا در نظر بگیر 100 نفر مثل من بخوان ایکارو بکنن چی میشه
> پس این توجیه درست نیست


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

----------


## bijibuji

خواهش می کنم از دوستان بحث نا مرتبط نکن.
هک یا خوبه یا بده جاش اینجا نیست. به سوال دوستتون احترام بذارید. یه سوالی مطرح کرده و بحث در 9 صفحه ادامه پیدا کرده. اظهار نظرهای بی موردتون و جر و بحث هاتون فقط به شمار صفحات بی محتوای بحث اضافه می کنه.
دوستانی که اطلاعات تکنیکال نمی خوان ارائه بدن ممنون می شم مستمع بمونن.
سوال اینه:

الگوریتم تولید شارژ ایرانسل چیه؟

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

اما نظر من در مورد سوال:

1- قطعا الگوریتم وجود داره.
2- 999'999'999'999 و یا جدیدا 999'999'999'999'999'9 عدد ممکن 12 یا 16 رقمی ممکن وجود داره. این اعداد حتی از جمعیت کره زمین هم بیشتر هستند به مراتب، پس بحث لزوم تکراری بودن کدها منتفیه.
3- الگوریتم باید با سرعت بسیار بالا صحت کد رو چک کنه، پس گشتن در دیتابیس اون هم بطور همزمان واقعا غیر عملیه. در نظر بگیرید بطور همزمان در یک زمان 20 هزار نفر در حال شارژ کردن باشن. قوی ترن الگوریتم های جستجو در لیست اعداد مرتبه n*logn دارن و این واقعا وحشتناکه وقتی بخواد تکرار هم بشه برای چندین کاربر. پس بحث جستجو هم منتفیه
4- نگاهی به یوزر و پسوردهای آنتی ویروس NOD32 می تونه کمک کنه. به نظر من کاربرد شارژ ایرانسل دقیقا مثل کاربرد پسوردهای نود32 هست. هر دو بابت اش مبلغی می گیرن. هر دو فقط یک بار قابلیت استفاده دارن.
هر دو یک کد ظاهرا بی ربط و بی معنی هستن. سعی در پیدا کردن ارتباط بین رقمها واقعا کوشش بیخودیه. دنبالش نرید. این کدها رو انسان یکی یکی تولید کرده که شما با چشم دنبال پیدا کردن ارتباط هستید.
5- قطعا معتبر بودن یا نبودن کد ها از یک تایع ریاضی استخراج می شه.
6- کد این الگوریتم دو حالت بیشتر نداره. یا در طول زمان ثابته که پس الگوریتم شناخته شده ای نیست و یک ایرانی اون رو ننوشته. چون اگر ثابت می بود و حاصل کوشش یک ایرانی به راحتی درز می کرد. و یا اگر یک ایرانی اون رو نوشته ایرانسل در بازه های زمانی مشخص این الگوریتم رو مرتبط تغییر می ده.
7- احتمال زیاد می دم که این الگوریتم خریداری شده باشه توسط اوپراتور و مثلا قراردادی برای محافظت و عدم نشر اون بسته شده باشه. قطعا اوپراتوری که میاد میلیاردها دلار هزینه می کنه واسه نصب آنتن و تجهیزات و ضرب سیم کارت نمیاد الگوریتم تولید کدهاشو که تنها ممر درآمدشه رو بده به چارتا مهندس ایرانی براش بنویسن.
8- *هش* Hash اصطلاح واضحی است یه توضیح کوتاه می دم اما برای دوستانی که نمی دونن چیه.
شما یه رمزی رو می نویسی روی کاغذ می خوای بدی اش به دوستت در یه جای دیگه. اما از طریق یک دوست ثالثی می خوای به دستش برسونی. حالا این وسط برای اینکه دوست ثالث کد رمز نوشته شده روی کاغذ رو نخونه میای روش رو خط خطی می کنی یا به اصطلاح *هاشور* می زنی. این هش یا هاشور اطلاعاتی رو روی خطوط نوشته اصلی اضافه می کنه. دوست ثالث به دلیل خط خطی بودن و مبهم بودن نمی تونه نوشته اصلی رو بخونه. کاغذ به دست دوست ات می رسه.
اون یک کاغذ دیگه بر می داره و کد رمز رو که حفظه از قبل روش می نویسه. بعدش اون هم با الگوریتم و نواخت هماهنگ با شما روش هاشور می زنه. اگر نتیجه هاشور زده خودش با چیزی که روی کاغذ شما تحویل اش دادی یکسان بود، می فهمه که شما رمز رو می دونستی. در ارسال hash هیچوقت اصل داده اصلی ارسال نمی شه بلکه کد تغییر شکل داده شده فرستاده می شه. از مقایسه دو کد هاشور خورده ، اطمینان حاصل می شه که فرستنده اطلاعات اصلی رو درست بلد بوده، همین.
حالا سوال:
آیا هش راه برگشت داره؟ یعنی از روی هش می شه به اطلاعات زیر خط خطی دست پیدا کرد؟ جواب: نه
پس چطور هش رو هک می کنن؟ جواب: یک پسورد تصادفی ایجاد می کنن، هش اش می کنن، اگر نتیجه یکسان بود می فهمن که اطلاعات اصلی چی بوده. الگوریتم هش رو از کجا میارن؟ جواب: الگوریتم های تولید هش تصادفی بدون تکرار محدود هستند و استاندارد.

پس راهکار نهایی اینه:
1- بگردیم و از یک منبع لاتین الگوریتم های هش معروف رو پیدا کنیم.
2- سورس شون رو از اینترنت پیدا کرده و روی یک کامپیوتر قوی اجرا کنیم.
3- ورودی های مختلفی بدیم تا نهایتا یک عدد 12 یا 16 رقمی بهمون برگردونه
4- یک فایل حاوی کد های رمز شارژ منقضی شده، اما معتبر ایرانسل بسازیم با بیشترین تعداد مدخل. هر چی این فایل تعداد رمزهای بیشتری داشته باشه روش زودتر جواب می ده
5- برنامه کوچیکی بنویسیم که الگوریتم هش رو روی ورودی های تصادفی بسیار زیادی اعمال کنه و نتیجه رو به همه مداخل فایل رمزشارژ ها مقایسه کنه.
کافیه این برنامه یک هفته کار کنه . به نظر من اگر شانسی باشه توی همین یک هفته پیدا می شه.

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

----------


## alen332

من با نظر دوستمون موافقم تنها الگوريتم ميتونه كد تصادفي ايجاد كنه و در كمترين زمان و هزينه پاسخگو باشه وجود بانك اطلاعاتي در اين سطح امنيت و سرعت بسيار ريسك بالايي داره توضيح اينكه:

1- الگوريتم ايجاد كدهاي غير تكراري (هر الگوريتمي با قابليت توليد كدهاي 12 رقمي) كد را ايجاد ميكند

2- استفاده كننده كد12 رقمي را براي استفاده به الگوريتم ارسال مي كند در صورتيكه الگوريتم تا آن مرحله از كد رشد كرده باشد و كد مورد نظر قبلا به آن الگوريتم برگشت داده نشده باشد مورد قبول است (دقيقا ارسال و دريافت پارامتر و آرگومان در توابع)در غير اينصورت مردود اعلام مي گردد. 

دوستان توجه كنيم كه 10به توان 12 حالت وجود دارد تا يك كد صحيح باشد پس عملا تست كدهاي تصادفي توسط شما صفر است . به قول دوستمون اين الگوريتم ممكنه يك الگوريتم HASH باشه با پيدا كردن اين الگوريتم حتي نمي شه پي به مرتبه رشدش برد چون اعداد كاملا تصادفي ايجاد ميشه . ممكنه شما اين الگوريتمو رو سيستم خودتون RUN كنيد و كدهاي ديگه اي بده پس تقريبا دسترسي به اين كدها از طريق الگوريم يا هر روش نرم افزاري غير ممكنه هر كي ادعا داره اعلام كنه در خدمتيم . البته بحث شناسايي كد از طريق آنتن و سخت افزار رو ميشه مطرح كرد .

----------


## esi_ostokhooni

در 12 رقمی هاشو میدونم به این صورته که 8 تای اول یوزره و 4 تای بعدی پسورد . 
ولی خب خیلی ها با دستکاری درایور موبایلشون سعی در کرک کردن پسورد ها کردن و به خاطر همین بعد از یه مدت 14 رقمی هم در اومد که توش یوزر و پسورد بسته به 2 رقم آخر تغییر میکرد . و دقیقاً هیچکس نمیدونه که چطوری باید 2 رقم آخر رو ترجمه کرد که فهمید چند رقم یوزره و چند رقم هم پسورد و در هر کد ارقام یوزر و پسورد عوض میشه .

----------


## golbafan

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

----------


## Cancer

سلام علیکم


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

----------


## Cancer

سلام

یه چیزی در مورد این الگوریتم:

این فرمول خیلی هاتون دیدین.
مثلاً:
i^3 mod 10

RSA


حالا بیاین بجای i از اعداد 0 تا 9 استفاده کنید.

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

من نمیگم دقیقاً از همین الگوریتم استفاده کرده ولی شاید شبیه چنین چیزی باشه.


(هنوز سر حرف قبلیم هستم. :لبخند گشاده!: )

با تشکر

----------


## omidh2007

آقا الگوریتم نداره عمرا . چون اگه داشت و لو میرفت ، مجبور میشدن کل شارژا رو از سوپرمارکت ها جمع کنن یا همرو باطل کنن . 
هر وقت بی کار شدین همینجوری Random تست کنین بیشتر جواب میده .  :لبخند گشاده!: 

Random rnd = new Random();
            for (int j = 0; j < 10; j++)
            {
                string t = string.Empty ;
                for (int i = 0; i < 12; i++)
                {
                    t += rnd.Next(0, 10).ToString();
                }
                Console.WriteLine(t);
            }

----------


## مرتضی تقدمی

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

----------


## mahdi_rafatjah

آقایون چرل نشستین دارین حرف بیخود میزنید
شما ها که این کاره این بعیده
بیاین یه اپ بنویسید که شماره کارت رو بهش بدیم تو دیتابیس ذخیره کنه (من دیتابیس ندارم وگرنه براتون میذاشتم) {هر هفته هرکی 1 شارژ که بتونه بزنه که کار خراب نشه}

بعد از یه مدت بریم ببینیم میشه فهمید چه جوریه یه نه 
بیخودی نگین رندم یا نیست بیاین عملی ببینیم
ممنون

----------


## IamOverlord

در الگوریتم هم عدد random استفاده می شه، هم hash استفاده می شه برای صحت اطلاعات... از فکر hack هم بیاید بیرون. ضمنا یه نکته هم هست : خیلی از الگوریتم ها رو حتی اگه بدونی باز هم نمی تونی سیستم رو هک کنی (شاید بعد 100 سال بتونی...)

----------


## Cancer

سلام سلام سلام
یکم موج منفی:
کار گروهی بی فایده ست.
اولین کسی که تو گروه به نتیجه برسه می ره و پشت سرشم نگاه نمی کنه.
جریانه همون سفره ست. :متفکر: 

راستی کارت شارژ ها هم به احتمال خیلی خیلی بالا تاریخ انقضاء دارن.
فکر رندم رو هم از سرتون بیارین بیرون که بعدش بره توی بانک اطلاعاتیشو چک کنه ببینه هست یا نه.
قطعاً فرمول داره، شایدم فرمولها داره.

ولی یه مسئله ی بزرگ اینه که چرا تا حالا کسی نتونسته تو گوشیش رندم بزنه و کار کنه؟ :متفکر: 
شاید اون عدد رندمی که می زنه ماله یکی از همون کارت شارژهایی باشه که توی مغازه ها هستن.
ولی چرا تا حالا اتفاق نیفتاده؟

----------


## mojahed2011

با سلام خدمت همه 
خیلی از دوستان دارن حاشیه میرن و به همین دلیل به نتیجه نمیرسن.
موضوع اول : تاریخ شروع تاپیک رو نگاه کنید - چیزی حدود دوساله روش بحث میشه و فقط دارن نظر میدن .
موضوع دوم : الگوریتم داره چون یکی از دوستان حدود 12 سیم کارت داشت و هرکدوم حدود 200 هزار بعضی یا کمتر شارژ روشون بود - جریان از این قراره که این آقا بدون تجربه علمی و دانش کافی(منظورم تحصیلات دانشگاهیه) شروع به پیدا کردن کدها کرد - با یه ماشین حساب مهندسی ساده ویه سررسید که از اون برا نوشتن کدها استفاده میکرد(البته هر کدی که استفاده میکرد ممکن بود مثلا این کد مربوط به ش 1000 و کد تولید شده بعدی مربوط به ش 20000باشه(این سرنخ مهمیه) - و اینو هم بگم از قول این دوستم : 
دوتا مسله هست :
تا زمانی که کدها 12 رقمی بود قابل تشخیص بودن و لی از وقتی کدها 16 رقمی شدن خیلی سخت پیداشون میکنه و میگه که کد قابل استفاده نیست و مسله دوم هم اینه که ایرانسل کدهای شارژشو تو دسته های مختلف قرار داده که مدام بین این دسته ها سویچ میشه (کد 1000و2000و5000و10000و...) بنابراین الگوریتم داره و قابل تشخیصه ولی هرچند وقت یه بار اونو عوض میکنه (جهت حفظ امنیت)
البته باید بگم که این دوستمون هیچوقت الگوریتمشو بهم نگفت ولی هروقت خواستم از خطش به هر میزان استفاده کنم چیزی نمیگفت .

----------


## یوسف زالی

دوست من ، دوستتون به احتمال زیاد باهاتون شوخی کرده.
من هم دوستی داشتم که سایت فروش کارت رو هک کرد و نشونم هم داد. از اون هم هر چقدر دلت می خواست شارژ می گرفتی چیزی نمی گفت.
اگر واقعا الگوریتم رو داره، بگیرید بگذارید، در غیر اینصورت بحث شما شبیه بحث های مذهبی می شه.
علمی صحبت کنید لطفا.

----------


## tick-tock

به نظر من  هم از رندوم استفاده نشده احتمال داره که یک فرمولی داشته باشه که مثلا اگه کل اعداد را در فرمول قرار دهیم جواب بر فلان عدد قابل تقسیم است و یا فرمول های دیگه

----------


## gamron

سلام
به نظر من طبق یک رابطه ای هست. یعنی هر مبلغی از شارژ، یک رابطه مخصوص به خودش رو داره که اگه بتونیم دو کارت شارژ بخریم که پشت سر هم چاپ شده، فکر کنم بشه رابطشو بین این دو عدد پیدا کرد.

----------


## en-keramat

قطعا یه الگوریتم پیچیده ای داره ، کشف الگوریتم اش  یه دید ریاضی قوی می خواد ، زمان می خواد تا بتونی یه همچنین الگوریتم تشخیص بدید ، احتمالا اینکه این الگوریتم بسته به زمان تغییر کنه بسیار زیاد هستش و فکر نمی کنم بشه روشی پیدا کرد ، که همیشه بتونی شارژ بگیری
به هیچ وجع نمیتونه بر اساس رندوم باشه ، چون برا اساس مباحث ارماری احتمال پیدا کردن این نوع فرمول ها بسیار بالاست.
به نظر من روشهای هک بسیار بهتر جواب میدهد تا پیدا کردن الگوریتم  :لبخند:

----------


## Elias.F

سلام.
در پاسخ به دوستانی که میگن در ایجاد کد شارژها از hash استفاده شده، اینو بگم که hash فقط واسه *کد کردن* یک داده به کار میره،نه تولید یک داده و در تولید کارت شارژ ها هم، هیچ دلیلی وجود نداره که بعد از تولید یک کد n بیتی ، اون رو از طریق hash  به یک کد 16 بیتی تبدیل کنیم!!
گیریم که شماره های اصلی شارژ hash شده و این کد 16 رقمی در اختیار مشتری باشه. پس چرا وقتی هرکی کد رو شانسی میزنه سییستم تشخیص میده که این کد معتبر نیست؟(کد hash شده که غیره بازگشته)
ببینید مثلا اگه یه سری شماره اصلی فرضا 50 رقمی باشند و اونها رو با متد hash  به شماره های 16 رقمی و یکتا تبدیل کنیم، کار خودمون رو سختر کردیم و احتمال حدس یک کد رو بالا بردیم. چون حتی اگه این کارت شارج ها hash هم باشند، ماکه قرار نیست اونها رو دیکد کرده و به دیتای اصلی برسیم.فقط میخایم ازین شماره استفاده کنیم.
برای مثال بیشتر اگه شما یک database رو هک کرده و بهش دسترسی پیدا کنید،شاید بتونید با رمز عبور های hash شده کاربران به همون database وارد بشین، ولی ازون نمیتونین مثلا برای ورود به ایمیل کاربران استفاده کنید.پس میبینید که این روش برای مخفی کردن اطلاعات هست و در زمینه کد شارژ هیچ کاربردی نداره.
ولی ما در سیستم کد شارژ هیچ احتیاجی به مخفی کردن داده ی اصلی نداریم!یه لحظه فکر کنید این شماره hash باشه و ایرانسل بخاد اون رو بعد از دریافت از کاربر یا دیکد کنه (که دیکد اون غیر ممکنه!) یا بخاد با شماره های hash شده ی ذخیره شده در پایگاه داده مقایسه کنه(مطمئنا تو چند ثانیه امکان پذیر نست)
__________________________________________________  ______________________
من یک بار کارت شارژی رو خریده بودم ، خراب شد و نتونستم ازش استفاده کنم :اشتباه: .بهد که با ایرانسل تماس گرفتم ، گفت که شماره سریال کارت رو بده که واست درستش کنم!
پس یا این کد ها از طریق شماره سریال کارت ها قابل ایجاد هستن و یا همشون با شماره سریالشون تو یه database ذخیره شدن.
__________________________________________________  ______________________
حدس من اینه که وقتی شما شماره شارژ رو وارد میکنین، توسط یک الگوریتم تشخیص داده میشه که شماره درسته یا نه، نه اینکه این شماره رو تو database جستجو کنه!!! پس نتیجه میگیریم که حتما یک الگوریتم وجود داره.
__________________________________________________  ______________________
نکته ی دیگه اینه که این کد های شارژ 100% میشه به صورت حدسی وارد بشه.چون اگه اینطوری نبود ، محدودیت "3با ر اشتباه در وارد کردن شماره" نبود.
__________________________________________________  _____________________
16 رقم داریم.با یه حساب ساده میشه با این 16 رقم:
9000000000000000 شماره ی متفاوت تولید کرد.
ولی از بین این همه شماره تنها تعداد خاصی معتبر هستند.مثلا عدد1111111111111111 معتبر نیست و امثال این عدد هم در بین این همه زیاده.
__________________________________________________  _____________________
با الگوریتم های تشخیص الگو شاید بشه به این الگوریتم رسید که اونم به این راحتیا نیست.

----------


## tazarvmmr

درسته که مدتی هست که کسی اینجا نظری نداده! ولی چون من الان یک پروژه شبیه به همین دستم دارم راجع بهش خیلی فکر کردم، فکر میکنم بهترین حالت اینه که اعدادی که تولید میشن دارای یک الگوریتم باشن یعنی مثلا با چندتا محاسبه ریاضی متوجه بشی که این عدد طبق الگوریتم خودت تولید شده یا نه! قاعدتا بعد از اینکه تعیین شد که خودت تولیدش کردی باید بتونی از داخل این شماره مثلا یک شماره سریال یا یک مشخصه غیر تکراری رو استخراج کنی و حالا کافیه چک کنی که آیا اون کدی که استخراج کردی داخل دیتابیس هست یا نه، میتونی داخل این کد بیشتر از یک مولفه رو قرار بدی و هر چقدر تعداد این مولفه ها بیشتر باشه احتمال تقلبی بودن کد کمتر میشه. 
مثلا فرض کنید بطور بسیار ساده حاصل جمع اعداد اول تا نهم با سه عدد آخر یکی باشه نشون بده که این عدد با الگوریتم خودمون تولید شده (البته برای فهم مطلب این مثال ساده رو زدم، میتونه خیلی پیچیده تر باشه) حالا که عدد رو خودمون تولید کردیم فرض میکنیم عددهای موجود در ارقام فرد شماره سریال کد باشن و مثلا رقم دوم و چهارم مبلغ شارژ بر مبنای هزار تومان باشه و ارقام 6 و 8 هم مثلا روز تولید این کد باشه! فرض کنیم چیزی شبیه به این کد:


027260142534
سه رقم آخر 027
جمع ارقام اول تا نهم: 4+3+5+2+4+1+0+6+2 = 27

شماره سریال کد: ارقام فرد از 1 تا 9 یعنی: 45402
مبلغ شارژ: اعداد زوج دوم و چهارم یعنی: 32 * 1000 = 32000
روز تولید کد: اعداد ششم و هشتم: 16


حالا کافیه ما توی دیتابیس بریم به ردیفی که سریالش 45402 هست، برای اینکه مطمعن بشیم خودمون این عدد رو تولید کردیم ستون مبلغ شارژ و روز تولید داخل دیتابیس باید با اعدادی که کد شارژ تو خودش داره برابر باشه.
اگر هم کسی این عدد رو شانسی ایجاد کرد که بر حسب اتفاق شماره سریالش تو دیتابیس ما بود و روز تولیدش و مبلغ شارژش هم با اطلاعات ما توی دیتابیس یکی بود دیگه حقشه که موبایلشو به همین مبلغ شارژ کنه!

البته بگم من هنوز پروژمو انجام ندادم و هنوز دارم راجع بهش فکر میکنم. شاید لازم باشه آدم یه دیتابیس با مثلا 2 میلیارد رکورد ایجاد کنه و ببینه جستجو در این دیتابیس چقدر زمان میبره! ولی گمان نمیکنم مشکلی داشته باشه! و اصولا لزومی هم نداره که بعد از یک مدت مشخصی کدهارو توی دیتابیس نگه داشت مثلا میشه بعد از یکماه که از استفادش گذشت یا حذفشون کرد یا اینکه منتقلشون کرد به یک جدول دیگه که شاید هیچ وقت باهاش کاری نداشته باشیم!

----------


## fullsite1900

2347680261542342

----------


## yashar_sb_sb

شماره های شارژ معتبر به صورت یه دیتابیس درختی ذخیره شدن
یعنی اگه ریشه رو از عمق صفر در نظر بگیریم
رقم اول در عمق یک قرار میگیره
رقم دوم در عمق دو
رقم سوم در عمق سه
و ...
رقم شانزدهم در عمق شانزده
و پیچیدگی زمانی مقایسه میشه:
شانزده
و موقع تولید عدد جدید هم میان عدد رندمی تولید میکنن که در بیش از دو رقم درختمونو نقض کنه و این عدد رو هم به دیتا بیس اضافه میکنن

----------


## zayens

*جمع بندی تا اینجا*

*1- تولید کدهای کارت شارژ ایرانسل حتما بوسیله الگوریتم انجام میشه*
دلیل: *وجود شارژهای متفاوت* 
در واقع برای کدهای 1000 تومنی یک الگوریتم، برای دو تومنی یک الگوریتم وبرای 5000 تومان یک الگوریتم مجزا وجود داره(و نیز ده و بیست و ...)
پس قطعا با تولید کدهای رندوم، ایرانسل نمیتونه بفهمه این کد مربوط به چه قیمتیه!!

*2- احتمال شانسی وارد کردن کد شارژ و درست وارد شدن اون وجود داره.
*دلیل: *وجود محدودیت در وارد کردن کد شارژ* 
توضیح اینکه امکان وارد کردن شماره ای که بطور اتفاقی با یکی از الگوریتم ها مساوی باشه وجود داره
(البته احتمالش خیلی خیلی کمه ولی به هر حال) و به همین دلیل ایرانسل از روش مسدود کردن وارد کردن کد شارژ استفاده میکنه.

*اما این سوالات هنوز حل نشده و دارای ابهام هست:
*
*3- آیا کدهای وارد شده توسط مشتری در دیتابیس ذخیره میشه؟

**دو حالت وجود داره
*1- یا کدی که وارد میکنیم قبلا ثبت نشده و بعد از واردن کردن در گوشی، اپراتور اونو با الگوریتم مطابقت میده و در هر گروهی که این کد وجود داشت(1000 تومانی یا غیره) با تاریخ و اعتبار و ... ثبت میکنه تا کسی دیگه نتونه ثبتش کنه
بررسی مورد اول:
در این صورت کدها باید خاصیت بازگشتی داشته باشن یعنی درین صورت شماره کدها در الگوریتم جایگزین میشن تا ببینن در صورت صحت مربوط به چه نوع شارژیه.
خب درین صورت میتونیم بگیم اگر کدهای چند صد کارت شارژ بررسی بشه احتمال پیدا کردن الگوریتم یا یه رابطه بین کدها *محال نخواهد بود* و درین صورت ایرانسل آی کیوی برنامه نویسای خبره ایرانی را دست کم گرفته.

************************

2- ویا کدها قبل از توزیع در مراکز فروش، در دیتابیس ثبت شده ( اطلاعاتی مثل کد-سریال-مبلغ و ...)و (مثلا ایرانسل میتونه کدهای یک سال را در دیتابیس ذخیره کنه و بره بگیره بخوابه!)
 و پس از وارد کردن کد توسط مشتری، بعضی ستونهای جدول کامل میشن(تاریخ، شماره مشتری،مانده فعلی،نوع طرح،مالیات و کوفت و زهرمار)

بررسی مورد دوم:
در مورد دوم اگر بنا را بگذاریم که حجم عظیمی از اطلاعات قبلا ثبت شده و با استفاده ی مشتری از شارژ، فقط آپدیت میشه پس ایرانسل باید ترافیک بالای سایت و کم شدن سرعت دیتابیس و ... و مهمتر از همه خطر امنیتی دیتابیس را مد نظر قرار بده.
البته با سرورهای قدرتمند (که ایرانسل میتونه ازونا بهره بگیره) این مشکلات میتونه برطرف بشه
(کما اینکه بانکها نیز با وجود حجم عظیم اطلاعات دارن کارشونو بخوبی و با سرعت انجام میدن و حتی ما از توی خونه میتونیم به دیتابیس اونا دسترسی پیدا کنیم«مثل دیدن موجودی حسابمون»)
علی أی حال با وجود هکرهای زیاد داخلی و خارجی این کار چندان عاقلانه نخواهد بود و خود ایرانسل باید مراقب کارمندای خودش که به دیتابیس دسترسی دارن هم باشه تا شیطونی نکنن.

حالا یا راه سومی هم وجود داره یا ایرانسل داره از یکی ازین راهها استفاده میکنه. که در مورد اول خطر لو رفتن الگوریتم وجود داره و در مورد دوم امنیت(نظر خودم روی مورد 1 هست چون شانس پیدا کردن الگوریتم خیلی پایینه)
*خواهشا دوستان اگر نظری دارن قبلش یه کم فکر کنن بعد پست بذارن*!!!

----------


## sabermotavali

من روش *الگوریتمشو* نمیدونم
اما خواستم واستون *اتفاقی* که برا دوستم افتاده بود رو بگم
1 روز دوستم شارژ 2000 هزاری ایرانسل خرید و چون دستش پر بود داد به من که واسش بخونم و اون بزنه تو گوشیش در حین زدن یکی ، دو تا از شماره هاش  رو من عمدا اشتباهی خوندم (برا شوخی) زدو از قضا OK  شد و دقیقا همون 2000 شارژ شد و خیلی عادی به راهمون ادامه دادیم و منم اصلا تابلو نکردم و از اونطرف زدم و برا خودم استفادش کردم.چند روز بعد از این قضیه که داشتیم با هم تو خیابون قدم میزدیم. یهو اپراتور همراه اول که یه خانوم بود ز زد و گفت  که شما از کارت شارژ یه بنده خدایی از بندر عباس که ایشون خریده و سریالش رو ما زدیم تو سیستم و سیستم نشون داده که شما در حال حاضر دارید از اون استفاده میکنید. بنابراین یا خطتون مسدود میشه یا باید یه شارژ بگیرید و به فلان شماره بفرستید بماند که چه داستانایی بعدش اتفاق افتاد بین من و دوستم اما خواستم شما هم در جریان باشید
*یا حق*

----------


## aliphp1

من اگر می خواستم همچین کدهای تولید کنم هیچ وقت یک عدد رندوم نمی ذاشتم بله ترکیبی از دو یا سه عدد قرار میدادم (دو عدد 6 رقمی یه سه عدد 4 رقمی )
اینطوری دیگه خیلی سخت میشه کسی بخواد از کد ها استفاده کنه چون با تغییر یک رقم نمی تونه به مقصدش برسه و باید از هر کدوم از اعتبار رقم هایی رو تغییر بده تا به هم بخورن که عملا غیر ممکن هست( احتمالش در حد صفر هست )
چیزی مثل یوزر و پسورد که برای لاگین استفاده میشه هم باید یوزر درست باشه و هم پسورد

----------


## wisher

من روش الگوریتمشو نمیدونم
اما خواستم واستون اتفاقی که برا دوستم افتاده بود رو بگم

ba ejaze man fingilish rahat taram .
duste aziz joda az enteghadi ke azatun daram aval ino begam sharzhe irancell bude , chera operatore hamrahe aval bahatun tamas gerefte :D 

darzemn age injuri bud ke harki ye karte masraf shode tu khiabun peyda mikard ke edeaye malekiat mikard ... !

----------


## mojtaba5

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

----------


## aminkhayam

اتفاقا بخوبی ميشه ايرانسل رو دور زد و کد شارژ گرفت. چند راه وجود داره
راه اول= چون کد شارژ ايرانسل 16 رقميه پس نتيجه ميگيريم در نهايت 9999999999999999 عدد کد شارژ وجود داره ميتونيم 9999999999999999سيم کارت ايرانسل و 9999999999999999گوشی همراه بخريم. بعد روی هر سيم کارت يک کد 16 رقمی را امتحان کنيم. صد در صد يه چندتايی کد شارژ درست درست از آب در ميان. البته اين راه خيلی زمان ميبره اما شدنيه چه جور هم شدنيه 

راه دوم = مثل هوش سياه نقشه ايی طراحی کنی و کارت شارژهای يک مغازه رو بدزدی

راه سوم = مثل هوش سياه با کامپيوتر شرکت ايرانسل رو هک کنی.

----------


## golbafan

عاقا من چند بار بگم؟
برای تولید شارژ الگوریتم هست ولی بعد از تولید کد و تخصیص شماره سریال کار چاپ و ثبت در دیتابیس انجام میشه
فیلدهاشم اینهاست:
ID,Code,Phone,PDate,UDate,Edate
---
select * from ICcharges_01 where Code=$S
اگر فیلد تلفن خالی باشه قابل شارژ شدن هست وگرنه میگه کد شما استفاده شده در غیر اینصورت میگه کد اشتباهه

----------


## javady_joon

آقا  چرا آخه  کسی نمیگه
شما  اگر بخوای هی  بزنی  یکی  درست  دربیاد شما سر سومی  که سیمت  مسدود  میشه باز باید  24 ساعت  صبر کنی

----------


## mohammad_f.n

اونایی که میگن الکی کد بزنیم شاید درست در اومد شما بیشتر از 5 تا غلط بزنی کلا بلاک میشی دیگه کد درست هم بزنی قبول نمیکنه باید بری خدمات ارتباطی تا از بلاک درت بیاره برای همین هم کسی این کار رو نمیکنه 
 اگر هم کسی الگوریتمش رو بلد باشه چرا بیاد به شما بگه خوش استفاده میکنه حالش رو میبره دیگه
موفق باشید بازم سوال خوبی بود سرگرم شدیم

----------


## daffy_duck376

100 % الگوریتم داره -این قضیه توی خیلی از اعداد موجود صدق میکنه - مثل کد ملی - شماره حسابهای بانکی - شماره کارت ها - شماره شبا و..... . ببینید شما اگر یه شماره حساب الکی رو تو فیش بانکی بنویسید یا یه شماره کارت الکی رو برای انتقال بزنید سیستم بدون چک کردن شبکه میگه شماره حساب اشتباهه. حالا از کجا میفهمه عددی هست به نام checksum که از تریب اعداد قبل از خودش با یه الگوریتم خاص به دست میاد . حال موقع خوندن اون اعداد همه رو با اون الگوریتم چک میکنه و نتیجه رو با عدد checksum مقایسه میکنه اگه برابر بود اون وقت میره دیتابیس رو میگرده

----------


## مینوگلی

برای درس هوش مصنوعی استاد یه پروژه داده کسی میتونه کمکم کنه ؟ 

با استفاده از الگوریتم ژنتیک یک عدد 
30 رقمی پیدا کنید که حاصل جمع ارقام آن 162 شود .

----------


## dasssnj

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

----------


## mo3020

بابا بیاید من بهتون شارژ بدم دیگه بحق نکنید خوبه :)

----------


## mammad724

ایرانسل مثل تمام شرکت هایی دیگه ی دنیا برای این کار از شرکت دیگه ای استفاده میکنن کلا دو تا شرکت معروف تو دنیا وجود داره که کارش تولید رمزه ‌الان حضور ذهن ندارم اسمشونو بگم . این مطلب تو دوره های مایکروسافت اموزش میدن

----------


## FastCode

اینقدر ها هم پیچیده نسیت.حداقل برای آدم اینکاره.
شکستنش چند مرحله داره:
مطالعه به هم ریختگی و چگالی
تشخیص نوع تغییرات بین دو کارت
تشخیص نوع الگوریتم شامل نوع محاسبات و تغییرات entropy
تشخیص خود الگوریتم
تولید الگوریتم مشابه با hit-rate کافی

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

نمونه کار مشابه http://en.wikipedia.org/wiki/Dual_EC_DRBG
توی این مثال با *مطالعه خود الگوریتم* ثابت میشه که الگوریتم random داده شده در واقع random نیست.
https://blog.0xbadc0de.be/archives/155

مثالهای زیادی هست که شکستن کد با مطالعه خروجی الگوریتم انجام میشه. مثل WEP

----------


## یوسف زالی

البته فست کد جان، این کار به فضای نمونه زیادی احتیاج داره.

----------


## FastCode

> البته فست کد جان، این کار به فضای نمونه زیادی احتیاج داره.


کاملا درسته.

----------


## بیتا حکمت

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

یه مساله دیگه هم نمی دونم به بحث کمک می کنه یا نه ، اما بهتره بگم و اون اینکه : اگر شماره شارژی رو  که به سیم کارت زدید بعد چند ماه دوباره تو  همون سیم کارت بزنید پیغام می ده
که این کارت شارژ  قبلا" استفاده شده است ، در حالی که  برای یک عدد  12  رقمی شانسی  پیغام خطای دیگری ظاهر میشه

----------


## Arcsinos

آقا همونطور که میدونید کد شارژ حدود 15 رقمه، اگه این 15 رقم رو تقسیم بر 2 کنیم یه عدد 7 رقمی و یه عدد 8 رقمی خواهیم داشت. اگه عدد 8 رقمی رو به عنوان UserName و عدد 7 رقمی رو به عنوان پسورد در نظر بگیریم، برای اینکه بتونیم پسورد یه UserName رو استخراج کنیم باید 10 ملیون پسورد رو چک کنیم. فقط برای یه یوزر نیم. اینطوری فکر کنم مساله کمی ساده تر میشه :D

----------


## FastCode

همه رقم ها random هستند. چیزی به اسم user اینجا وجود نداره.

----------

