-
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
TheComputerdude's Achievements
-
I considered doing this with my brothers old laptop
-
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.
-
should i switch to linux?
TheComputerdude replied to The Forester's topic in Linux, macOS and Everything Not-Windows
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 -
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
-
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
-
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
-
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
-
Port forwarding is enabled my worry is the ISP may be blocking any good way to test this???
-
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
-
Why does my program take so long to run
TheComputerdude replied to TheComputerdude's topic in Programming
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 -
Why does my program take so long to run
TheComputerdude replied to TheComputerdude's topic in Programming
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? -
Why does my program take so long to run
TheComputerdude replied to TheComputerdude's topic in Programming
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 -
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