Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Used to obfuscate each character
- .data:0804A060 srcbuf dd 0 ; DATA XREF: obfuscate+26r
- .data:0804A064 dd 77073096h
- .data:0804A068 dd 0EE0E612Ch
- .data:0804A06C dd 990951BAh
- .data:0804A070 dd 76DC419h
- .data:0804A074 dd 706AF48Fh
- .data:0804A078 dd 0E963A535h
- .data:0804A07C dd 9E6495A3h
- .data:0804A080 dd 0EDB8832h
- .data:0804A084 dd 79DCB8A4h
- .data:0804A088 dd 0E0D5E91Eh
- .data:0804A08C dd 97D2D988h
- .data:0804A090 dd 9B64C2Bh
- .data:0804A094 dd 7EB17CBDh
- .data:0804A098 dd 0E7B82D07h
- .data:0804A09C dd 90BF1D91h
- .data:0804A0A0 dd 1DB71064h
- .data:0804A0A4 dd 6AB020F2h
- .data:0804A0A8 dd 0F3B97148h
- .data:0804A0AC dd 84BE41DEh
- .data:0804A0B0 dd 1ADAD47Dh
- .data:0804A0B4 dd 6DDDE4EBh
- .data:0804A0B8 dd 0F4D4B551h
- .data:0804A0BC dd 83D385C7h
- .data:0804A0C0 dd 136C9856h
- .data:0804A0C4 dd 646BA8C0h
- .data:0804A0C8 dd 0FD62F97Ah
- .data:0804A0CC dd 8A65C9ECh
- .data:0804A0D0 dd 14015C4Fh
- .data:0804A0D4 dd 63066CD9h
- .data:0804A0D8 dd 0FA0F3D63h
- .data:0804A0DC dd 8D080DF5h
- .data:0804A0E0 dd 3B6E20C8h
- .data:0804A0E4 dd 4C69105Eh
- .data:0804A0E8 dd 0D56041E4h
- .data:0804A0EC dd 0A2677172h
- .data:0804A0F0 dd 3C03E4D1h
- .data:0804A0F4 dd 4B04D447h
- .data:0804A0F8 dd 0D20D85FDh
- .data:0804A0FC dd 0A50AB56Bh
- .data:0804A100 dd 35B5A8FAh
- .data:0804A104 dd 42B2986Ch
- .data:0804A108 dd 0DBBBC9D6h
- .data:0804A10C dd 0ACBCF940h
- .data:0804A110 dd 32D86CE3h
- .data:0804A114 dd 45DF5C75h
- .data:0804A118 dd 0DCD60DCFh
- .data:0804A11C dd 0ABD13D59h
- .data:0804A120 dd 26D930ACh
- .data:0804A124 dd 51DE003Ah
- .data:0804A128 dd 0C8D75180h
- .data:0804A12C dd 0BFD06116h
- .data:0804A130 dd 21B4F4B5h
- .data:0804A134 dd 56B3C423h
- .data:0804A138 dd 0CFBA9599h
- .data:0804A13C dd 0B8BDA50Fh
- .data:0804A140 dd 2802B89Eh
- .data:0804A144 dd 5F058808h
- .data:0804A148 dd 0C60CD9B2h
- .data:0804A14C dd 0B10BE924h
- .data:0804A150 dd 2F6F7C87h
- .data:0804A154 dd 58684C11h
- .data:0804A158 dd 0C1611DABh
- .data:0804A15C dd 0B6662D3Dh
- .data:0804A160 dd 76DC4190h
- .data:0804A164 dd 1DB7106h
- .data:0804A168 dd 98D220BCh
- .data:0804A16C dd 0EFD5102Ah
- .data:0804A170 dd 71B18589h
- .data:0804A174 dd 6B6B51Fh
- .data:0804A178 dd 9FBFE4A5h
- .data:0804A17C dd 0E8B8D433h
- .data:0804A180 dd 7807C9A2h
- .data:0804A184 dd 0F00F934h
- .data:0804A188 dd 9609A88Eh
- .data:0804A18C dd 0E10E9818h
- .data:0804A190 dd 7F6A0DBBh
- .data:0804A194 dd 86D3D2Dh
- .data:0804A198 dd 91646C97h
- .data:0804A19C dd 0E6635C01h
- .data:0804A1A0 dd 6B6B51F4h
- .data:0804A1A4 dd 1C6C6162h
- .data:0804A1A8 dd 856530D8h
- .data:0804A1AC dd 0F262004Eh
- .data:0804A1B0 dd 6C0695EDh
- .data:0804A1B4 dd 1B01A57Bh
- .data:0804A1B8 dd 8208F4C1h
- .data:0804A1BC dd 0F50FC457h
- .data:0804A1C0 dd 65B0D9C6h
- .data:0804A1C4 dd 12B7E950h
- .data:0804A1C8 dd 8BBEB8EAh
- .data:0804A1CC dd 0FCB9887Ch
- .data:0804A1D0 dd 62DD1DDFh
- .data:0804A1D4 dd 15DA2D49h
- .data:0804A1D8 dd 8CD37CF3h
- .data:0804A1DC dd 0FBD44C65h
- .data:0804A1E0 dd 4DB26158h
- .data:0804A1E4 dd 3AB551CEh
- .data:0804A1E8 dd 0A3BC0074h
- .data:0804A1EC dd 0D4BB30E2h
- .data:0804A1F0 dd 4ADFA541h
- .data:0804A1F4 dd 3DD895D7h
- .data:0804A1F8 dd 0A4D1C46Dh
- .data:0804A1FC dd 0D3D6F4FBh
- .data:0804A200 dd 4369E96Ah
- .data:0804A204 dd 346ED9FCh
- .data:0804A208 dd 0AD678846h
- .data:0804A20C dd 0DA60B8D0h
- .data:0804A210 dd 44042D73h
- .data:0804A214 dd 33031DE5h
- .data:0804A218 dd 0AA0A4C5Fh
- .data:0804A21C dd 0DD0D7CC9h
- .data:0804A220 dd 5005713Ch
- .data:0804A224 dd 270241AAh
- .data:0804A228 dd 0BE0B1010h
- .data:0804A22C dd 0C90C2086h
- .data:0804A230 dd 5768B525h
- .data:0804A234 dd 206F85B3h
- .data:0804A238 dd 0B966D409h
- .data:0804A23C dd 0CE61E49Fh
- .data:0804A240 dd 5EDEF90Eh
- .data:0804A244 dd 29D9C998h
- .data:0804A248 dd 0B0D09822h
- .data:0804A24C dd 0C7D7A8B4h
- .data:0804A250 dd 59B33D17h
- .data:0804A254 dd 2EB40D81h
- .data:0804A258 dd 0B7BD5C3Bh
- .data:0804A25C dd 0C0BA6CADh
- .data:0804A260 dd 0EDB88320h
- .data:0804A264 dd 9ABFB3B6h
- .data:0804A268 dd 3B6E20Ch
- .data:0804A26C dd 74B1D29Ah
- .data:0804A270 dd 0EAD54739h
- .data:0804A274 dd 9DD277AFh
- .data:0804A278 dd 4DB2615h
- .data:0804A27C dd 73DC1683h
- .data:0804A280 dd 0E3630B12h
- .data:0804A284 dd 94643B84h
- .data:0804A288 dd 0D6D6A3Eh
- .data:0804A28C dd 7A6A5AA8h
- .data:0804A290 dd 0E40ECF0Bh
- .data:0804A294 dd 9309FF9Dh
- .data:0804A298 dd 0A00AE27h
- .data:0804A29C dd 7D079EB1h
- .data:0804A2A0 dd 0F00F9344h
- .data:0804A2A4 dd 8708A3D2h
- .data:0804A2A8 dd 1E01F268h
- .data:0804A2AC dd 6906C2FEh
- .data:0804A2B0 dd 0F762575Dh
- .data:0804A2B4 dd 806567CBh
- .data:0804A2B8 dd 196C3671h
- .data:0804A2BC dd 6E6B06E7h
- .data:0804A2C0 dd 0FED41B76h
- .data:0804A2C4 dd 89D32BE0h
- .data:0804A2C8 dd 10DA7A5Ah
- .data:0804A2CC dd 67DD4ACCh
- .data:0804A2D0 dd 0F9B9DF6Fh
- .data:0804A2D4 dd 8EBEEFF9h
- .data:0804A2D8 dd 17B7BE43h
- .data:0804A2DC dd 60B08ED5h
- .data:0804A2E0 dd 0D6D6A3E8h
- .data:0804A2E4 dd 0A1D1937Eh
- .data:0804A2E8 dd 38D8C2C4h
- .data:0804A2EC dd 4FDFF252h
- .data:0804A2F0 dd 0D1BB67F1h
- .data:0804A2F4 dd 0A6BC5767h
- .data:0804A2F8 dd 3FB506DDh
- .data:0804A2FC dd 48B2364Bh
- .data:0804A300 dd 0D80D2BDAh
- .data:0804A304 dd 0AF0A1B4Ch
- .data:0804A308 dd 36034AF6h
- .data:0804A30C dd 41047A60h
- .data:0804A310 dd 0DF60EFC3h
- .data:0804A314 dd 0A867DF55h
- .data:0804A318 dd 316E8EEFh
- .data:0804A31C dd 4669BE79h
- .data:0804A320 dd 0CB61B38Ch
- .data:0804A324 dd 0BC66831Ah
- .data:0804A328 dd 256FD2A0h
- .data:0804A32C dd 5268E236h
- .data:0804A330 dd 0CC0C7795h
- .data:0804A334 dd 0BB0B4703h
- .data:0804A338 dd 220216B9h
- .data:0804A33C dd 5505262Fh
- .data:0804A340 dd 0C5BA3BBEh
- .data:0804A344 dd 0B2BD0B28h
- .data:0804A348 dd 2BB45A92h
- .data:0804A34C dd 5CB36A04h
- .data:0804A350 dd 0C2D7FFA7h
- .data:0804A354 dd 0B5D0CF31h
- .data:0804A358 dd 2CD99E8Bh
- .data:0804A35C dd 5BDEAE1Dh
- .data:0804A360 dd 9B64C2B0h
- .data:0804A364 dd 0EC63F226h
- .data:0804A368 dd 756AA39Ch
- .data:0804A36C dd 26D930Ah
- .data:0804A370 dd 9C0906A9h
- .data:0804A374 dd 0EB0E363Fh
- .data:0804A378 dd 72076785h
- .data:0804A37C dd 5005713h
- .data:0804A380 dd 95BF4A82h
- .data:0804A384 dd 0E2B87A14h
- .data:0804A388 dd 7BB12BAEh
- .data:0804A38C dd 0CB61B38h
- .data:0804A390 dd 92D28E9Bh
- .data:0804A394 dd 0E5D5BE0Dh
- .data:0804A398 dd 7CDCEFB7h
- .data:0804A39C dd 0BDBDF21h
- .data:0804A3A0 dd 86D3D2D4h
- .data:0804A3A4 dd 0F1D4E242h
- .data:0804A3A8 dd 68DDB3F8h
- .data:0804A3AC dd 1FDA836Eh
- .data:0804A3B0 dd 81BE16CDh
- .data:0804A3B4 dd 0F6B9265Bh
- .data:0804A3B8 dd 6FB077E1h
- .data:0804A3BC dd 18B74777h
- .data:0804A3C0 dd 88085AE6h
- .data:0804A3C4 dd 0FF0F6A70h
- .data:0804A3C8 dd 66063BCAh
- .data:0804A3CC dd 11010B5Ch
- .data:0804A3D0 dd 8F659EFFh
- .data:0804A3D4 dd 0F862AE69h
- .data:0804A3D8 dd 616BFFD3h
- .data:0804A3DC dd 166CCF45h
- .data:0804A3E0 dd 0A00AE278h
- .data:0804A3E4 dd 0D70DD2EEh
- .data:0804A3E8 dd 4E048354h
- .data:0804A3EC dd 3903B3C2h
- .data:0804A3F0 dd 0A7672661h
- .data:0804A3F4 dd 0D06016F7h
- .data:0804A3F8 dd 4969474Dh
- .data:0804A3FC dd 3E6E77DBh
- .data:0804A400 dd 0AED16A4Ah
- .data:0804A404 dd 0D9D65ADCh
- .data:0804A408 dd 40DF0B66h
- .data:0804A40C dd 37D83BF0h
- .data:0804A410 dd 0A9BCAE53h
- .data:0804A414 dd 0DEBB9EC5h
- .data:0804A418 dd 47B2CF7Fh
- .data:0804A41C dd 30B5FFE9h
- .data:0804A420 dd 0BDBDF21Ch
- .data:0804A424 dd 0CABAC28Ah
- .data:0804A428 dd 53B39330h
- .data:0804A42C dd 24B4A3A6h
- .data:0804A430 dd 0BAD03605h
- .data:0804A434 dd 0CDD70693h
- .data:0804A438 dd 54DE5729h
- .data:0804A43C dd 23D967BFh
- .data:0804A440 dd 0B3667A2Eh
- .data:0804A444 dd 0C4614AB8h
- .data:0804A448 dd 5D681B02h
- .data:0804A44C dd 2A6F2B94h
- .data:0804A450 dd 0B40BBE37h
- .data:0804A454 dd 0C30C8EA1h
- .data:0804A458 dd 5A05DF1Bh
- .data:0804A45C dd 2D02EF8Dh */
- uint32_t srcbuf[256] = {...};
- /* Output buffer */
- uint32_t outbuf[0x98];
- int outlen = 0;
- /* What the output buffer should be
- .data:0804A460 cmpbuf dd 76D32BE0h ; DATA XREF: main+4Er
- .data:0804A464 dd 27C7D869h
- .data:0804A468 dd 5976A4D4h
- .data:0804A46C dd 0B01501E1h
- .data:0804A470 dd 0A4145DAEh
- .data:0804A474 dd 0BECE89D3h
- .data:0804A478 dd 20AA1C70h
- .data:0804A47C dd 9817B97Fh
- .data:0804A480 dd 50C0E8FFh
- .data:0804A484 dd 5976A4D4h
- .data:0804A488 dd 0C9C9B945h
- .data:0804A48C dd 9817B97Fh
- .data:0804A490 dd 0AACFD59Ch
- .data:0804A494 dd 43AC70A9h
- .data:0804A498 dd 0B778C5F8h
- .data:0804A49C dd 20AA1C70h
- .data:0804A4A0 dd 9817B97Fh
- .data:0804A4A4 dd 50C0E8FFh
- .data:0804A4A8 dd 5976A4D4h
- .data:0804A4AC dd 0C9C9B945h
- .data:0804A4B0 dd 4A1A3C82h
- .data:0804A4B4 dd 9817B97Fh
- .data:0804A4B8 dd 5976A4D4h
- .data:0804A4BC dd 0C9C9B945h
- .data:0804A4C0 dd 34AB403Fh
- .data:0804A4C4 dd 0DC13940Ch
- .data:0804A4C8 dd 9817B97Fh
- .data:0804A4CC dd 291C505Bh
- .data:0804A4D0 dd 451AC5B6h
- .data:0804A4D4 dd 451AC5B6h
- .data:0804A4D8 dd 0C07FF56Eh
- .data:0804A4DC dd 451AC5B6h
- .data:0804A4E0 dd 451AC5B6h
- .data:0804A4E4 dd 0B01501E1h
- .data:0804A4E8 dd 5E1B60CDh
- .data:0804A4EC dd 0DDC8E50Ah
- .data:0804A4F0 dd 0AACFD59Ch
- .data:0804A4F4 dd 4D77F89Bh */
- uint32_t cmpbuf[0x26] = {...};
- /* Called at program start, setting initial values of outbuf */
- void init_outbuf()
- {
- for (int i = 0; i < 0x98; i++) outbuf[i] = outbuf[i] ^ 0xCAF3B33B;
- }
- /* Main program */
- void main()
- {
- /* Get and obfuscate the password */
- for (int i = 0; i < 0x26; i++)
- {
- /* Get a char of user input */
- uint8_t ch = get_user_char();
- /* Pick the XOR key, based on whether this is our first loop iteration */
- uint32_t key;
- if (outlen == 0) key = 0;
- else key = outbuf[outlen];
- /* Do some obfuscation of the character */
- key = ~key;
- key = srcbuf[(uint8_t)(ch ^ key)] ^ (key >> 8);
- key = ~key;
- /* Add to the output buffer and move on */
- outbuf[outlen] = key;
- outlen++;
- }
- /* Compare to what it should be */
- bool valid = true;
- for (int i = 0; i < 0x26; i++) if (outbuf[i] != cmpbuf[i]) valid = false;
- if (valid) printf("great");
- else printf("woaw");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement