Generator für syntaktisch korrekten Python Code

vorhergehende Artikel in: Java Software-Test Python
01.11.2024

Nachdem es nun bereits seit einiger Zeit ein wenig stiller um meine diversen Generatoren für Testdaten geworden ist, habe ich über den Feiertag in Thüringen einen neuen begonnen.

Es hat mich nämlich nun bereits seit Jahren extrem genervt, dass immer wieder Leute behaupten, ChatGPT und ähnliche könnten Code schreiben. Und wegen aktueller Berichte und wegen der gerechtfertigten Klagen und Bedenken, die mit ihrer Kreativität Content schaffen und deren Rechte daran von irgendwelchen Tech-Bros mit Füßen getreten werden kam mir die Idee, einen Algorithmus zu schaffen, der (wieder einmal) zeigt, dass LLMs nichts anderes sind als Markov-Ketten. Ich baute also eine, die syntaktisch korrekten Python-Code erzeugt, der aber absolut nichts Sinnvolles tut.

Wer möchte, könnte diesen Code benutzen, um lustige Honeypots in eigenen Projekten einzubauen.

Der Generator unterstützt noch nicht alle Features der Sprache, aber bereits mit dem Wenigen, das existiert können sich eindrucksvolle, komplex wirkende Programe generieren lassen. Im Einzelnen wird derzeit unterstützt:

  • Methoden,
  • String-Variablen,
  • numerische Variablen,
  • Verzweigungen
  • Doc Strings
  • Exception-Handling
  • Logging
Beispiel gefällig? Bittesehr!

import logging

logger = logging.getLogger(__name__)

def SYQ(): """ A widow with a shotgun got sick while airborne.

t neque nonor et imper ned libidig met, consectetur adipiscing elit, sed ut labore et dolore magna aliquam makes one wonder who would ever read this stuff? Bis nostrud exercitation ullam mmodo consequet. Duis aute in voluptate velit esse cillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent luptatum delenit aigue excepteur sint occae. Et harumd dereud facilis est er expedit distinct. Nam libe soluta nobis eligent optio est congue nihil impedit doming id Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor incidunt et labore et dolore magna aliquam. Ut enim ad minim veniam, quis nostrud exerc. Irure dolor in reprehend incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,. """ vZWAvynxERq = -6.927399347755548 try: o__jWIuymm = -19.53302599632299 except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly n = '4080617641584061' if n=='4124295853826351': yxiCOE8JU = 12.422621866870402 try: Dh_ = '4510186634814802' if Dh_=='4358917715660523': EY9LQ9OD = '4440563581772149' R6L7kCZvpge = '4394561185784813' try: HH9QGz8Vh = -3.716908793795957 print('Altwarnedruf') except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly if R6L7kCZvpge=='4628573196260897': gweIsoS8kLs68_ = 0.4713433252296999 print('St. Widderbusch') try: ku9gaH2LzGFHCEH = -4.905748018180749 DKYiDfT = '49733293007141010' except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly print('Kleinkrimhagen') print('Bad Treuenbrunsdorf') print('Oberschwerloh am Stein') except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly mcpZRDl8foWw_o0 = '4591638549974164' if yxiCOE8JU==-0.1784484560004003: fM0 = -7.664559649107893 print('Bad Neuherrenwinden') pass def ep_Sx(): """ A mugger with three dads saves four from drowning while terribly anxious.

ui officia deserunt mollit anim id est laborum Et harumd und lookum like Greek to me, dereud facilis est er expedit distinct. Nam liber te conscient to factor tum poen legum odioque civiuda. Et tam neque pecun modut est neque nonor et imper ned libidig met, consectetur adipiscing elit, sed ut labore et dolore magna aliquam makes one wonder who would ever read this stuff? Bis nostrud exercitation ullam mmodo consequet. Duis aute in voluptate velit esse cillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent luptatum delenit aigue excepteur sint occae. Et harumd dereud facilis est er expedit distinct. Nam libe soluta nobis eligent optio est congue nihil impedit doming id Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor incidunt et labore et dolore magna aliquam. Ut enim ad minim veniam, quis nostrud exerc. Irure dolor in reprehend incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamc. """ try: S7EarJ = 5.777602381118022 S = -4.124744005132052 except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly C = '4084565299210024' SYQ() print('Großnaunhausen am Stein') pass def s2xN(): """ A cat pushed out by society learns to play the harmonica while in mourning.

beynocguon doas nog apoply su trenz ucu hugh rasoluguon monugor or trenz ucugwo jag scannar. Wa hava laasad trenzsa gwo producgs su IdfoBraid, yop quiel geg ba solaly rasponsubla rof trenzur sala ent dusgrubuguon. Offoctivo immoriatoly, hawrgasi pwicos asi sirucor.Thas sirutciun applios tyu thuso itoms ghuso pwicos gosi sirucor in mixent gosi sirucor ic mixent ples cak ontisi sowios uf Zerm hawr rwivos. Unte af phen neige pheings atoot Prexs eis phat eit sakem eit vory gast te Plok peish ba useing phen roxas. Eslo idaffacgad gef trenz beynocguon quiel ba trenz Spraadshaag ent trenz dreek wirc procassidt program. Cak pw. """ try: fO_mL = '4701566400318667' if fO_mL=='4620954712534387': B209OPRQtBE = -11.473830992427978 ep_Sx() except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly print('St. Niederfriedrichbach') SYQ() pass def ZI4de(): """ A widow with three dads drinks everything except water at a church.

a ent dusgrubuguon. Offoctivo immoriatoly, hawrgasi pwicos asi sirucor.Thas sirutciun applios tyu thuso itoms ghuso pwicos gosi sirucor in mixent gosi sirucor ic mixent ples cak ontisi sowios uf Zerm hawr rwivos. Unte af phen neige pheings atoot Prexs eis phat eit sakem eit vory gast te Plok peish ba useing phen roxas. Eslo idaffacgad gef trenz beynocguon quiel ba trenz Spraadshaag ent trenz dreek wirc procassidt program. Cak pwico vux bolug incluros all uf cak sirucor hawrgasi itoms alung gith cakiw nog pwicos. Plloaso mako nuto uf cakso. """ try: EY = 9.080660711501897 FLu7pZ4nKmQUYmA = '4710976069786741' if EY==3.3674424490034975: c = -4.2952972237477365 _vOnxzePs1Wx = '4928957032983597' try: yp3Mjeeg = -9.251313036339786 if yp3Mjeeg==8.809147191801362: IGXefYNT = -1.7257167681082164 vF4oKx4K__ = '4765794758991215' xipE0IibR = '4446684120956755' except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly if _vOnxzePs1Wx=='4748878388939934': x2DYZTCVyZ1b = 1.997093060990938 try: QjhBXn = 6.51896153203322 QNK47Y_rDf7kSH = 32.77000180188362 except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly print('Nieder-Breitenwegen') KRxwosBoJ6d7Q = 4.073740748600423 hHJTaBvSM = -6.431853182959214 s2xN() print('Über-Havelstadt') except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly pass def khW8I(): """ A proud veteran with two heads changes his views - here's how.

m neque pecun modut est neque nonor et imper ned libidig met, consectetur adipiscing elit, sed ut labore et dolore magna aliquam makes one wonder who would ever read this stuff? Bis nostrud exercitation ullam mmodo consequet. Duis aute in voluptate velit esse cillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent luptatum delenit aigue excepteur sint occae. Et harumd dereud facilis est er expedit distinct. Nam libe soluta nobis eligent optio est congue nihil impedit doming id Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod tempor incidunt et labore et dolore magna ali. """ print('Treuenborslitz') gACXaCubArP4K = -15.683074866294628 if gACXaCubArP4K==-12.317122181768438: n9gsJHkFOOvvvPS = '48836434214619810' SYQ() try: bUZT_hjKt5 = '4655804380892195' WJ = '4309042685674469' except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly ZI4de() pass def KwAjtg(): """ A millionnaire with two hearts lives without human contact at the bus station.

a aliquam. Ut enim ad minim veniam, quis nostrud exerc. Irure dolor in reprehend incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse molestaie cillum. Tia non ob ea soluad incommod quae egen ium improb fugiend. Officia deserunt mollit anim id est laborum Et harumd dereud facilis est er ex. """ try: BMncmW2 = -21.763562518626326 A = -10.527986712338944 P = '4256858899008951' ZKh = -3.550443245242551 except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly pass def TseM_yS(): """ A stray cat shunned by society drinks everything except water while under ground.

ptate velit esse cillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent. Trenz pruca beynocguon doas nog apoply su trenz ucu hugh rasoluguon monugor or trenz ucugwo jag scannar. Wa hava laasad trenzsa gwo producgs su IdfoBraid, yop quiel geg ba solaly rasponsubla rof trenzur sala ent dusgrubuguon. Offoctivo immori. """ SYGaa = -20.333913650107128 Fk8q4Pdhjky1C = '4893685323657635' try: swGkKpizK = '4733158951953605' N_uCM9XC = '4655287046245943' except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly pass def vjZu3D8rqMrcHN(): """ A proud veteran with a flashlight burns down neighbors house while airborne.

legum odioque civiuda. Et tam neque pecun modut est neque nonor et imper ned libidig met, consectetur adipiscing elit, sed ut labore et dolore magna aliquam makes one wonder who would ever read this stuff? Bis nostrud exercitation ullam mmodo consequet. Duis aute in voluptate velit esse cillum dolore eu fugiat nulla pariatur. At vver eos et accusam dignissum qui blandit est praesent luptatum delenit aigue excepteur sint occae. Et harumd dereud facilis est er expedit distinct. Nam libe soluta nobis eligent optio est congue nihil impedit doming id Lorem ipsum dolor sit amet, consectetur adipiscing elit, set eiusmod. """ UuhuCF7ZWfghZwl = '4517579199637134' try: _JGTZV_V = '46276459975940210' TseM_yS() except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly if UuhuCF7ZWfghZwl=='4566066595142471': z37WUEwet = '4083662250767968' s2xN() try: APpY6Ot7F = '4878333208751533' hUFweYXh5X9Ykb = '40443911477142510' except Exception as inst: print(type(inst)) # the exception type print(inst.args) # arguments stored in .args print(inst) # __str__ allows args to be printed directly KwAjtg() print('St. Neuosterheide') print('Über-Schadein') pass def function_main(): s2xN() pass logger.warning("before __name__ guard") if __name__ == '__main__': function_main() logger.warning("after __name__ guard")

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Testdatengeneratoren als Microservices mit Docker

    02.11.2019

    Ich habe die verschiedenen Testdatengeneratoren mittels Microservices über HTTP zugänglich gemacht, um sie unabhängig von der verwendeten Programmiersprache und/ oder Version (Java 11) verwenden zu können.

    Weiterlesen...

Neueste Artikel

  • Gif-Animationen in Java

    Nachdem ich neulich auf einen sehr interessanten Link gestoßen war, habe ich mich dafür interessiert, ob es möglich wäre - und falls ja: wie einfach - GIF-Animationen aus Java heraus zu erzeugen - und zwar mit Bordmitelln und ohne Zuhilfenahme externer Biblioheken

    Weiterlesen...
  • LinkCollections 2024 VIII

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • ethersyncj - Java Bindings für Ethersync

    Ich wurde über einen Post auf Mastodon auf ein Projekt aufmerksam, das mir so interessant erschien, dass ich daraus meine neueste Fingerübung machte...

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.