"ওহে বিশ্ব!" (ডাকাতদের থ্রেড)


11

এটি ডাকাতদের সুতো। পুলিশদের থ্রেড এখানে

আপনার চ্যালেঞ্জটি হ'ল পুলিশদের থ্রেড থেকে একটি অনিবন্ধিত জমা নেওয়া এবং কী ইনপুট বা ইনপুটগুলির জন্য, প্রোগ্রামটি মুদ্রণ করবে Hello, World!এবং একটি নতুন লাইন অনুসন্ধান করবে। মূলধন, ব্যবধান এবং বিরামচিহ্নগুলি অবশ্যই নির্ভুল হওয়া উচিত।

আপনি যখন তাদের কোডটি ক্র্যাক করেছেন তখন দয়া করে পুলিশকে জমা দেওয়ার বিষয়ে মন্তব্য করুন।

উত্তর:


12

সিসিফাস দ্বারা বাশ

আসল কোড:

[[ ! "${1////x}" =~ [[:alnum:]] ]]&&[[ $# = 1 ]]&&bash -c "$1"

ইনপুট:

__=; (( __++, __-- ));
(( ___        = __,        ___++));
(( ____       = ___,       ____++));
(( _____      = ____,      _____++));
(( ______     = _____,     ______++));
(( _______    = ______,    _______++));
(( ________   = _______,   ________++));
(( _________  = ________,  _________++));

${!__##-} <<<\$\'\\$___$______$_______\\$___$______$_____\\$___$_______$__\\$___$_______$_________\'\ \$\'\\$___$___$__\\$___$______$_______\\$___$_______$______\\$___$_______$______\\$___$_______$_________,\ \\$___$____$_________\\$___$_______$_________\\$___$________$____\\$___$_______$______\\$___$______$______\\$__$______$___\'

ব্যাখ্যা:

এই এনকোডগুলি "ইকো হ্যালো, ওয়ার্ল্ড!" অষ্টাল এস্কেপ সিকোয়েন্স হিসাবে (\ xxx)।

আপনি যদি সংখ্যাগুলিও ব্যবহার করতে না পারেন তবে প্রথম অংশটি 0-7 সংখ্যার জন্য পরিবর্তনশীল তৈরি করে। অষ্টাল সিকোয়েন্সগুলির সাথে স্ট্রিং তৈরি করতে আপনি সেগুলি ব্যবহার করতে পারেন যা আপনাকে প্রকৃত আদেশ দিতে মূল্যায়ন করবে।

তবে evalএটি আলফানিউমেরিকও। সুতরাং পরিবর্তে এই পাইপ যে স্ট্রিং অন্য উদাহরণ ইনপুট হিসাবে bash$0ব্যাশ ডাকতাম কমান্ড, যা সাধারণত শুধু নাম রয়েছে bash(অথবা -bashলগ-ইন শেল জন্য) আপনি এটা স্বাভাবিকভাবে চালাচ্ছেন (Tio মাধ্যমে বা টার্মিনালে পেস্ট দ্বারা)। (ঘটনাক্রমে এর অর্থ হ'ল আপনি যদি এটিকে কোনও স্ক্রিপ্টে আটকানোর মাধ্যমে চালানোর চেষ্টা করেন তবে বিষয়গুলি মারাত্মক ভুল হয়ে যাবে কারণ এটি অনেক সময় নিজেকে কাঁটাতে চেষ্টা করে))

তবে যাইহোক, আপনি $0সরাসরি বলতে পারবেন না । পরিবর্তে, $__ধারণ করে নাম এর $0( "0"), এবং অ্যাক্সেস করতে পরোক্ষ সম্প্রসারণ এটা (ব্যবহার করতে পারেন ${!__}বিষয়বস্তু বোঝায় $0)।

এবং এটি, অবশেষে, আপনাকে প্রয়োজনীয় সমস্ত টুকরো দেয় gives


প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্বাগতম! আমি পুলিশ উত্তর উপর একটি মন্তব্য রেখেছি। আগ্রহীদের জন্য টিআইও লিঙ্ক: tio.run/##jc/…
ডেনিস

নিস! আমার সমাধানটি দেখতে অন্যরকম দেখাচ্ছে, তবে একই ধারণাটি ব্যবহার করা হয়েছে - একটি অক্টাল স্ট্রিং তৈরি করা এবং ডলারের একক উদ্ধৃতি বাক্য গঠন ব্যবহার করা, এবং ইন্ডিয়ারেশন ব্যবহার করা। ভাল হয়েছে =)
সিসিফাস

4

05 এ বি 1 ই , আদনান

•GG∍Mñ¡÷dÖéZ•2ô¹βƵ6B

-107

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

•GG∍Mñ¡÷dÖéZ•        - big number
             2ô      - split into twos (base-10-digit-wise)
               ¹β    - to base of input
                   B - convert to base (using 012...ABC...abc...):
                 Ƶ6  -   107 (ToBase10(FromBase255(6))+101 = 6+101 = 107)

নেতিবাচক বেস ... চমত্কার ...
এরিক আউটগলফার



3

জেলি: এরিকথ আউটগলফার

〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ〡㋄ⶐ✐сᑀ⟙ⶐⶐ〡ސЀᶑ

জেলি , 11 বাইট

sLƽ$Xṙ5O½Ọ

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

মূল কোডটি এরূপ হিসাবে ব্যাখ্যা করা যেতে পারে:

sLƽ$Xṙ5O½Ọ  Main link; argument is z
s            Split z into n slices, where n is:
    $
  ƽ         The integer square root of
 L                                      the length of z
     X       Random of a list. Returns a random row of the input put into a square
      ṙ5     Rotate the list left 5 times
        O    Get codepoints
         ½   Floating-point square root
          Ọ  From codepoints

সুতরাং, কেবল "হ্যালো, ওয়ার্ল্ড!" নিন এবং কোডপয়েন্টগুলি পান, সেগুলিকে বর্গক্ষেত্র করুন, কোডপয়েন্টে ফিরে কাস্ট করুন, ডান 5 বার ঘোরান, এবং তারপরে ফলাফলটি বর্গক্ষেত্র এবং সমতল করুন।


3

স্টিভি গ্রিফিনের অষ্টাভ

এটি সঠিক সমাধান কিনা তা নিশ্চিত নন (টিআইওতে এটি \00চরিত্রটি প্রিন্ট করে ) তবে আমার octave-cliশেলটিতে এটি দেখতে এটির মতো দেখাচ্ছে:

অক্টাভ শেল

এছাড়াও মূল চ্যালেঞ্জে এটি বলেছে কিছু মুদ্রণ (বা নাল-চরিত্র) নয় , তাই যদি কিছুই একই হয় না \00তবে এটি ঠিক করা উচিত।

[72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 33, 0]

এটি অনলাইন চেষ্টা করুন!



তবে চ্যালেঞ্জটি এমন দেখাচ্ছে না, যদি তাই হয় তবে এটি আমার পক্ষে আরও সহজ হবে (শেষেরটিকে 0একটি দিয়ে প্রতিস্থাপন করুন 10)।
24

@BruceForte যে হয় কি চ্যালেঞ্জ জিজ্ঞেস করল: "তোমার চ্যালেঞ্জ একটি প্রোগ্রাম বা ফাংশন যা, একটি নির্দিষ্ট ইনপুট দিয়ে, সঠিক স্ট্রিং ছাপে লিখতে হয় Hello, World!এবং একটি newline।" চ্যালেঞ্জ থেকে একটি সঠিক উদ্ধৃতি। এবং প্রকৃতপক্ষে, এটি উত্তর তুচ্ছ করে তোলে।
এইচডিভি

@ এইচভিডি হ্যাঁ, তবে আপনি যদি ওপিটির চিত্রটি দেখেন তবে তার সমাধানটি আসে না, এখান থেকেই মূল বিভ্রান্তি আসে।
ბიმო

1
@HyperNeutrino FWIW এই আমি কি মনে করেন সমাধান দেয়ার উদ্দেশ্যে করা শৈলী হয়।
জোনাথন অ্যালান


3

জাভাস্ক্রিপ্ট (ES6) এফেলন ড্যান্টজলার দ্বারা

{length:1, charCodeAt:()=>(e='Hello, World!', String.fromCharCode=()=>'')}

এটি অনলাইন চেষ্টা করুন!

এটা বেশ সহজ ছিল।

আমি লক্ষ্য করেছি যে কোনও স্ট্রিং ইনপুট আউটপুট করা সম্ভব হবে না Hello, World!কারণ পুরো জিনিসটির ভিতরে String.fromCharCodeকেবল 4 এর গুণক ফিরে আসবে এবং !এর একটি কোড কোড 33 রয়েছে So সুতরাং পরিষ্কারভাবে আমাদের কেবল পুরো প্রোগ্রামটি হ্যাক করতে হবে। জাভাস্ক্রিপ্টে বিল্ট-ইনগুলি হ্যাকিং তুচ্ছ কারণ যদি কেউ তাদের থামানোর চেষ্টা না করে (এবং এমনকি যদি কেউ এটি করে থাকে তবে সাধারণত প্রচুর পরিমাণে কর্মশালা থাকে ...)।


3

জাভাস্ক্রিপ্ট (ES6), ভয়েইল

সরল প্রক্সি যা কেবলমাত্র তৃতীয় বার যখনই বলা হয় কেবলমাত্র প্রয়োজনীয় চরিত্রটি দেয়।

var i = 0;
var string = "Hello, World!";
var proxy = new Proxy([], {
  get: function(target, property) {
    if (!(++i%3)) {
      return string[property];
    }
    return [1];
  }
});

এটি অনলাইন চেষ্টা করুন!


2
হ্যাঁ, এটি উদ্দেশ্যযুক্ত সমাধান :) প্রক্সিটির আরও বেশি ভালবাসা দরকার।
ভয়েলে

3

রুবি, হিস্টোক্র্যাট

যাদু ইনপুটটি হ'ল: 1767707618171221 30191World!

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা:

  • সংখ্যাটি 1767707618171221একটি প্রধান, এবং, 36 বেসে লিখিত এটি "hello"। যখন মূলধন হয়, এটি উত্পাদন করে "Hello", যা ব্যবহার করে মুদ্রিত হয়$><<
  • লাইনটি ইনপুটে $><<", #$'"if/30191/সংখ্যার 30191সন্ধান করে এবং কমা, একটি স্থান এবং ইনপুটে যা কিছু থাকে তার পরে স্ট্রাউট করতে লিখবে 30191(ব্যবহার করে $POSTMATCH, যা তার সংক্ষিপ্ত রূপটি এখানে উল্লেখ করা হয়েছে $')।

3

লুয়া 5.1 তেহটমি দ্বারা

এটি প্রথম যুক্তি হিসাবে পাস করুন:

C=("").char;_G[C(112,114,105,110,116)](C(72,101,108,108,111,44,32,87,111,114,108,100,33))

আসল কোডটি ধরে নেওয়া কোনও ফাইলের মধ্যে রয়েছে tehtmi.lua, চালান (ব্যাশ বা অনুরূপ শেলের মধ্যে):

lua tehtmi.lua 'C=("").char;_G[C(112,114,105,110,116)](C(72,101,108,108,111,44,32,87,111,114,108,100,33))'

এটি লুয়া 5.3 এও কাজ করে, যা টিআইও ব্যবহার করে, তাই আপনি কেন অনলাইনে চেষ্টা করবেন না ? আমি এমন একটি বাস্তবায়ন পরীক্ষা করেছি যা "পিইউসি-রিওর লুয়া 5.1" কোর ব্যবহার করে (কারণ আমি সত্যিই কোনও তথ্য খুঁজে পাই না), তবে আমার সমাধান সম্ভবত সেখানে কাজ করে।

কিভাবে?

এটি কোড হিসাবে প্রথম আর্গুমেন্টটি চালায় তবে কেবলমাত্র যদি এতে 5 টিরও কম অক্ষর থাকে।

কৌতুকটি চালানো হয় print("Hello, World!")। এটি চালানোর আর একটি উপায় হ'ল ব্যবহার করা_G["print"]("Hello, World!") যা কেবল স্ট্রিং ব্যবহার করে।

তবে লোয়ারকেস-কাউন্টের বিধিনিষেধের কারণে আমরা স্ট্রিংটি সরাসরি ব্যবহার করতে পারি না, তবে, আপনি ("").charফাংশনটি পেতে চালাতে পারেন string.char, এটি বাইটের একটি সিরিজ থেকে একটি স্ট্রিংয়ে রূপান্তর করতে পারে। আমি এটিকে একটি বড় আকারের ভেরিয়েবলের জন্য নির্ধারিত করেছি (যাতে আমরা সীমাটি আঘাত করি না) তাই উপরের মতো ব্যবহার করা যেতে পারে এমন স্ট্রিং printএবং Hello, World!স্ট্রিং উভয়ই তৈরি করতে আমরা এটি ব্যবহার করতে পারি।


আহা, ভাল হয়েছে! আমি ব্যবহার করার কথা ভাবছিলামnextchar পুনরাবৃত্তি আদেশের এলোমেলোকরণের কারণে লুয়া 5.3 এ কাজ করে না তার পরিবর্তে করার ।
তেহটমি

3

জাভাস্ক্রিপ্ট (ES6) ভয়েইলে লিখেছেন

ইনপুট অবশ্যই এতে থাকা একটি স্ট্রিং থাকতে হবে:

e(
`\
_\
=\
>\
"\
H\
e\
l\
l\
o\
,\
 \
W\
o\
r\
l\
d\
!\
"\
+\
\`
\`
`)

এটি ব্যবহার করে দেখুন:

const e=eval,p=''.split,c=''.slice,v=[].every,f=s=>(t=c.call(s),typeof s=='string'&&t.length<81&&v.call(p.call(t,`\n`),l=>l.length<3)&&e(t)(t))

input='e(\n`\\\n_\\\n=\\\n>\\\n\"\\\nH\\\ne\\\nl\\\nl\\\no\\\n,\\\n \\\nW\\\no\\\nr\\\nl\\\nd\\\n!\\\n\"\\\n+\\\n\\`\n\\`\n`)'
console.log(f(input))

যদি আপনি আউটপুটটির জন্য পিছনে থাকা নতুন লাইনের প্রয়োজনীয়তা সম্পর্কে চিন্তা না করেন তবে আপনি এর পরিবর্তে শেষ 6 টি লাইন প্রতিস্থাপন করতে পারেন:

!"
`)

আমি এটা কিভাবে করেছি

ইনপুটটির বিধিনিষেধগুলি হ'ল এটি একটি স্ট্রিং, প্রতিটি লাইন দুটি বাইট দীর্ঘ বা তার কম এবং মোট দৈর্ঘ্য ৮০ বাইট বা তার চেয়ে কম। সঠিকভাবে বুঝতে পেরে আমার প্রথম প্রচেষ্টা এটি ছিল:

_
=>
`\
H\
e\
l\
l\
o\
,\
 \
W\
o\
r\
l\
d\
!
`

দ্রষ্টব্য: \ গুলি ইনপুটটিতে স্ট্রিংয়ে থাকা নতুন লাইনগুলি উপেক্ষা করবে। এটি উত্তরের জন্য অবিশ্বাস্যরকম গুরুত্বপূর্ণ এবং আমি বিশ্বাস করতে পারি না যে আমি দুর্ঘটনায় এটিকে হোঁচট খেয়েছি। (আমি এর সাথে আগে পরিচিত ছিলাম তবে এটি সম্পর্কে ভুলে গিয়েছিলাম)

তবে এটি কার্যকর হয়নি since => যুক্তিগুলির একই লাইনে থাকতে হবে। ধন্যবাদ, আমি একটি স্ট্রিং মধ্যে অনুরূপ কিছু মোড়ানো এবং আমার ইনপুট এ একটি লাইনে হ্রাস করার জন্য একটি evall রাখার ধারণা ছিল, আমার চূড়ান্ত উত্তর। ইনপুটটিতে বিভাজন ঘটে যাওয়ার পরে, নিম্নলিখিতটি একটি স্ট্রিং হিসাবে উত্পন্ন হয় (যা তারপরে কোনও ফাংশনে প্রদর্শিত হবে এবং তারপরে চালানো হবে):

_=>"Hello, World!"+`
`

এটি ক্র্যাক করা সত্যিই শক্ত ছিল, তবে আমি শেষ পর্যন্ত সফল হয়েছিল।

এছাড়াও, প্রথম ক্র্যাক কখনও!


3

Cubically এমডি এক্সএফ দ্বারা

আমি ধারণা করি এটি সর্বদা বিপজ্জনক, তবে আমি মনে করি যে আমার কাছে একটি ক্র্যাক রয়েছে, মুলতুবি থাকা যে আমি সঠিক যে দোভাষীটিতে একটি বাগ রয়েছে (যা আমি এখনই সংকলন করেছি)।

আমার ইনপুট

0 1 0 1 0 1 0 1 1 0 1 0 0

আউটপুটটি শেষ Hello, World!\n\n\n\n\n\n\n\n\n\n.....অবধি শেষ নয় new

তবে আমি কোডের শেষ বিভাগটি লক্ষ্য করেছি:

:1/1+1$(@6)7

নোটপ্যাডকে 0x0Aএকটি ভীতিজনক উপায়ে সেট করে (new টি মুখোমুখি ইনপুট পড়বে) আপনি যদি 7 থেকে শূন্য মুখ সেট করেন তবে আপনার কেবল একটি নতুন লাইন পাওয়া উচিত। যাইহোক, আমি অসীম নিউলাইনগুলি পেয়েছি এবং আমার 13 তম ইনপুটটি একটি শূন্য ছিল এবং আমি লুপের মধ্যে "7 মুখের মুদ্রণ নম্বর" সরিয়ে 7 মুখটি সর্বদা শূন্যের সাথে যাচাই করতে পারি:

:1/1+1$(@6%7)7

তারপরে এটি অনন্ত \n0যুগল প্রিন্ট করে ।

আমি ঘনক্ষেত্র গিথুব পৃষ্ঠায় চশমাগুলি দেখছি এবং এই আচরণটি একটি বাগের মতো ভয়ঙ্কর দেখাচ্ছে। আসল প্রোগ্রামের শেষ চরিত্রটি একটি 7থেকে 0প্রত্যাশিত আচরণের ফলাফলে পরিবর্তন করা। টিআইও ইন্টারপ্রেটার একই ভুল আচরণটি প্রদর্শন করে।


ডেনিস কিউবিকালি টান মাত্র এই মুহূর্তে স্থির করা উচিত, এটি টিআইওতে স্থির হবে।
MDXF


2

সি # (.নেট কোর) , গ্রেজগোর্জ পুয়াওস্কি

আমি যে সমাধানটি পেয়েছি তা অদৃশ্য অক্ষরগুলির খুব যথেষ্ট ব্যবহার করে, সুতরাং এটি এখানে আটকানোর চেষ্টা করা ভাল কাজ করে নি। ইনপুটটির জন্য বাইট মানগুলি হ'ল:

109, 89, 4, 121, 3, 11, 8, 29, 37, 38, 27, 25, 72, 4, 4, 4, 3, 3, 3, 4, 4, 37, 3, 27, 4, 3

অথবা স্ট্রিং সংস্করণ টিআইও লিঙ্কের ইনপুট ক্ষেত্রে উপলব্ধ।

এটি অনলাইন চেষ্টা করুন!

মূল প্রোগ্রামটি ইনপুটটিতে স্বতন্ত্র অক্ষর গ্রহণ করবে, তারপরে ইনপুটটি বিপরীত করবে এবং দুটি তালিকার উপাদানগুলিকে গুণ করবে। এভাবে আমি একটি স্ট্রিং 26 টি অক্ষর তৈরি করেছি যেখানে প্রথম 13 টি অক্ষর আলাদা ছিল, শেষ 13 অক্ষরগুলিও প্রথম 13 টিতে উপস্থিত হয়েছিল, এবং প্রতিটি সূচকের জুটি [i, 26-i]i-th অক্ষরের বাইট মানকে গুণিত করেছিল Hello, World!


দারূন কাজ! আপনি টেক (এ। ফার্স্ট () - 33) ট্র্যাপটি বাদ দিতে সক্ষম হয়েছেন। এটি আমাকে অনুধাবন করেছিল যে আমি বিপরীতে ডিসিস্টিন্টকে ভুলে গিয়েছি, তবে ওহ ভাল, এখনও আমি মনে করি এমন একটি চমৎকার চ্যালেঞ্জের জন্য তৈরি করেছি। এছাড়াও এটিতে% 255 ছিল যাতে আপনি প্রিন্টযোগ্য এএসসিআইতে উচ্চতর সংখ্যা ব্যবহার করতে পারেন।
গ্রজেগোর্জ পুয়াওস্কি

2

Ly দ্বারা , LyricLy

n[>n]<[8+o<]

2 25 92 100 106 103 79 24 36 103 100 100 93 64

এটি এখানে চেষ্টা করুন (যদিও পৃষ্ঠাটি নতুন লাইনটি সরবরাহ করে না)।

nইনপুট নেয়, ফাঁকা স্থানগুলিতে বিভক্ত হওয়ার চেষ্টা করে এবং কীটগুলিতে কাস্ট করে, এগুলি স্ট্যাক লাগায়। oমূল পয়েন্টগুলি মুদ্রণ 8+করে এবং যা মনে করে তা করে। সুতরাং ইনপুট ফাঁকা বিভক্ত বিপরীতে কোডপয়েন্টগুলির চেয়ে 8 কম হওয়া দরকার।


এটি কোনও পেছনের নতুন লাইনে মুদ্রণ করে না, তাই না?
লিরিক

আহ উফ, সহজেই স্বীকৃতিযোগ্য!
জনাথন অ্যালান

... আসলে কি তাই? আমি ভাবতাম 2যে কাজ করবে - এই যে কেবল হিরকাপ্যাপ পৃষ্ঠাটি এটি সরবরাহ করছে না?
জোনাথন অ্যালান :19

1
হ্যাঁ, 2 টি কাজ যুক্ত হচ্ছে। পৃষ্ঠাটি কেবল নতুন লাইনের পিছনে রেন্ডার করে না।
লিরিক

2

সি (জিসিসি), ফেলিক্স প্যালম্যান দ্বারা

আসল কোড:

#define O(c)(((char**)v)+c)
#define W(c)*(O(c)-**O(2)+x)
main(x,v){puts(W(42));}

যুক্তি:

"Hello, World!" ","

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

W(c)আর্গুমেন্ট তালিকা থেকে মুদ্রণের জন্য একটি স্ট্রিংয়ের ঠিকানা গণনা করা হচ্ছে। এটি সিটি আর্গুমেন্টের ঠিকানা দিয়ে শুরু হয় ( O(c)), যা এই ক্ষেত্রে 42 তম আর্গুমেন্ট, এবং তারপরে দ্বিতীয় আর্গুমেন্টের প্রথম অক্ষর ( **O(2))টিকে একটি পূর্ণসংখ্যা অফসেট হিসাবে বিয়োগ করে এবং তারপরে যোগ করেx সংখ্যার , যা আর্গুমেন্টের সংখ্যা।

W(c)দ্বিতীয় যুক্তি ব্যবহার করে, সুতরাং আপনি জানেন যে তাদের মধ্যে কমপক্ষে 3 হওয়া দরকার (0, 1, 2)। তারপরে "হ্যালো, ওয়ার্ল্ড!" প্রথম যুক্তিতে যেতে পারে এবং তারপরে সেই যুক্তিটির সমাধান করতে আপনার এমন একটি চরিত্রের প্রয়োজন হবে যার ASCII মান "42-x + 3 = 1" সমীকরণের সাথে ফিট করে। এটি "," হতে পারে।


দুর্দান্ত ব্যাখ্যা, আমি পিসিতে আসার সাথে সাথেই আমার পোস্টটি সম্পাদনা করব :)
ফেলিক্স প্যালমেন

2

জাভাস্ক্রিপ্ট: দ্য পাইরেট বে

আমি পার্স করা বস্তুর পদ্ধতি valueOf()এবং toString()পদ্ধতিগুলিকে ওভাররাইড করি যাতে জোর করে একটি দিয়ে ব্যর্থ হয় TypeError

{"valueOf": 7, "toString": 7}

12
উম্ম, আমি বুঝতে পারছি না। দয়া করে বিস্তারিত বা কিছু? বিশেষত ডালকসডজালকডজা এস জাল্কসডজালকসডজা অংশ, এটি কিছুটা আমাকে বিভ্রান্ত করে।
এরিক দ্য আউটগলফার

@ এরিকথ আউটগল্ফার আমি স্প্যামের অংশটি সম্পাদনা করেছিলাম, তবে এটি কেন ছিল তা আমার কোনও ধারণা নেই।
NoOneIsEre

নিবন্ধন করুন এটি আমার মন্তব্যে স্বতঃ-রূপান্তরকরণ থেকে আমার উত্তর থামিয়ে দিতে চলেছিল।
মালটিসেন

1
@ মালটিসেন ঠিক আছে ঠিক আছে একটি সম্পাদনা বোতাম যা পরবর্তী সময় কার্যকর হতে পারে;)
এরিক দি আউটগল্ফার

2

6502 সমাবেশ (সি 64) - ফেলিক্স পামেন

সঠিক উত্তরটি হল 52768,23

ব্যাখ্যাটি কিছুটা জড়িত।

00 c0                          ;load address
20 fd ae      jsr $aefd        ; checks for comma
20 eb b7      jsr $b7eb        ; reads arguments

কোডটি প্রথমে একটি কমা (সিনট্যাক্স প্রয়োজনীয়তা) পরীক্ষা করে এবং তারপরে দুটি আর্গুমেন্টে পড়ে, যার মধ্যে প্রথমটি একটি ওয়ার্ড, স্মৃতিতে অবস্থিত লিটল-এন্ডিয়ান 0014 এবং 0015 সংরক্ষণ করে, যার পরবর্তীটি এক্স রেজিস্টারে সংরক্ষিত থাকে।

8a              TXA            ;Store second argument into A (default register)
0a              ASL            ; bitshifts the second argument left (doubles it)
45 14           EOR $14        ; XOR that with the low byte of first argument
8d 21 c0        STA $c021      ; Drop that later in the program

প্রোগ্রামটি নতুন করে লিখতে আমাদের ইনপুটটি ব্যবহার করে এটি বেশ চালাক। এটি শেষ পর্যন্ত প্রোগ্রামের শেষে আউটপুট লুপের জন্য কাউন্টারটি পুনর্লিখন করে।

45 15           EOR $15        ; XOR that with the high byte of the first argument
85 15           STA $15        ; Put the result in $15
49 e5           EOR #$e5       ; XOR that with the number $e5
85 14           STA $14        ; Put that in $14

এখানে বিভ্রান্ত অংশ আসে:

8e 18 d0        STX $d018      ; stores the original second argument in d018

সি 64 এ, d018 একটি খুব গুরুত্বপূর্ণ বাইট। এটি স্ক্রিনের আউটপুট জড়িত জিনিসগুলির জন্য রেফারেন্স পয়েন্টগুলি সঞ্চয় করে। এখানে দেখুনআরও তথ্যের জন্য । যদি এটি একটি ভুল মান পায় তবে এটি আপনার সি 64 ক্রাশ করবে। প্রয়োজনীয় মিশ্রিত উপরের এবং ছোট হাতের অক্ষরগুলি মুদ্রণের জন্য, এটি 17 ডলার হওয়া দরকার।

এখন আমরা আমাদের আউটপুট লুপ শুরু:

a0 00               ldy #$00       ; zeroes out the Y register
b1 14               lda ($14),y    ; puts the memory referenced by the byte
                                   ;   starting at $14 (remember that byte?)
                                   ;   into the default register
20 d2 ff            jsr $ffd2      ; calls the kernal routine to print the char stored in A
c8                  iny            ; increment Y
c0 0e               cpy #$0e       ; test for equality with the constant $0e

এই ধ্রুবকটি যা আগে লেখা হয়েছিল। এটি স্পষ্টভাবে নির্ধারণ করে যে লুপটি কতক্ষণ চালায়। এটি ইতিমধ্যে সঠিক মান হিসাবে দেখা যায়, তবে আমাদের আবার 0e থাকা উচিত।

d0 f6                   bne *-8        ; jump back 8 bytes if y and that constant weren't equal
60                      rts            ; ends the program

বাকী কেবলমাত্র তথ্য যা আমাদের মুদ্রণ করা দরকার মেমরি ঠিকানা c025 থেকে শুরু করে।

সুতরাং এটি সেখান থেকে গণিত অনুসরণ করা।


একেবারে সঠিক, একত্রিত। আমার পোস্টটি সঠিকভাবে সম্পাদনা করতে আমাকে কিছুটা সময় নিতে পারে, আমি এখন মোবাইলে আছি।
ফেলিক্স পামেন

D018 খুব চালাক ছিল এবং আপনি কীভাবে গোপনে কোনও ইঙ্গিত পোস্ট করেছেন তা আমি পছন্দ করি।
গোল্ড ম্যান

d018 হ'ল উদ্দেশ্যযুক্ত দ্বার-ওপেনার ... ইঙ্গিতটি দুর্ঘটনাজনক ছিল, আমি $FFসেখানেই বুঝি, তবে এটি ছেড়ে দেওয়ার সিদ্ধান্ত নিয়েছিলাম।
ফেলিক্স পেলমেন

2

6502 মেশিন কোড (সি 64) - ফেলিক্স পামেন

সঠিক উত্তরটি হ'ল

8bitsareenough

কোডটি বরং জটিল, অনেকগুলি স্ব-সংশোধনকারীকে জড়িত। সুতরাং এটি পুরোপুরি বিপরীত ইঞ্জিনিয়ারিংয়ের পরিবর্তে, আপনি কেবল এটি ক্র্যাক করতে ব্যবহার করতে পারেন।

কী হয়েছে তা বুঝতে সহায়তা করার জন্য কোডটি কিছুটা বিচ্ছিন্ন করে দেওয়া এখানে helpful সিনট্যাক্সটি কিকআসেম্বেবলারের জন্য।

*=$c000       // LOAD ADDRESS
jsr $aefd     //checks for a comma
jsr $ad9e     /*Reads in an argument. Stores length of it into
                $61, with the address of the stored arg in $62-3*/
jsr $b6a3     /*Evaluates the string, leaving the pointer on $22-3
                and the length on A*/ //I think

ldy #$00
loop: lda thedata,y   
cpy #$01
beq shuffle
cpy #$07
beq shuffle
cpy #$0b
beq shuffle
tricks: jsr output
iny
bne loop
output: eor ($22),y      //XOR's A with the y-eth letter of our input
jmp $ffd2               //good old CHROUT, returns to tricks above
thedata: .byte $f0,$48,$fa,$a2, $1c,$6d,$72,$30
.byte $06,$a9,$03,$48,$7c,$a3
shuffle: sta $c048      //drops A in mystery+4, over the constant
lda $c026,y
sta $c045               //overwrites the low byte of mystery
lda $c027,y
sta $c046               //overwrites the high byte of mystery
ldx #$00
mystery: lda $aefd,x              
eor #$23
jsr output
iny
inx
cpx #$03
bne mystery
cpy #$0e
bne loop
eor #$1a
sta $d018                
rts

এটির মতো লেবেল করা আমার পক্ষে দেখার জন্য যথেষ্ট ছিল যে কোডটি XOR গুলি আমাদের প্রয়োজনীয় প্রিন্ট করার জন্য চারপাশে লুকানো একটি ধ্রুবক ধ্রুবক রয়েছে। যেহেতু এক্সওআরটি পরিবর্তনযোগ্য, তাই আপনি যদি পছন্দসই আউটপুট ইনপুট করেন তবে কীটি কী তা তা আপনাকে জানাবে।

তাই আমি শেষ লাইনটি পরিবর্তন করেছি

/*from sta $d018 
to*/ jsr $ffd2

সুতরাং এটি কোনও ভুল ইনপুট ক্র্যাশ করার পরিবর্তে শেষ প্রয়োজনীয় ইনপুটটি মুদ্রণ করবে।

আর এটাই!

যদি কোনও আগ্রহ থাকে তবে আমি কোডটি আরও ক্র্যাক করব।


বাহ, এটি প্রকৃতপক্ষে একটি বিশাল শর্টকাট, প্রসেসিংয়ের আগে আমার সম্ভবত ভুল ইনপুটটিতে ক্র্যাশ হওয়া উচিত ছিল । এর ডিবাগারটি ব্যবহার করে বিটিডব্লিউর সম্ভাব্য আর একটি শর্টকাট ছিল । তবে যাই হোক না কেন, এটি সঠিক সমাধান। vice
ফেলিক্স প্যালমেন

আমি জানতাম না যে ভাইসটির একটি ডিবাগার রয়েছে। আমি কেবল উত্তরগুলি ক্র্যাক করার জন্য একটি ভাষা শেখার জন্য এটি পেয়েছি।
গোল্ড ম্যান

কিছু ব্যাখ্যা সহ আমার পোস্ট সম্পাদনা। ভাল কাজ, কেবল ক্রাশ না হওয়া প্রোগ্রামটি পরিবর্তন করা বেশ স্পষ্ট উপায়, আমি এটি ভাবিনি।
ফেলিক্স প্যালম্যান

নিতপিক: " drops A in mystery+1, over the constant" <- এটি আসলে mystery+4আপনার লেবেল সহ। অফিস্টগুলি বাইটগুলিতে থাকে :) এবং এফডাব্লুআইডাব্লু , কোডটি র‌্যাম থেকে চালানো পর্যন্ত, গুরুতর 6502 কোডেও স্ব-পরিবর্তনটি সাধারণ common
ফেলিক্স প্যালম্যান

1

বিস্ফোরিত , পদক্ষেপ মুরগী

@_?&4_-j>5&f^~c>&6\|4>7

রহঃ / Qi?, Wcr + + ডু

এটি অনলাইন চেষ্টা করুন!

  • সমস্ত "অন্বেষণকারী" আসলে যা করছে তা কারও মাথা ঘোরার চেষ্টা করার চেষ্টা করছি, তাই আমি কেবল এটির প্রকৃত বিপরীত করেছি (আক্ষরিক: পি - ডানদিকের চরিত্র থেকে শুরু করে আমি প্রতিটি মুদ্রণযোগ্য চরিত্রের পরিসীমা বরাবর অফসেট করেছি) ।

ভাল কাজ :) আমি যখন আমার পিসিতে ফিরে আসি তখন কয়েক ঘন্টার মধ্যে আমি একটি ব্যাখ্যা যুক্ত করব
স্টিফেন

1

অভিশাপ। আমার এই সঠিক ক্র্যাকটি ছিল তবে এটি টিআইওতে কাজ করতে পারছে না। +1
এমডি এক্সএফ

সেটার জন্য দুঃখিত. এটি এখন ঠিক করা হয়েছে।
ডেনিস

সমস্যা কি ছিল জানেন?
এমডি এক্সএফ

আমি জানি যে আমি এটি কীভাবে স্থির করেছি (টিসিসি সেলইনাক্স সমর্থন দিয়ে তৈরি করতে হয়েছিল) তবে আমি নিশ্চিত না যে এটি কী করে বা কেন এটি প্রথম স্থানে প্রয়োজন হয়েছিল।
ডেনিস


1

জেলি জোনাথন অ্যালান দ্বারা

আসল কোড:

œ?“¥ĊɲṢŻ;^»œ?@€⁸ḊFmṪ⁷

এটি অনলাইন চেষ্টা করুন!

ইনপুট:

1,2586391,2949273,3312154,3312154,1134001,362881,2223505,766081,1134001,1497601,3312154,1860601,140

ব্যাখ্যা:

মূলত কোডটি কী করে তা বোঝা দরকার। প্রথমটি এটি করে এটি স্ট্রিং নেয়"!,Word Hel"(নিউলাইন বাদে সমস্ত প্রয়োজনীয় অক্ষর সহ) এবং সেগুলির একগুচ্ছ ক্রিয়াকলাপ তৈরি করে। ইনপুটগুলি ক্রমান্বয়ে নম্বরগুলি নির্দিষ্ট করে এবং ইনপুট থেকে প্রতিটি জোত ক্রমের জোড় যুক্ত স্ট্রিংয়ের ক্ষেত্রে প্রয়োগ করা হয় যেখানে প্রথম অনুমানের প্রথমে প্রয়োগ করা হয়। মূলত, পি 2 (পি 1 (এস)), পি 2 (পি 2 (এস), পি 2 (পি 3 (এস)), ..., পি 2 (পিএন (এস)), পি 3 (পি 1 (এস)), ..., পি 3 (পিএন (এস)), ... ..., পিএন (পি 1 (এস)), ..., পিএন (পিএন (এস)) এগুলি একসাথে একত্রিত হয়। তারপরে শেষ ইনপুটটি প্রতিটি পিএনথ নিতে পুনরায় ব্যবহার করা হয় এই বড় স্ট্রিং থেকে চরিত্রটি। সুতরাং, আমি পিএন = লেন (এস) * এন = 10 * এন গ্রহণ করি This এর অর্থ আমরা পি 2 (পি 1 (এস)) এর প্রথম অক্ষর গ্রহণ করব, পি 3 (পি 1 (এস) এর প্রথম চরিত্র )), পিএন (পি 1 (এস)) এর প্রথম অক্ষর পর্যন্ত সমস্ত পথ further আরও সহজ করার জন্য, আমি পি 1 = 1 কে যা পরিচয় অনুমানের অনুমতি দেয় Then তারপরে "H" কে প্রথমটির মধ্যে অনুমতি দেয় এমন কোনও পি 2 বেছে নেওয়া যথেষ্ট ices অবস্থান, একটি পি 3 যা "ই" কে প্রথম অবস্থানে এবং অন্যদিকে অনুমতি দেয়। ভাগ্যক্রমে, পিএন এর জন্য ইতিমধ্যে বেছে নেওয়া পছন্দ মতো ছোট ক্রম সংখ্যাটি স্ট্রিংয়ের আগের অক্ষরগুলিকে প্রভাবিত করে না, সুতরাং পিএন ছেড়ে যায় "!" স্ট্রিংয়ের শুরুতে। (এটি যদি সত্য না হয় তবে অন্য একটি পৃথক P1 চয়ন করে সমাধান করা এখনও সম্ভব হত))


এটি 14 অনুক্রমের তালিকার 14 ক্রমবিধি গ্রহণ করে, সমতল করা হয়, প্রবীণ হয় এবং তার পরে প্রতি 140 তম অক্ষর নেয়।
জোনাথন অ্যালান

1

সিডি (টিআইও-তে জিসিসি) এমডি এক্সএফ দ্বারা

4195875

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

এটি দ্বিতীয় যুক্তিটিকে স্ট্রিং হিসাবে মুদ্রণের চেষ্টা করে, যা আমরা ইনপুটটিতে নির্ধারণ করতে পারি এমন একটি পয়েন্টার। এটি ঠিক তাই ঘটে যা লোকেশন 4195875মেমরিটিতে "Hello, World!\n"স্ট্রিং শুরু হয় ।

সংখ্যা যোগ করে নির্ধারণ করা হয়েছিল print("%p", "Hello, World!"); আগেprintf , হেক্সাডেসিমাল সংখ্যাটিকে দশমিকের মধ্যে রূপান্তর করে এবং এটি টিআইওর মাধ্যমে দেখিয়ে চেষ্টা করেছিলেন। তবে এটি আমাকে দেখিয়েছেprintf ফর্ম্যাট স্ট্রিং । কিছু নম্বর চেষ্টা করে আমি জানতে পেরেছি যে স্ট্রিংটি ফর্ম্যাট স্ট্রিংয়ের আগেই রয়েছে।

সুতরাং মেমরির ক্ষেত্রে এটি দেখতে (সি স্ট্রিং হিসাবে) দেখতে পাবেন:

Hello, World!\n\0%2$s\0

এর অর্থ হ'ল সংকলকটিতে থাকা কোনও আপডেটের ফলে সমাধানটি ভেঙে যেতে পারে।





1

পিএইচপি এল পি 154 দ্বারা

PDO,FETCH_CLASSTYPE

এটি অনলাইন চেষ্টা করুন!

(টিআইওর পিডিও ক্লাস সংজ্ঞায়িত নেই, সুতরাং উপরের ডেমোটি একটি কোডপ্যাড ব্যবহার করে যা এতে করে)

আরেকটি সমাধান:

ReflectionFunction,IS_DEPRECATED

এটি অনলাইন চেষ্টা করুন!


1

জাভাস্ক্রিপ্ট (ES6), ভয়েইল

81 টি চরিত্রের সীমা দেওয়া, এটি সম্ভবত উদ্দেশ্য সমাধান নয়

global.g = ()=>"Hello, World!";
var str = "g";

এটি অনলাইন চেষ্টা করুন!


Genious। বৈশ্বিক ম্যানিপুলেশন সহ একটি চর স্ট্রিং পাস। দেখে মনে হচ্ছে এটি সমাধানের উদ্দেশ্যে
Новиков

এটি উদ্দিষ্ট সমাধান নয় :(
ভোলাইল

এখন যেহেতু আমি এটি সম্পর্কে ভাবছি, আমি মনে করি না কোনও ফাংশনে ইনপুট পাস করার আগে এটি এমন অনেকগুলি জিনিস করার অনুমতি দেওয়া হয়েছিল, যদি না বলা হয় যে স্টাফগুলি ইনপুটটির অংশ হিসাবেও তৈরি করা যায় না (যেমন ফাংশনের অভ্যন্তরে যা হবে) ভিতরে মূল্যায়ন করা হয়), যেহেতু চ্যালেঞ্জটির জন্য আপনাকে এমন একটি ইনপুট তৈরি করতে হবে যা একটি সম্পূর্ণ প্রোগ্রাম নয়, 'হ্যালো, ওয়ার্ল্ড!' এর ফলস্বরূপ হবে। অন্যথায় সুন্দর কিছুই নিরাপদ হতে পারে না। সুতরাং আমি মনে করি এই ক্র্যাকটি অবৈধ হতে পারে?
ভোলাইল

@ ভয়েল এটি খুব ভাল হতে পারে। আমি মনে করি কাজটি পড়া ঠিক হবে যেন ইনপুটটি অবশ্যই একা দাঁড়িয়ে থাকে (যেমন বাহ্যিক সিস্টেমে কোনও পরিবর্তন ছাড়াই) - বিশেষত যদি এটি উদ্দিষ্ট সমাধান না হয় :) আপনার পুলিশকে ক্র্যাকড হিসাবে চিহ্নিত করার দরকার নেই।
বিরজোলাক্সিউ

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