“Hello, World!”(Cops의 스레드)


16

이것이 경찰의 실입니다. 강도의 실이 여기 있습니다 .

문제는 특정 입력으로 정확한 문자열 Hello, World!과 줄 바꿈을 인쇄하는 프로그램이나 함수를 작성하는 것 입니다. 대문자, 간격 및 문장 부호는 정확해야합니다.

표준 입력, 파일 또는 명령 줄 / 함수 인수를 통해 입력 할 수 있습니다. 출력은 반환 값, 파일에 쓰기 또는 표준 출력을 통해 제공 될 수 있습니다.

프로그램은 Hello, World!하나 이상의 입력에 대해 인쇄해야합니다 . 프로그램에 잘못된 입력 (예 : 인쇄하지 않는 입력)이 주어지면 Hello, World!충돌, 임의의 넌센스 인쇄, 척 노리스 호출 등 원하는 모든 작업을 수행 할 수 있습니다.

해시 알고리즘이나 유사한 입력 방법을 사용하지 않아야합니다.

제출은 TIO 에서 실행 가능하고 크랙 가능해야합니다 . TIO에서 실행 또는 크랙 할 수없는 제출은 허용되지만 다운로드 / 실행 지침을 포함하십시오.

일주일 후,이 도전은 향후 경찰 제출에 마감됩니다. 우승자는 1 주일 후에 코드가 깨지지 않은 가장 짧은 코드입니다 ( "이것은 코드가 아니라 도전"). 우승자는 2 주 후에 수락됩니다.

게시 후 일주일이 지난 후에는 답변을 안전한 것으로 표시하고 입력 내용을 (a > ! spoiler quote)로 표시하십시오 . 강도가 제출을 금하면 (주말 전에) 금이있는 것으로 표시하고 정지 입력을 표시하십시오 (a > ! spoiler quote).

크랙되지 않은 제출물을 찾고 계십니까?

fetch("https://api.stackexchange.com/2.2/questions/137742/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var td = document.createElement("td");var a = document.createElement("a");a.innerHTML = lang;a.href = link;td.appendChild(a);tr.appendChild(td);};add(ans.lang, ans.link);add(ans.owner.display_name, ans.owner.link);document.querySelector("tbody").appendChild(tr);});});
<html><body><h1>Uncracked Submissions</h1><table><thead><tr><th>Language</th><th>Author</th></tr></thead><tbody></tbody></table></body></html>


그러나 듀프가 아닌 매우 유사 합니다.
Post Rock Garf Hunter

13
샌드 박스에서 말했듯이, 여기에 답변이 게시 될 수 있기 때문에 중단 질문 의 복제본이라고 생각 하지만 무한 루프는 hello world를 인쇄하는 코드로 대체되었습니다. 나는 망치로 아직 투표하지 않지만, 이것이 속임수라고 확신합니다.
FryAmTheEggman

5
분명히 sha3그 범주에 속하지만, 그렇지 않으면 선을 어디에서 그리나요? 나는 mod 1e3또한 해시 함수이며, 지금까지 많은 과제가 해시 함수가 될 것이라고 주장합니다.이 과제는 기본적으로 그러한 요구가 있기 때문입니다.
flawr

1
지난 날에 본 답변을 바탕으로, 이것이 복제본이 아니라고 확신하는 것은 나타나지 않았습니다. 나는 지금 경찰 도전을 닫을 것입니다. 커뮤니티가 동의하지 않으면 다시 열 수 있으며 커뮤니티가 동의하면 강도 스레드를 닫을 수도 있습니다.
FryAmTheEggman

1
@Dopapp 이것은 이미 여기에서 논의되었으며 (일부 의견 삭제) 채팅 중입니다. 해당 도전 과제에서이 과제로 답변을 복사하여 붙여 넣거나 쉽게 포팅 할 수 없으므로 중복되지 않습니다.
MD XF

답변:


3

파이썬 3 191 186 바이트 (SAFE!)

이전 답변과 동일하지만 noob eval 문이 없으므로 누군가 내가 실제로 만든 문제를 해결해야합니다.

import sys
from numpy import *
e=enumerate
c='Hello, World!'
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(fromiter(sys.argv[1:],float))])+.01)]for n in[2*i+ord(n)for i,n in e(c)]]))

이제 올바른 매개 변수로 실행하십시오. python3 hw.py 1 2 3


편집 : 이전 버전의 "Hello, World!"에서 쉼표가 누락되었으며, 불필요한 버전이 있다는 것을 깨달았습니다.


편집 2 : 재미를 위해 동일한 코드의 거의 동일한 Pyth 버전 (47 바이트)이 있습니다.

KEJ"Hello, World!"jkm@J.Rs.e*b.t*dk1K0.e+*2kCbJ

입력은 다음 stdin과 같은 인수 목록 형식에서 가져옵니다.[1,2,3]

Pthyon3 버전을 크랙하면 Pyth를 모르더라도 Pyth 버전도 크랙하기 때문에 별도의 답변을 게시 할 필요가 없습니다.


대답:

python3 hw.py 10.72800138 13.23008796 19.30176276 16.13233012 18.10716041 0.98306644 8.18257475 19.20292132 10.99316856 -2.15745591 6.01351144 5.45443094 10.41260889

코드 설명 :

''.join()문자열에서 문자 배열로 hello world 문자열을 만듭니다 "Hello, World!". 해당 지수가있을 때 퍼즐이 해결됩니다 [0,1,2,3,4,5,6,7,8,9,10,11,12]. 각 색인은 입력 및 명령 행에 제공된 상수에서 계산됩니다. 입력은 하드 코딩 된 시리즈 [2*i+ord(c) for i,c in enumerate('Hello, World!')]입니다. 입력, 상수 및 출력 (표시)과 관련된 함수는 다음과 같습니다 sum([c*cos(x*i) for i,c in enumerate(CONSTANTS)]). 이는 모델에 데이터를 맞추려는 고전적인 모델링 문제입니다.

파이썬으로 솔루션에 도착 :

from scipy import optimize
x = [2*i+ord(c) for i,c in eumerate('Hello, World!')]
y = [0,1,2,3,4,5,6,7,8,9,10,11,12].
# make your function: 13 terms means we can achieve 13 exact outputs
def f(x,a,b,c,d,e,f,g,h,i,j,k,l,m):
    return sum([c*cos(x*i) for i,c in enumerate([a,b,c,d,e,f,g,h,i,j,k,l,m])])
# curve fit
ans,_ = optimize.curve_fit(f,x,y)
# check answer
[round(f(a,*ans),0) for a in x] # should be 0-12


2
모르는 경우에 대비 literal_eval()하여 ast모듈 에서 표현식을 안전하게 평가하는 데 사용할 수 있으므로 print(코드 삽입 문제가 작동하지 않습니다. 아마도 여기에는 관련이 없지만 언급 할 것이라고 생각했습니다.
Esolanging 과일

2
이것이 인쇄 할 수 Hello, World!있습니까? 아직 크랙되지는 않았지만 쉼표가 누락 된 것 같습니다 (결합 루프에서 12 회 반복)
Uriel

아, 맞습니다. 쉼표가 없습니다. 이제 바로 잡겠습니다.
rexroni

@ Challenger5 감사합니다, 나는 그것을 몰랐습니다.
rexroni

12

TeX-38 바이트 깨짐 (ish)

짧은 코드 조각을 작성하는 것에 대해 TeX를 아는 사람이 없다고 상상할 수 없기 때문에 이것은 가치가 있습니다.

\read16to\x\message{Hello, World!}\bye

이를 실행하려면 대화식 모드를 허용하는 TeX 형식을 확보해야합니다. 이것을 파일에 저장하고 TeX (또는 pdfTeX, XeTeX 등)를 실행하십시오.

편집 : 나는 현재이 반 균열을 고려하고 있습니다. 의도 된 솔루션은 stdin의 입력을 사용하지만 프로그램 호출 방식의 TeXnically 입력은 유효합니다. 누군가가 의도 한 방법을 얻는다면 더 악의적 인 TeX 답변을 추가 할 것입니다.

의도 된 해결책은 다음과 같습니다.

^ C Ia-첫 번째 키는 control-c이며 오류가 발생합니다. 그런 다음 I (대문자 i)를 눌러 명령을 입력하십시오. 그런 다음 a를 입력하십시오 (또는 조판 할 다른 것). 일반적으로 stdout으로 인쇄 된 메시지 뒤에는 공백이 있고 ')'가옵니다. 무언가를 조판하면 글꼴 정보가 메시지 다음에 출력됩니다. 즉, 줄 바꿈이 발생하고 ')'가 나중에 이동합니다.

그럴 수도 있지만 여전히 게임 규칙 안에 있어야합니다.


PPCG에 오신 것을 환영합니다. 좋은 첫 번째 대답
Евгений Новиков

tex \ Hello, world!\bye(23 바이트) 를 사용하는 것만으로 충분하지 않습니까?
베르너

사용자 입력을 허용하는 @Werner?
Gold Man

이것은 실제로 금이되어야 하는가? : o
Felix Palmen

3
texnically오 이런.
MD XF

7

> <> , 538 바이트, rexroni에 의해 크랙 됨

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a
v   "        "       "
   "l"      "o"  /  "e"
v   "        "     " "
      "   /       "l"/
v    "!"           "
 //   " " "      \
v     \"d"o"   " "    "
      " " "   "o"r"  "!"
v"   "H"       " "    "
"l"   ""
""    "r" "         "
    \  " "l"       "d"  "
v   "     "      "  "  "H"
   "e"         /","     "
v " " "     "  " "
 "e" "W"  /"d""l"
v " " "     "  "      "
   "H"               "!"
v   "                 "
                        v
>>"Hello world?"       >o<
                        ^

온라인으로 해보 거나 물고기 놀이터 를 이용하고 싶을 수도 있습니다 .

처음 세 줄은 STDIN에서 문자열로 읽고 문자 " >/v>v\v</>"를 아래의 미로 에 넣는 좌표로 mod 26을 좌표로 사용 합니다. 의도 된 솔루션은 문자 A–Z로만 구성된 20 자 문자열입니다 (물론 원하는 것을 사용할 수는 있지만).

해결책:

의도 된 입력은 OCEANICWHITETIPSHARK(물고기입니다!) 미로를 통과하는 경로는 다음과 같습니다.

v
\">/v>v\v</>"
/!?lp%*2di%*2di
a                |  |
v   "        "   |  |"
| v"l"______"o"__/  "e"
v | "        "     " "
| |   "   /       "l"/
v |  "!"           "|
|//   " " "    v_\  |
v|    \"d"o"   " "  | "
||    " " "   "o"r" |"!"
v"   "H"       " "  | "
"l"___""_______ _/__/_____
""    "r" "    | |  "
|>__\  " "l"   | | "d"  "
v   "     "    | "  "  "H"
|  "e"v________/"," |   "
v " " "     "  " "  |
|"e"|"W"  /"d""l"|  |
v " " "     "  " |  | "
<  "H">__________ __\"!"__
v   "            |  | "
    >____________ __ ___v
>>"Hello world?" |  |  >o<
                 |  |   ^


깨진! 영원히 나를 데려 갔다.
rexroni

3
나는 대답이 단어일지도 모른다고 생각했지만, 그것을 해독하려는 시도를하지 않았다. 나는 더욱 감명 받았다.
rexroni

6

옥타브, 59 바이트, 금이 간

이것은 Octave 4.2.0에서 작동합니다. 모든 버전과의 호환성을 보장 할 수는 없습니다.

i=input('');printf('%c',i*~all(isequal(i,'Hello, World!')))

참고 : 공백이나 줄 바꿈은 인쇄되지 않습니다. 이것은 다음과 같습니다

enter image description here

"입력이 'Hello, World!'가 아니면 입력 문자열을 인쇄합니다.이 경우 아무 것도 인쇄하지 않아야합니다 (또는 null 문자).


문자열 또는 문자를%c 의미 하는지 잘 모르겠습니다. ... 어쩌면 뭔가 숨기고 있습니까? 또한 *~나를 조금
수상

확실하지 않지만 금이 간 습니까?
ბიმო

@BruceForte는 출력이 끝날 때 null 바이트를 인쇄합니다. 그것이 유효한지 확실하지 않습니다 ... link
MD XF

1
의도 된 솔루션이 이런 종류의 것이라고 확신합니다 .
Jonathan Allan

1
@BruceForte, 아니. 없습니다 \n. 질문 텍스트에 " 선택적 후행 줄 바꿈 "이 있다고 생각했습니다 .
Stewie Griffin


5

Cracked , 그러나 이것이 의도 한 해결책이 아니라면 약간의 속임수처럼 느껴집니다.
Dennis

@Dennis 의도 된 솔루션은 다음과 같습니다 ['Hello,' 1 'World!']. 왜 부정 행위? :-(에 대한 문서 / 도움말에 D따르면 32 미만의 대부분의 입력 문자는 공백으로 바뀝니다.
Luis Mendo

나는 LF 줄 바꿈을 CR + LF 줄 바꿈으로 바꾸고 속임수를 쓰려고했습니다.
Dennis

@ 데니스 아, 알겠습니다. 글쎄, 나도 그것도 완벽하게 유효하다고 생각합니다
Luis Mendo

5

분해 , 23 바이트, 금이 간

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

더오고, 이것은 시작에 불과합니다.> :)

온라인으로 사용해보십시오!

탐색기 설명

이 프로그램에는 네 명의 탐험가가 있습니다. 대기 ( >)가 올바르게 작동하는지 확실하지 않습니다 .

@_?

사용자 입력을 읽고 ( ?), 테이프를 쓰고 확장합니다 @( _).

&4_-j>5

4 틱 ( 4)의 경우 ( ) 19 ( )를 빼서 테이프 ( &)를 아래쪽으로 ( _) 수정하고 5 ( 5) 만큼 점프합니다 .-j

&f^~c>

16 틱 ( f)의 경우 물결 ( ) 에서 테이프 ( &)를 위쪽 ( )으로 수정하여 영향 없음, +13, 영향 없음 및 -13 ( )을 번갈아 변경 합니다.^~c

&6\|4>7

6 틱 ( 6)의 경우 테이프 &를 양 방향 ( |) 으로 수정하고 매번 \4 ( 4) 씩 감소 하고 7 ( 7) 씩 점프하십시오 . 감소는 처음 4를 뺀 다음 두 번째 8을 뺀다는 것을 의미합니다.


3
Cracked but feel free to give an explanation of the goings on :)
Jonathan Allan

@JonathanAllan explanation added, sorry I took so long
Stephen

5

JavaScript (ES6), 173 169 163 150 151 148 143 bytes (Cracked)

Let's have something totally different... and totally evil.

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))

Usage: f(something) // returns 'Hello, World!'

Try it online!




Nice! That's a real crack.
Voile

This was really tough to crack. Good job!
DanTheMan

It's directly taken from one of the puzzles I've created on elsewhere :) (I'll let people figure out where I posted the original puzzle.)
Voile

4

C# (.NET Core), 130 152 bytes, CRACKED

+22 bytes, I forgot about trailing newline... Program works the same as before, the newline is added to any output.

a=>a.Distinct().Select((x,y)=>a.Reverse().Skip(y).First()*x%255).Take(a.First()-33).Concat(new int[]{10}).Select(x=>(char)x).ToArray()

Try it online!

Byte count also includes

using System.Linq;

For a start I went for something not too crazy. It can has multiple answers.

The "official" crack:

. !$0%>5&8'#?)S*TuE[MRX`+9



4

tcc, 89 bytes, cracked by Dennis

#!/usr/bin/tcc -run
#include <stdio.h>

int main()
{
    puts("\n");
}
#include "/dev/stdin"

This is particularly evil due to tcc's dynamic resolution. Lots of functions are predeclared and trying to overwrite them simply doesn't work.


Could you create a working TIO link for people to play with? (this is no doubt incomplete - maybe it needs compiler flags or something, I have no idea) TBH I don't even know how this is meant to take input...?
Jonathan Allan

Tio's tcc is not going to work. It doesn't get that this must be used as tcc -run rather than a separate compile and link phase.
Joshua

Maybe it's runnable via a shell through there then, bash is available (I know very little regarding either tcc or bash though). Otherwise I think you should give some detailed instructions to get people going (unless my personal lack of knowledge is the issue here - as I said I don't even know how your code gets any input, all I see is a puts and I thought that outputs.)
Jonathan Allan

Almost have a crack but I'm on mobile and mprotect is being a butt.
MD XF



4

brainfuck, 7 bytes cracked

,+[.,+]

Try it online!

Good luck. (doesn't work with every BF interpreter


Does your input work with any BF interpreter, including ones with different tape lengths? Does your input work locally, and not just on TIO?
Stephen

@StepHen any length of type afaik
Christopher


1
Does your intended solution work on TIO?
totallyhuman

@totallyhuman thanks, edited the comment so it looks pro. I don't know how to put non-printable input on TIO. I passed input on stdin from a C program with a single printf statement.
rexroni

3

JavaScript (ES6), 102 bytes (Cracked)

The previous version has a massive cheese. Let's try this again...

f=s=>{let r='',i=0;while(i<13)r+=!s[i][0]||s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Try it online!

Author solution:

new Proxy({v:Array(13).fill(0)},{get:(o,p)=>['a','','Hello, World!'[p]][o.v[p]++]})

Usage:

var p=new Proxy({v:Array(13).fill(0)},{get:(o,p)=>['a','','Hello, World!'[p]][o.v[p]++]}) console.log(f(p))



3

Cubically, 159 bytes (Cracked)

+53$!7@6:2/1+551$?7@6:5+52$!7@66:3/1+552$?7@6:5+3/1+4$!7@6:5/1+3$?7@6:5+1/1+54$!7@6:3/1+552$?7@6:5+1/1+552$?7@6:5+52$!7@6:1/1+551$?7@6:5+1/1+3$!7@6:1/1+1$(@6)7

This will be pretty easy to those who are comfortable with Cubically. Try it online!


1
Is anybody comfortable with Cubically? :P
totallyhuman

@totallyhuman The language is actually pretty simple once you get used to it, and it's fun to use!
TehPers

@totallyhuman It looks like there aren't any turning instructions, so this seems like mostly just math with multiples of 9. Very, very convoluted math.
Robert Fraser

Cracked? I think I got the intended input, but it doesn't quite work, but I'm pretty sure it fails due to an interpreter bug. See my explanation in crack post. If I am right, then you were right that it was actually darn easy : )
rexroni

3

6502 machine code (C64), 51 53 bytes (Cracked)

00 C0                     .WORD $C000     ; load address
20 FD AE                  JSR $AEFD
20 EB B7                  JSR $B7EB
8A                        TXA
0A                        ASL A
45 14                     EOR $14
8D 21 C0                  STA $C021
45 15                     EOR $15
85 15                     STA $15
49 E5                     EOR #$E5
85 14                     STA $14
8E 18 D0                  STX $D018
A0 00                     LDY #$00
B1 14                     LDA ($14),Y
20 D2 FF                  JSR $FFD2
C8                        INY
C0 0E                     CPY #$0E
D0 F6                     BNE *-8
60                        RTS
C8 45 4C 4C 4F 2C 20 D7   .BYTE "Hello, W"
4F 52 4C 44 21 0D         .BYTE "orld!", $D

Online demo

Usage: SYS49152,[x],[n], where x is a 16bit unsigned integer and n is an 8bit unsigned integer.

Input is 52768 and 23 (SYS49152,52768,23)

The second parameter is directly written to D018, a control register of the VIC-II graphics chip. Using a suitable reference, you can deduce what to write there for setting lowercase mode without changing other modes and the address of the screen memory: $17, or decimal 23. With that, you can follow the arithmetics in the code, so the first parameter ends up with the correct string address in $14/$15 (little-endian). A more in-depth explanation can be found in the crack.

Screenshot

Invoked with wrong values, a crash is very likely.

For cracking, you might want to run it in a local installation of vice, so here's a BASIC loader to paste into the emulator (RUN it to place the program at $C000):

0fOa=49152to49202:rEb:pOa,b:nE
1dA32,253,174,32,235,183,138,10,69,20,141,33,192,69,21,133,21,73,229,133,20,142
2dA24,208,160,0,177,20,32,210,255,200,192,255,208,246,96,200,69,76,76,79,44,32
3dA215,79,82,76,68,33,13

Update: Added two bytes for the load address to make this an executable C64 PRG file in response to the discussion on meta


Are you sure you need to call the comma checking function at the beginning? I'm under the impression that b7eb does that check, too.
A Gold Man

b7eb calls aefd, but only after calling ad8a (parse number as float (!)(wtf)(MS)) and b7f7 (convert that float to 16bit unsigned int) -- so I have to first call aefd myself for consuming the first comma.
Felix Palmen

Cracked! Sweet sweet vengeance!
A Gold Man

@AGoldMan finally edited my post. Again, well done! Maybe I can come up with another C64 code that's a bit harder to crack (without being unfair), not sure yet :)
Felix Palmen

2

Python 2, 63 bytes, cracked

Just to get the ball rolling...

#coding:rot13
cevag vachg()==h'Hello, World!'naq'Hello, World!'

Try it online!


1
Is it generally accepted for the OP to crack submissions?
MD XF


3
That's interesting... I hadn't realized any "normal" language supports coding in ROT13 o_o
ETHproductions

13
@Arnauld And you're claiming PHP is a normal language?
NoOneIsHere

1
@NoOneIsHere Er... no. My bad. :-P
Arnauld



2

Jelly, 11 bytes (cracked)

sLƽ$Xṙ5O½Ọ

Try it online!

Intended input:

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



@HyperNeutrino Heh that was sneaky, given it lived for over half an hour. ;)
Erik the Outgolfer

Heh that's cuz I only saw it 10 minutes before seeing it ;P
HyperNeutrino



2

Python3, 192 bytes Cracked I guess

from sys import *
from numpy import *
e=enumerate
c='Hello World!'
w=eval(argv[1])
x=[ord(n)+2*i for i,n in e(c)]
print(''.join([c[int(sum([c*cos(n*i)for i,c in e(w)])+.01)]for i,n in e(x)]))

The text it reads is the first program argument: python3 hw.py '[1,2,3]'

Don't be lame and try to put a print("Hello World!") statement as the argument... it prints an error afterwards anyways (at least on the command line), so I don't think that should count. (Edit: somebody did exactly that)


4
Cracked. Lame crack, but unrestricted eval must be punished =)
Sisyphus


2

Lua 5.1, 44 bytes (Cracked)

s=...loadstring(#s>4+#s:gsub("%l","")or s)()

Note that Lua 5.1 is a different language than Lua 5.2 or Lua 5.3. "Try it online" doesn't have Lua 5.1. You can check your Lua version by running print(_VERSION). (There should be a solution in any implementation that uses PUC-Rio's Lua 5.1 core.)

As a test harness, you can use something like this:

function test(...)s=...loadstring(#s>4+#s:gsub("%l","")or s)()end

test[[
This is my input!
It can have multiple lines!
]]

Test harness on repl.it


2

C (GCC on TIO), 84 bytes golfed (Cracked)

#include<stdio.h>
main(x){scanf("%d",&x);printf("%2$s","Hello, World!\n",(void*)x);}

Here's an ungolfed version that works too:

#include <stdio.h>
int main(void)
{
    int x;
    scanf("%d",&x);

    printf("%2$s","Hello, World!\n",(void*)x);
}

2

JavaScript (ES6), 92 bytes (Cracked)

This simple string copy function seems to be really resisting you to copy any strings resembling Hello, World!...

f=s=>{let r='',i=0;while(i<13)r+=s[i]=='Hello, World!'[i]||s[i++];return r};Object.freeze(f)

Try it online!





2

JavaScript (ES6) 107 Bytes [Thanks Евгений Новиков] (Cracked)

i=r=>{for(e="",n=0;r.length>n;o=r.charCodeAt(++n),e+=String.fromCharCode(((3^o^19)<<1^15^13)<<1));return e}

Call on the i function using a string.

The console.log... is for testing purposes.

Try It Online!


Welcome to PPCG! You can save 8 bytes: (1) remove var, (2) () from one arrow-function argument, (3) replace return to eval("") (4) delete ; at the end. 110 bytes solution: pastebin.com/qwdm7fT7 Good luck
Евгений Новиков

Finally got 50 rep, so: Cracked
Voile
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.