Jump to content

TheComputerdude

Member
  • Posts

    153
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Contact Methods

  • Discord
    sounds vaguely familiar
  • Steam
    no
  • Origin
    no
  • Battle.net
    NOOOO
  • PlayStation Network
    DID YOU NOT GET MY MESSAGE THE FIRST TIME
  • Xbox Live
    NOT A FU*** PEASANT
  • Twitch.tv
    no
  • Twitter
    Nah To much politics
  • Website URL

Profile Information

  • Gender
    Male
  • Location
    Cincinnati Ohio
  • Interests
    Anything electronic
  • Occupation
    Student

System

  • CPU
    65C02 running at 1.023 MHz 8-bit data bus
  • Motherboard
    apple proprietary
  • RAM
    128 KB RAM built-in
  • GPU
    Double-High-Resolution: 560 × 192 (16 colors)
  • Case
    proprietary off white color
  • Storage
    Slim-line internal 5.25-inch floppy drive (140 KB, single-sided)
  • Cooling
    passive?
  • Keyboard
    built in
  • Mouse
    Joystick/Mouse (DE-9)
  • Sound
    headphones/built in
  • Operating System
    ProDOS
  • PCPartPicker URL

Recent Profile Visitors

1,397 profile views
  1. I considered doing this with my brothers old laptop
  2. So I am by no means a server expert. This is just a silly little ubuntu server for serving webpages and whatever else I feel like. I reformatted it a while back and f-ed something up pretty good. I have two tb hard drives in there right now (I only really need one), but Ubuntu is yelling at me for running out of space. Turns out for whatever reason I am only using 4gb. When i run sudo fdisk -l it makes no sense: chris@server_boi:~$ sudo fdisk -l Disk /dev/loop0: 87.9 MiB, 92123136 bytes, 179928 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 9.4 MiB, 9850880 bytes, 19240 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop2: 11 MiB, 11460608 bytes, 22384 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop3: 89.5 MiB, 93835264 bytes, 183272 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop4: 124 KiB, 126976 bytes, 248 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop5: 2.1 MiB, 2232320 bytes, 4360 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop6: 5.4 MiB, 5632000 bytes, 11000 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop7: 52 MiB, 54530048 bytes, 106504 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 3182D36C-CF05-4479-AF45-1B8657E19F4F Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 2101247 2097152 1G Linux filesystem /dev/sda3 2101248 1953521663 1951420416 930.5G Linux filesystem Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x98e351e1 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 1953525167 1953523120 931.5G 8e Linux LVM Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 4 GiB, 4294967296 bytes, 8388608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk /dev/loop8: 66.7 MiB, 69873664 bytes, 136472 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop9: 38.7 MiB, 40583168 bytes, 79264 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop10: 9.4 MiB, 9818112 bytes, 19176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop11: 13.7 MiB, 14331904 bytes, 27992 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop12: 91.1 MiB, 95494144 bytes, 186512 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop13: 9.4 MiB, 9850880 bytes, 19240 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes and I need some advice on how to resize partions/LVMs etc to get at least a 100 gb of usable storage.
  3. I have a kali VM and Mint bookable disk I love linux but it isn't good enough to be a daily driver for me. I can get the same utility from those two things and still keep windows for normal shit. You really got to ask yourself what u need it for what are the pros and cons and can u find a middle ground
  4. A few days a go a group from out local college came to our high school and did a cyber security presentation. They also have a small ongoing ctf comp. Its pretty cool but I've been working on a flag for a while and I feel so close yet so far. The clue is : You overhear a phone conversation: Person: Listen, I can explain! Phone: waaah wah waah Person: Of course I know what a format string vulnerability is! Phone WAAA WWAAAHH WWWAAHH WAH! Person: Don't yell at me! How should I know you could just read crap off the stack like that? Plus, there's no way they can read the entire flag! There isn't enough space in the input buffer! Phone: waa waa waah waahhh, wa wa Person: What's direct parameter access? Phone: click nc ctf.cyberatuc.org 48846 also attached is a C file as well as a compiled version of it obviously similar to what is being run on the server. The code is : #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #define PASS_LEN 30 /* * compiled with: * gcc -m32 -z execstack -z norelro -fno-stack-protector pwn2.c -o pwn2 * * Credits: The amazing RPISEC Modern Binary Exploitation (MBE) course */ int main(int argc, char *argv[]) { char username[100] = {0}; char real_pass[PASS_LEN] = {0}; char in_pass[100] = {0}; FILE *pass_file = NULL; int rsize = 0; /* open the password file */ pass_file = fopen(".pass", "r"); if (pass_file == NULL) { fprintf(stderr, "ERROR: failed to open password file\n"); exit(EXIT_FAILURE); } /* read the contents of the password file */ rsize = fread(real_pass, 1, PASS_LEN, pass_file); real_pass[strcspn(real_pass, "\n")] = '\0'; // strip \n if (rsize != PASS_LEN) { fprintf(stderr, "ERROR: failed to read password file\n"); exit(EXIT_FAILURE); } /* close the password file */ fclose(pass_file); puts("===== [ Secure Access System v1.0 ] ====="); puts("-----------------------------------------"); puts("- You must login to access this system. -"); puts("-----------------------------------------"); /* read username securely */ printf("--[ Username: "); fgets(username, 100, stdin); username[strcspn(username, "\n")] = '\0'; // strip \n /* read input password securely */ printf("--[ Password: "); fgets(in_pass, sizeof(in_pass), stdin); in_pass[strcspn(in_pass, "\n")] = '\0'; // strip \n puts("-----------------------------------------"); /* log the user in if the password is correct */ if(!strncmp(real_pass, in_pass, PASS_LEN)){ printf("Greetings, %s!\n", username); system("/bin/sh"); } else { printf(username); printf(" does not have access!\n"); exit(EXIT_FAILURE); } return EXIT_SUCCESS; } I have attempted to get data off the stack like so: chris@server_boi:~$ nc ctf.cyberatuc.org 48846 ===== [ Secure Access System v1.0 ] ===== ----------------------------------------- - You must login to access this system. - ----------------------------------------- --[ Username: %p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p %p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p%p --[ Password: AAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAA ----------------------------------------- 0xffa6fca20x1e0x578111600x4141fcf40x414141410x414141410x414141410x414141410x414141410x41414141(nil)(nil)(nil)(nil)(nil)(nil)(nil)(nil)(nil)(nil)(nil) does not have access! The issue is that I can't find the memory address of the password or figure out how to hit the specific address in memory. I have tried everything I have found online and nothing has helped. Any help would be great thanks. NOTE the compiled file is attached I tried decompiling and finding the memory address of the password variable. maybe you will have more luck. pwn2
  5. I am trying to add a texture to a plane that is basically just checkered so that it makes movement visible. Ideally, it should look something like a tiled floor. The issue is it looks like the picture below which is way too big. PLEASE HELP
  6. no sorry for the confusion that is my laptop try the https then you will be hitting the actual server also it is my own internet
  7. follow up i set up my laptop as a WAMP server for a quick test changed portforwarding and laptop gets it so... it isn't isp it isn't port forwarding so i conlude it is a server issue
  8. Port forwarding is enabled my worry is the ISP may be blocking any good way to test this???
  9. I have an issue that is much weirder than it is on the surface if not simple to boil down. If I go to my website www.christophersites.com and am connected to the same internet as the server it connects just fine. However if I am on a different network ie school or cellular nothing happens even if I try going to website directly using the WAN ip. HELP ME PLEASE
  10. Is there a good way to automate the generating of the minimax trees cause at every depth level and w/ 3d tic tac toe... Not really sounding that fun
  11. Tried that and it still takes a while for also I want to adapt it to 3d tic-tac-toe. EDIT just saw your edit. How would you suggest I go about doing that also is there a good way to multithread this?
  12. They are my own custome functions oWin: def oWin(oPos): # Checks for across matches x= 1 y= 1 while x in range(1, 28): if x in oPos and x + y in oPos and x + (y*2) in oPos: #print "o wins yay" x+=2002002 #print"win" return True break else: x+=3 #up down x= 1 y= 3 while x in range(1, 28): if x in range(1,4) or x in range(10,14) or x in range(19,24): if x in oPos and x + y in oPos and x + (y*2) in oPos: #print "o wins yay" x+=2002002 return True else: x+=1 else: x+=1 #vertical x= 1 y= 9 while x in range(1, 28): if x in oPos and x + y in oPos and x + (y*2) in oPos: #print "o wins yay" #print"win" x+=2002002 return True else: x+=1 x= 3 y= 2 while x in range(1, 28): if x in oPos and x + y in oPos and x + (y*2) in oPos: #print "o wins yay" x+=2002002 return True else: x+=9 x= 1 y= 4 while x in range(1, 28): if x in oPos and x + y in oPos and x + (y*2) in oPos: #print "o wins yay" x+=2002002 return True else: x+=9 #DIAGONAL DIAGONAL VERTICAL x= 1 y= 13 x1=7 y1=7 while x in range (1,4): if (x in oPos and x + y in oPos and x + (y*2) in oPos)or(x1 in oPos and x1 + y1 in oPos and x1 + (y1*2) in oPos): x+=900 return True else: x+=2 y-=2 y1-=2 x1+=2 #ACROSS DIAGONAL VERTICAL x= 1 y= 10 while x in range (1,8): if (x in oPos and x + y in oPos and x + (y*2) in oPos): x+=900 return True else: x+=3 x= 3 y= 7 #above but compressed while x in range (3,10): if (x in oPos and x + y in oPos and x + (y*2) in oPos): x+=900 return True else: x+=3 count = 1 x=1 y=12 while x <= 3: if (x in oPos and x + y in oPos and x + (y*2) in oPos): x+=900 return True else: x+=1 x=7 y=6 while x <= 9: if (x in oPos and x + y in oPos and x + (y*2) in oPos): x+=900 return True else: x+=1 return False They both are essentially the same they check if one has won. xWin import time def xWin(xPos): # Checks for across matches x= 1 y= 1 while x in range(1, 28): if x in xPos and x + y in xPos and x + (y*2) in xPos: #print "o wins yay" x+=2002002 #print"win" return True break else: x+=3 #up down x= 1 y= 3 while x in range(1, 28): if x in range(1,4) or x in range(10,14) or x in range(19,24): if x in xPos and x + y in xPos and x + (y*2) in xPos: #print "o wins yay" x+=2002 return True break else: x+=1 else: x+=1 #vertical x= 1 y= 9 while x in range(1, 28): if x in xPos and x + y in xPos and x + (y*2) in xPos: #print "o wins yay" #print"win" x+=2002002 return True else: x+=1 x= 3 y= 2 while x in range(1, 28): if x in xPos and x + y in xPos and x + (y*2) in xPos: #print "o wins yay" x+=2002002 return True else: x+=9 x= 1 y= 4 while x in range(1, 28): if x in xPos and x + y in xPos and x + (y*2) in xPos: x+=2002002 return True else: x+=9 x= 1 y= 13 while x in range (1,4): if x in xPos and x + y in xPos and x + (y*2) in xPos: x+=900 return True else: x+=2 y-=2 #DIAGONAL DIAGONAL VERTICAL x= 1 y= 13 x1=7 y1=7 while x in range (1,4): if (x in xPos and x + y in xPos and x + (y*2) in xPos)or(x1 in xPos and x1 + y1 in xPos and x1 + (y1*2) in xPos): x+=900 return True else: x+=2 y-=2 y1-=2 x1+=2 #ACROSS DIAGONAL VERTICAL x= 1 y= 10 while x in range (1,8): if (x in xPos and x + y in xPos and x + (y*2) in xPos): x+=900 return True else: x+=3 x= 3 y= 7 #above but compressed while x in range (3,10): if (x in xPos and x + y in xPos and x + (y*2) in xPos): x+=900 return True else: x+=3 count = 1 x=1 y=12 while x <= 3: if (x in xPos and x + y in xPos and x + (y*2) in xPos): x+=900 return True else: x+=1 x=7 y=6 while x <= 9: if (x in xPos and x + y in xPos and x + (y*2) in xPos): x+=900 return True else: x+=1 return False
  13. from oWinner import oWin from xWinner import xWin xPos = [] oPos = [] open = [1,2,3,4,5,6,7,8,9] class TicTacToeBrain : xPos = [] oPos = [] open = [1,2,3,4,5,6,7,8,9] def __init__(self, player = "x") : self._squares = {} self._copySquares = {} def getAvailableMoves(self,open) : return open def makeMove(self, position, player) : open.remove(position) if player == 'x': xPos.append(position) else: oPos.append(position) def undoMove(self, position, player) : open.append(position) if player == 'x': xPos.remove(position) else: oPos.remove(position) def complete(self,open) : # *** see above if len(open)==0: return True if self.getWinner(xPos,oPos,open) != None : return True return False def getWinner(self,xPos,oPos,open) : if xWin(xPos): return 'x' if oWin(oPos): return 'o' # *** see above if len(open) == 0: return "tie" return None def getEnemyPlayer(self, player) : if player == "x" : return "o" return "x" def minimax(self, player,open,xPos,oPos, depth = 0): if player == "o": best = -30 else: best = 30 if self.complete(open) : if self.getWinner(open,xPos,oPos) == "x" : # *** don't do this, you may still need the position to try other moves # self._squares = self._copySquares # *** value should be closer to zero for greater depth! # *** expect tuple return value return -30 + depth, None elif self.getWinner(open,xPos,oPos) == "tie" : # self._squares = self._copySquares # *** expect tuple return value return 0, None elif self.getWinner(open,xPos,oPos) == "o" : # self._squares = self._copySquares # *** value should be closer to zero for greater depth! # *** expect tuple return value return 30 - depth, None # *** Execution can never get here bestMove = None for move in self.getAvailableMoves(open) : # print (self.getAvailableMoves(open)) # print (xPos) # print (oPos) self.makeMove(move, player) val, _ = self.minimax(self.getEnemyPlayer(player),open,xPos,oPos, depth+1) #print(val) # *** undo last move self.undoMove(move, player) if player == "o" : if val > best : # *** Also keep track of the actual move best, bestMove = val, move else : if val < best : # *** Also keep track of the actual move best, bestMove = val, move bestMove = bestMove return best, bestMove def printCopy(self) : print(self._copySquares) game = TicTacToeBrain() # val, bestMove = game.minimax("o",open,xPos,oPos) # print ("best move", bestMove ) while game.complete: userInput = int(input("enter your move")) game.makeMove(userInput, 'x') val, bestMove = game.minimax("o",open,xPos,oPos) game.makeMove(bestMove, 'o') print (bestMove) I am trying to create a minimax algoritm to play tictactoe. The functions I am calling outside of the file are fast. Why does it take so long to execute on the first time? What can I do to speed it up
×