From 7926b309e20a4575c954a7df16027a4b2d195aeb Mon Sep 17 00:00:00 2001 From: Roman Hergenreder Date: Sun, 22 Dec 2019 12:03:07 +0100 Subject: [PATCH] Progress --- Day 18/dance.deb | Bin 0 -> 4962 bytes Day 18/dance/control.tar.gz | Bin 0 -> 294 bytes Day 18/dance/control/control | 10 ++ Day 18/dance/data.tar.lzma | Bin 0 -> 4476 bytes Day 18/dance/data/usr/bin/dance | Bin 0 -> 197728 bytes Day 18/dance/data/usr/bin/dance.id0 | Bin 0 -> 139264 bytes Day 18/dance/data/usr/bin/dance.id1 | Bin 0 -> 147456 bytes Day 18/dance/data/usr/bin/dance.nam | Bin 0 -> 16384 bytes Day 18/dance/data/usr/bin/dance.til | Bin 0 -> 1938 bytes Day 18/dance/debian-binary | 1 + Day 18/decode.py | 36 +++++++ Day 19/decode.py | 2 +- Day 21/decode.py | 5 +- Day 22/thecommand7.hex | 145 ++++++++++++++++++++++++++++ 14 files changed, 196 insertions(+), 3 deletions(-) create mode 100644 Day 18/dance.deb create mode 100644 Day 18/dance/control.tar.gz create mode 100644 Day 18/dance/control/control create mode 100644 Day 18/dance/data.tar.lzma create mode 100755 Day 18/dance/data/usr/bin/dance create mode 100644 Day 18/dance/data/usr/bin/dance.id0 create mode 100644 Day 18/dance/data/usr/bin/dance.id1 create mode 100644 Day 18/dance/data/usr/bin/dance.nam create mode 100644 Day 18/dance/data/usr/bin/dance.til create mode 100644 Day 18/dance/debian-binary create mode 100644 Day 18/decode.py create mode 100644 Day 22/thecommand7.hex diff --git a/Day 18/dance.deb b/Day 18/dance.deb new file mode 100644 index 0000000000000000000000000000000000000000..db3537af013d32acb74bcefb37fe18694c2677e9 GIT binary patch literal 4962 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 literal 0 HcmV?d00001 diff --git a/Day 18/dance/control/control b/Day 18/dance/control/control new file mode 100644 index 0000000..4600d83 --- /dev/null +++ b/Day 18/dance/control/control @@ -0,0 +1,10 @@ +Package: com.hacking-lab.dance +Name: dance +Architecture: iphoneos-arm +Description: An awesome tool of some sort!! +Maintainer: hardlock +Author: hardlock +Section: System +Tag: role::hacker +Version: 0.0.1 +Installed-Size: 196 diff --git a/Day 18/dance/data.tar.lzma b/Day 18/dance/data.tar.lzma new file mode 100644 index 0000000000000000000000000000000000000000..8021dbfc1e3bd20dce03f6de706f65ef6a7cbb53 GIT binary patch literal 4476 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 literal 0 HcmV?d00001 diff --git a/Day 18/dance/data/usr/bin/dance.id1 b/Day 18/dance/data/usr/bin/dance.id1 new file mode 100644 index 0000000000000000000000000000000000000000..7f1dbf91badf024f78a7249fed5dc22116d85299 GIT binary patch literal 147456 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 lm**}DGv-DPWGc 0: + v4 = -567824675630276478 + v5 = unk_100007F50 + v6 = len(input) + v7 = input + v8 = 0 + v9 = [0] * 64 + + while True: + + if v8 == 0: + dance_block(v9, v5, v4, 0) + + v7[v8] = ord(v7[v8]) ^ v9[0] + v8 = v8 + 1 + if v6 == v8: + break + + return v7 + +input = ["0"] * 32 +output = dance(input) +print(output) diff --git a/Day 19/decode.py b/Day 19/decode.py index fade503..43da027 100644 --- a/Day 19/decode.py +++ b/Day 19/decode.py @@ -26,7 +26,7 @@ initialSize = len(unicodes) print("Loaded %d unicodes" % initialSize) def tryUnicode(unicode): - process = subprocess.Popen(["./test"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) + process = subprocess.Popen(["./main"], stdin=subprocess.PIPE, stdout=subprocess.PIPE) process.stdin.write(unicode) process.stdin.write(b'\n') process.stdin.flush() diff --git a/Day 21/decode.py b/Day 21/decode.py index 94a51a9..5de815b 100644 --- a/Day 21/decode.py +++ b/Day 21/decode.py @@ -29,6 +29,7 @@ def tryPassword(pw): try: decrypted = cipher.decrypt(encrypted) print(decrypted.decode('utf-8')) + exit(0) return True except Exception as e: print(str(e)) @@ -37,8 +38,8 @@ def tryPassword(pw): def doWork(): while not PASSWORD_QUEUE.empty(): pw = PASSWORD_QUEUE.get() - if tryPassword(pw): - print("Done?") + tryPassword(pw) + with open("/usr/share/wordlists/SecLists/Passwords/Leaked-Databases/rockyou.txt", "rb") as f: for pw in f.readlines(): diff --git a/Day 22/thecommand7.hex b/Day 22/thecommand7.hex new file mode 100644 index 0000000..95db97f --- /dev/null +++ b/Day 22/thecommand7.hex @@ -0,0 +1,145 @@ +:100000000C9435000C945D000C945D000C945D0024 +:100010000C945D000C945D000C945D000C945D00EC +:100020000C945D000C945D000C945D000C945D00DC +:100030000C945D000C945D000C945D000C945D00CC +:100040000C94EA010C945D000C945A020C94340256 +:100050000C945D000C945D000C945D000C945D00AC +:100060000C945D000C945D00A60311241FBECFEF1D +:10007000D8E0DEBFCDBF11E0A0E0B1E0EEE9F8E0EE +:1000800002C005900D92A835B107D9F721E0A8E587 +:10009000B1E001C01D92AE3FB207E1F710E0C5E349 +:1000A000D0E004C02197FE010E944704C433D10769 +:1000B000C9F70E94D3030C944D040C9400000F93D5 +:1000C0001F93CF93DF93EC01E881F9810190F081D8 +:1000D000E02D09958C01E881F9810280F381E02D02 +:1000E00042E050E065E571E0CE010995800F911F77 +:1000F000DF91CF911F910F910895AF92BF92CF9250 +:10010000DF92EF92FF920F931F93CF93DF936C01D7 +:100110007B018B01040F151FEB015E01AE18BF08B8 +:10012000C017D10759F06991D601ED91FC9101906A +:10013000F081E02DC6010995892B79F7C501DF9182 +:10014000CF911F910F91FF90EF90DF90CF90BF90D4 +:10015000AF900895FC01538D448D252F30E0842FFE +:1001600090E0821B930B541710F0CF9608950197DF +:100170000895FC01918D828D981761F0A28DAE0FCC +:10018000BF2FB11D5D968C91928D9F5F9F73928F53 +:1001900090E008958FEF9FEF0895FC01918D828D7F +:1001A000981731F0828DE80FF11D858D90E008954C +:1001B0008FEF9FEF0895FC01918D228D892F90E0A4 +:1001C000805C9F4F821B91098F739927089588E562 +:1001D00091E00E94DB0021E0892B09F420E0822FCE +:1001E000089580E090E0892B29F00E94E7008111BA +:1001F0000C9400000895FC01A48DA80FB92FB11D27 +:10020000A35ABF4F2C91848D90E001968F7399274C +:10021000848FA689B7892C93A089B1898C9183702A +:1002200080648C93938D848D981306C00288F38923 +:10023000E02D80818F7D80830895EF92FF920F9350 +:100240001F93CF93DF93EC0181E0888F9B8D8C8D82 +:1002500098131AC0E889F989808185FF15C09FB776 +:10026000F894EE89FF896083E889F9898081837039 +:10027000806480839FBF81E090E0DF91CF911F91E8 +:100280000F91FF90EF900895F62E0B8D10E00F5F09 +:100290001F4F0F731127E02E8C8D8E110CC00FB6DF +:1002A00007FCFACFE889F989808185FFF5CFCE0177 +:1002B0000E94FB00F1CFEB8DEC0FFD2FF11DE35AF7 +:1002C000FF4FF0829FB7F8940B8FEA89FB898081FA +:1002D0008062CFCFCF93DF93EC01888D8823B9F074 +:1002E000AA89BB89E889F9898C9185FD03C0808141 +:1002F00086FD0DC00FB607FCF7CF8C9185FFF2CFBE +:10030000808185FFEDCFCE010E94FB00E9CFDF9118 +:10031000CF910895CF92DF92EF92FF92CF93DF9328 +:10032000EC016A017B01E889F98982E08083C114CC +:1003300081EED806E104F104A1F060E079E08DE3FC +:1003400090E0A70196010E9425042150310941093E +:1003500051095695479537952795211580E138071E +:1003600098F0E889F989108260E874E88EE190E0FD +:10037000A70196010E942504215031094109510924 +:100380005695479537952795EC85FD853083EE8505 +:10039000FF852083188EEC89FD8986E08083EA89B9 +:1003A000FB89808180618083EA89FB898081886004 +:1003B0008083EA89FB89808180688083EA89FB8960 +:1003C00080818F7D8083DF91CF91FF90EF90DF90D0 +:1003D000CF9008951F920F920FB60F9211242F9372 +:1003E0003F938F939F93AF93BF938091FA01909126 +:1003F000FB01A091FC01B091FD013091F90123E0D6 +:10040000230F2D3758F50196A11DB11D2093F90139 +:100410008093FA019093FB01A093FC01B093FD013E +:100420008091F5019091F601A091F701B091F8014A +:100430000196A11DB11D8093F5019093F601A09343 +:10044000F701B093F801BF91AF919F918F913F91C8 +:100450002F910F900FBE0F901F90189526E8230F35 +:100460000296A11DB11DD2CF1F920F920FB60F920F +:1004700011242F933F934F935F936F937F938F93A9 +:100480009F93AF93BF93EF93FF9388E591E00E9412 +:10049000FB00FF91EF91BF91AF919F918F917F9161 +:1004A0006F915F914F913F912F910F900FBE0F90E1 +:1004B0001F9018951F920F920FB60F9211242F9331 +:1004C0008F939F93EF93FF93E0916801F0916901FF +:1004D0008081E0916E01F0916F0182FD1BC09081DF +:1004E000809171018F5F8F7320917201821741F0AB +:1004F000E0917101F0E0E85AFE4F958F8093710111 +:10050000FF91EF919F918F912F910F900FBE0F90C0 +:100510001F9018958081F4CFCF93DF9300D000D047 +:10052000CDB7DEB789E290E0FC018081882F90E0B2 +:10053000807899279C838B838B819C81892BB9F44C +:100540001A82198289819A818C9788F489819A818B +:10055000895E9E4FFC018081682F88E591E00E94B2 +:100560005F0089819A8101969A838983EBCF0F90EE +:100570000F900F900F90DF91CF910895CF93DF935D +:10058000CDB7DEB7809102018093340180911401D0 +:1005900080931B018091110180932A0180910201B7 +:1005A000809325018091000180933C01809102019C +:1005B000809322018091130180931E01809112018A +:1005C000809338018091100180933D01DF91CF919C +:1005D0000895CF93DF93CDB7DEB78091020180936A +:1005E0002D01809102018093280180911101809357 +:1005F000390180910F0180933E0180910901809320 +:100600003B018091070180933A0180910D01809315 +:10061000210180910701809331018091070180932E +:100620002E0180910A018093230180910301809320 +:100630001A01DF91CF910895CF93DF93CDB7DEB745 +:100640008091020180933F018091060180931801FF +:10065000809110018093400180910B0180932401CF +:1006600080910E01809327018091080180932F01D2 +:100670008091150180934101809111018093300197 +:100680008091070180931F018091020180933701BF +:1006900080910F018093360180910201809329019E +:1006A000DF91CF910895CF93DF93CDB7DEB78091DF +:1006B0000E0180932C018091070180932601809187 +:1006C000040180931C0180910101809319018091A4 +:1006D0000701809335018091040180931701809177 +:1006E00005018093200180910C018093330180915A +:1006F000070180932B018091020180931D0180915D +:10070000110180933201DF91CF910895CF93DF9350 +:10071000CDB7DEB70E9453030E941C030E94E9027A +:100720000E94BE02DF91CF910895CF93DF93CDB7A2 +:10073000DEB74CE251E060E070E088E591E00E94B5 +:100740008A010E948603DF91CF910895E8E5F1E0E8 +:100750001382128288EE93E0A0E0B0E08483958358 +:10076000A683B78387E491E09183808385EC90E052 +:100770009587848784EC90E09787868780EC90E06B +:10078000918B808B81EC90E0938B828B82EC90E05C +:10079000958B848B86EC90E0978B868B118E128ED6 +:1007A000138E148E0895789484B5826084BD84B5C8 +:1007B000816084BD85B5826085BD85B5816085BD5C +:1007C00080916E00816080936E0010928100809114 +:1007D000810082608093810080918100816080939C +:1007E0008100809180008160809380008091B100C1 +:1007F00084608093B1008091B00081608093B000EC +:1008000080917A00846080937A0080917A0082607F +:1008100080937A0080917A00816080937A00809141 +:100820007A00806880937A001092C1000E9495033C +:10083000C0E0D0E00E948C022097E1F30E94E70024 +:100840008823C1F30E940000F5CFA1E21A2EAA1B53 +:10085000BB1BFD010DC0AA1FBB1FEE1FFF1FA21770 +:10086000B307E407F50720F0A21BB30BE40BF50B6D +:10087000661F771F881F991F1A9469F760957095F6 +:10088000809590959B01AC01BD01CF010895EE0FBD +:0E089000FF1F0590F491E02D0994F894FFCF1E +:10089E00303133394853565F61636467686C6D6EEF +:1008AE00727478797B7D002020202020202020204B +:1008BE00202020202020202020202020202020202A +:1008CE00202020202020202020202020202020201A +:1008DE00202000000000001D017D00AA006A01DB3F +:0808EE0000B900CD000D0A0065 +:00000001FF