কীভাবে অননুমোদিত ফাংশনগুলি আবিষ্কার হয়? [বন্ধ]


11


আমি সর্বদা ভাবছিলাম যে আপনি কীভাবে অনথিভুক্ত / প্রাইভেট এপিআই পাবেন?

অ্যাপল অননুমোদিত / প্রাইভেট এপিআই, প্লে স্টেশন , উইন্ডোজ ফোন 7 , উইন 32 কার্নেল , উইন্ডোজ এপিআই , লুকানো কলব্যাক ইত্যাদির উদাহরণ ...

হ্যাকাররা কী কী সরঞ্জামগুলি ব্যবহার করে ব্যক্তিগত এবং অনিবন্ধিত ফাংশনগুলি সম্পর্কে সন্ধান করে?

প্রাইভেট API গুলি এবং বিপরীত প্রকৌশল কৌশলগুলি যা এপিআই ডকুমেন্টেশনে সাধারণত ব্যাখ্যা করা হয় সেই গোপনীয়তা প্রকাশ করে এমন মানুষের অভিজ্ঞতা সম্পর্কে আমি কোথায় পড়তে পারি?

ধন্যবাদ,

উত্তর:


7

আমি ভাবতে পারি এমন বেশ কয়েকটি উপায় রয়েছে:

  1. প্রতিফলন। এখানে আপনি একটি অবজেক্ট পেয়েছেন এবং নিজের সম্পর্কে তথ্য প্রকাশ করতে বলুন, যেমন পদ্ধতি, বৈশিষ্ট্য ইত্যাদি options

  2. Decompilation। বাইনারি তৈরি করতে ব্যবহৃত উত্সটির এটি পুনরায় তৈরি (একটি সংস্করণ)। আবার এটি API এর অ-সর্বজনীন অংশগুলি প্রকাশ করতে পারে।

আপনি তালিকায় "দুর্ঘটনাক্রমে" যোগ করতে পারেন। একটি ভুল স্পষ্ট কল / কমান্ড যা কাজ করে বা একটি সহায়তা পর্দা যা খুব বেশি তথ্য প্রকাশ করে।


2
দুর্ঘটনাক্রমে আপনি তালিকায় যুক্ত করতে পারেন । হ্যাঁ, এটি কম ঘন ঘন, তবে এটি ঘটে;) বিশেষত যখন এপিআই মালিকরা দুর্ঘটনার জন্য উত্সাহ দেয়।

1
@ পিয়ার - ভাল পয়েন্ট
ChrisF

এছাড়াও, ভাগ করা লাইব্রেরি স্বাক্ষর। এটি ডিসকোপিলেশন সম্পর্কিত, তবে একটি .dll / .dlib / .so ফাইলের রফতানি ফাংশনগুলি অফিশিয়াল সরঞ্জামগুলির সাথে ব্রাউজযোগ্য (ভিজ্যুয়াল স্টুডিওতে নির্ভরতা এক্সপ্লোরার, ইউনিক্সে এনএম)
ক্রিস ডোলান

4

সাধারণ সফটওয়্যার যা আপনি সফ্টওয়্যার বিকাশ করতে ব্যবহার করেন :)

সাধারণত Undocumented API ফাংশনগুলি হ'ল কেবল, নথিভুক্ত , এবং সত্যই সাবধানতার সাথে গোপনীয় গোপনীয়তা নয়।

ভবিষ্যতের প্রুফ এপিআই ডিজাইন করা শক্ত - আপনি সহজেই এপিআইতে স্টাফ যুক্ত করতে পারেন তবে কিছু অপসারণ করা (কিছু ক্লায়েন্টকে না ভেঙে) সত্যিই শক্ত। সুতরাং, এপিআই-তে কোনও কিছু যুক্ত করার সময় আপনি খুব সাবধান হন। এ কারণেই এপিআইতে কিছু অতিরিক্ত ক্রিয়াকলাপ (পরীক্ষার জন্য, উন্নয়নে, একটি দ্রুত হ্যাক?) থাকতে পারে, যা নথিভুক্ত নয় এবং পরবর্তী সংস্করণে সেখানে কাজ করার বা থাকার কোনও গ্যারান্টি নেই।

আপনি কীভাবে সংকলক, লঙ্কার, লাইব্রেরি এবং ডিবাগারগুলি (সিস্টেম প্রোগ্রামিং স্টাফ) কাজ করেন তা জেনে এই অননুমোদিত ফাংশনগুলি কিছুটা সহজেই পাওয়া যায়। লক্ষ্য আর্কিটেকচারের সমাবেশের ভাষা জানার ক্ষতি হবে না। যদি আপনার আইডিই / সংকলক কার্যক্ষম এক্সিকিউটেবলগুলি তৈরি করতে পারে তবে আপনি এটি "ম্যানুয়ালি" করতেও পারেন এবং সেই পথে চোখ খোলা রেখে আপনি কিছু গোপন বৈশিষ্ট্য আবিষ্কার করতে পারেন :)

ইউনিক্স পরিবেশে উদাহরণ: এমন একটি দৃশ্য যেখানে আমাদের কেবল প্রিন্টফ ফাংশনের জন্য ডকুমেন্টেশন রয়েছে এবং এটি জানতে চাই যে অন্য কোনও প্রিন্টফ- মত ফাংশন রয়েছে কিনা । চিন্তার প্রশিক্ষণ এমন কিছু হতে পারে:

1. শিরোনাম-ফাইলগুলি পরীক্ষা করুন

$ grep printf /usr/include/stdio.h | head -5
extern int fprintf (FILE *__restrict __stream,
extern int printf (__const char *__restrict __format, ...);
extern int sprintf (char *__restrict __s,
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
extern int vprintf (__const char *__restrict __format, _G_va_list __arg);

2. লাইব্রেরি পরীক্ষা করুন

$ nm /usr/lib/libc.a | grep printf | head -5
         U __asprintf
         U __fwprintf
         U __asprintf
         U __fwprintf
         U __printf_fp

৩. লাইব্রেরির কার্য বিচ্ছিন্ন করুন

    $ objdump -S /usr/lib/libc.a | grep -A 10 '_fwprintf' | head
00000000 <__fwprintf>:
   0:   55                      push   %ebp
   1:   89 e5                   mov    %esp,%ebp
   3:   8d 45 10                lea    0x10(%ebp),%eax
   6:   83 ec 0c                sub    $0xc,%esp
   9:   89 44 24 08             mov    %eax,0x8(%esp)
   d:   8b 45 0c                mov    0xc(%ebp),%eax
  10:   89 44 24 04             mov    %eax,0x4(%esp)
  14:   8b 45 08                mov    0x8(%ebp),%eax
  17:   89 04 24                mov    %eax,(%esp)

বা এরকম কিছু ...


2

দাবি অস্বীকার: আমি ক্রিসএফের উত্তর পছন্দ করি। আমার মনে হয় এটি কয়েকটি পদ্ধতির বাইরে চলে যায়। যদি তারা কীভাবে আচ্ছাদন করা হয় এমন উত্তরের মন্তব্যগুলিতে রাখে তবে আমি আমার উত্তরটি মুছব।

এটি এক ধরণের পচন ধরে যেতে পারে:

অন্যান্য অননুমোদিত API গুলি সন্ধান করা কোনও বিক্রেতার সরবরাহকৃত সরঞ্জামটি ডিবাগিংয়ের মাধ্যমেও হতে পারে যা আপনি কী চান এবং ইন্টারলিবারারি কলগুলি ট্র্যাক করে। এই উপায়ে, কোন ধরণের ডেটা কোথায় পাঠানো হয়েছে সে সম্পর্কে আপনার ধারণা থাকতে পারে।

অন্যান্য "কাস্টম" সরঞ্জামগুলি পাইথন এবং সিটিওয়াইপস বা রুবি ব্যবহার করে এই অনাবন্ধিত এপিআইগুলির সাথে খেলতে বা এটির মতো সংস্করণের সাথে রুবি রচনার জন্য রচনা করা যেতে পারে যতক্ষণ না আপনি ঠিক কী করছেন বা ক্র্যাশগুলির জন্য ধোঁয়াটে ing এই বিষয়টি ন্যূনতম গভীরতায় আবৃত হয়েছে: অ্যারন পোর্টনাইয়ের মধ্যে: http://pentest.cryptocity.net/reverse-engineering/ এবং সম্মেলনে তাঁর অন্যান্য কিছু আলোচনা (আমি মনে করি তিনি ব্রাজিলের একটি আলোচনায় সরাসরি এ সম্পর্কে কথা বলেছেন )। এটি আরই সম্পর্কিত, তবে আমি মনে করি না এটি ঠিক সাধারণ আরই। দ্রষ্টব্য: Pentest.cryptocity.net এ থাকা ভিডিওগুলি এই বিষয়টিতে ঠিক নয়। তারা আরও গভীরতার সাথে অন্যান্য অঞ্চলগুলি coverেকে রাখে, এটি কেবল স্পর্শ করা। আমি মনে করি কারণ এটি প্রায়শই এমন কিছু যা পরীক্ষকরা "সঠিক পদক্ষেপগুলি আমাদের গোপনীয়তা সরিয়ে দিবে" হিসাবে রক্ষা করে।

প্রশংসিত কোন প্রতিক্রিয়া পড়ার জন্য ধন্যবাদ।

সম্পাদনা করুন: উইন্ডোজ সাইডে এটির জন্য কার্যকর প্রমাণ করতে পারে এমন একটি সরঞ্জাম এখানে ন্যূনতমভাবে কভার করা হয়েছে: http://breakingcode.wordpress.com/2010/08/24/winappdbg-1-4-is-out/
ঘন জাভা জন্য হাইজ্যাকিং কল কাস্টম নেটওয়ার্ক পরিষেবাগুলিকে ঝাঁকুনির জন্য ক্লায়েন্টদের এখানে আচ্ছাদিত করা হয়েছে: http://www.securitytube.net/JavaSnoop-How-to-hack-anything-written-in- Java-video.aspx

এটি সর্বশেষটি কেবলমাত্র সামান্য প্রাসঙ্গিক তবে প্রাসঙ্গিকভাবে প্রমাণ করতে পারে যে প্রশ্নকারী শেষ পর্যন্ত কোথায় চলেছে। আপনার নিজের মালিকানাধীন API গুলি ব্যবহার করুন ... যাই হোক না কেন।


আরও / বিভিন্ন তথ্য সরবরাহের চেয়ে নিজের নিজের উত্তর যুক্ত করা ভাল - এটি স্ট্যাক এক্সচেঞ্জের বিষয়।
ChrisF

@ ক্রিসফ এই স্পষ্টতার জন্য ধন্যবাদ। দেখে মনে হয়েছিল এটি বিপরীতভাবে coveredাকা হয়ে গেছে। আমি ভেবেছিলাম এটি অন্য সম্ভাব্য পদ্ধতির আরও নির্দিষ্ট সংকেত / বিপরীতকরণের আরও নির্দিষ্ট উপসেট সহ্য করতে পারে (বিপরীতে এমএসডিএন তেমন উল্লেখযোগ্য চিহ্নগুলির সন্ধানের ক্ষেত্রেও আবরণ থাকতে পারে)।
রোবটহুমানস

-2

হ্যাকিং বেশ রোমান্টিক, শিল্প গোয়েন্দা, ফাঁস, ঘুষ, চুরি এবং সরল ভাগ্য শোনায় না। আমি যদিও তাদের গণনা করব না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.