/dpt/ - Daily Programming Thread

What are you working on, Sup Forums?

Previous thread:

Other urls found in this thread:

nostarch.com/gamehacking
twitter.com/SFWRedditGifs

First for Ruby this time :3

...

What's a good book for writing a parser

Java was engineered by some of the top experts in the software industry

Is java compiled or interpreted?

what is a parser?

Java is king when it comes to enterprise systems.

Lisp in Small Pieces
EoPL (Elements of Programming Languages)
Or the hideous Dragon Book, it's entirely about parsers

i've been researching this, but I'm still confused (must be retarded): how are runtimes like node, electron, or any language runtime executed? where are they stored?

That's the thing, I don't know what I don't know. I have literally no idea what I'm supposed to do right now:

What I do know:

-Some how I need a program to view the memory changes and be able to know where they are located
-Some how I need to modify this data without inbuilt data manipulation from the client detecting memory changes that aren't supposed to happen (For example maybe your health doesn't drop even though you've been hit by a monster)
-Some how the changes made on the client are committed to the server without the server noticing some illegal things are happening

I have no idea what to read or how to even begin.

>writing a plugin for a closed source project
>it relies on Visual Studio to build and link so I have to use it
>never used VS before
>figure out enough to write a basic prototype funneling all the data I need out to another program I wrote in another language via a socket
>want to roll that functionality directly into the C++ program
>need a library for C++
>I have no idea how to do dependency management on Windows
Do I seriously have to download the sources for every project I rely on then download the sources for everything they rely on recursively, import them into visual studio and compile them after adjusting paths, all by hand?

I just want to use a C++ websocket library and have it built when the plugin is built. This feels insane, I must be doing something wrong, how do Windows developers that use visual studio handle dependencies? With msys2 I just install any dependencies I need for building with pacman and tell the linker about them.

If you implement a formula in code, does it become an algorithm?

First 2 are easily google-able.
You don't have to worry about the 3rd one for a while.

what do you guys think i should learn? C or Rust?

i'm writing a loop in java


for(int i = 0; i < 10; i++)
{
// do stuff
}

or

for(int i = 0; i < 10; ++i)
{
// do stuff
}

i'm not sure which one is better

First language? Pick any. Even Python.
Not your first language? Rust

C++

Best book for Python 3? People keep recommending "Learn Python the Hard Way" when it's on 2.7.

i prefer ++i because i++ is unnecessary if you're not using the initial value as in foo[i++] for example. but some fags think i++ looks better

>First 2 are easily google-able.
I remember back in the day this was done via moonlight engine/cheat engine, however times are different now, any processes which are hooked on maplestory either causes the client to crash or give you a hack detected error.

I tried to go onto those old maplestory forum sites but theyre nothing but paying and distribution of hacks rather than tutorials so that isnt helpful.

What should I be looking into?

It's a fucking meme lmao

C -> Rust

Automate the boring stuff is a good one, especially for true beginners

It is compiled into Java bytecode which is then interpreted by the JVM. With JIT it gets taken a step further and the bytecode is compiled into machine code.

Use Java or Python

Learning how to bypass anti-cheat is out of your ballpark kiddo

What about Essentials of Programming Languages?

C. Rust is a meme not going anywhere in the real world.

Automate the boring stuff. It even has a webpage and it is free.

Japanese language parser that subsequently analyzes the text for phonetic details. WOOOOOOO

Thats the point, if I can't view the memory and anything that is going on in the maplestory client how do I begin learning?

and the answer is as always - assembly

Thanks mate!
Appreciate it!

do it on some easier game. it sounds like maplestory really went at it with the anticheat stuff. or make a simple game yourself so you get an idea of how it works and so you know how to "hack" it

Can you create a program in C, run it and while it is running, access it memory and manipulate the program within the confides of a IDE?

If the answer is no. Start there. Leave the "hacking maplestory" for when you actually learn how to walk.

I can't, the SDK is all C++ and the project itself that I want to extend is closed so I have no control over it. I don't have any issue implementing/writing this in C++ just building and linking it.

I've had no issues with C or C++ for my own projects since I mainly use POSIX tools to build them, Visual Studio seems to be the real issue here, if I could just build this plugin with make and clang like I do with everything else I wouldn't be having issues, it's just that I have to use MSVC and "solution" files.

Lisp

Ok? But how do I get started into 'hacking' maplestory?

Like I mentioned, if I can't view the memory or attach a process onto maplestory how do I even begin learning

What would be the program I use to attach onto the game client? For example what would I do with minesweeper.exe on windows

What do you mean exactly? Like if I create a struct called person, give it attributes and use a CLI to do damage/heal or whatever using user input how would you change the memory while its running? I don't understand how this works. Wouldn't you need an external program to view how the program which is currently running?

too bad OOP is just a fad and it doesn't work

it's just a slightly extended form of working with namespaces/classes and structs/objects and methods/functions

how is it a fad? It dominates the software industry

Make a program that continually prints a single statement every 5 seconds. While it is running, edit it memory to make it print something else.

If you can't even do this, please stop dreaming about more complex software much less a game with anti cheats.

You sounds like you are 14 with your insistence on hacking maplestory and your unwillingness to budget despite being told what to do.

Both

Rust if you already know C.

C and python if you are a beginner

availability and cheapness of pajeets

how do people write software that actually does stuff and works right

is it because something like 20 people work on it simultaneously and they all have college degrees and hold themselves to a first-world living standard

can i ever hope to achieve the unattainable goal of making a program that isn't a steaming pile all by my lonesome?

why is everyone into ML now? why is privacy dead? what if I don't want to use React?

if I can't possibly learn everything why should I bother to learn anything

how did C++ become the defacto standard if it's so actively hostile against its users? why should I bother with .h / .hpp files? can you show me? and why does linking take so fucking long

everyones working on such fun stuff but I'll never be apart of it because I don't know the secret club password

vaccines don't cause autism but lisp sure does

my knuckles hurt

was perl6 laughed into obscurity

what's the point of doing stuff in python if you just have to rewrite it in C later

who can I talk to about these things? how will I know what to think?

what's the point of programming if the future is irreparably fucked and probably caused it to be so.

also everythings been done before and better by the smartest people who ever lived funded by limitless wealth in order to fulfill agendas you can never meaningfully affect

born to die life is a fuck

So what is going to replace OOP user?

Rust

>life is a fuck

yep

Rust uses OOP you faggot

EoPL is Essentials of Programming Languages, and has a lot of parsing in it.

The dragon book is entirely about parser generator/combinators but it's old and outdated now, there's also Yacc/Lexx and many other things now outdated.

If you want a language parser, like a spoken language, you want a Lisp book on this like EoPL since you'll be using a lot of macros and they're perfect for creating DSLs like a spoken language parser

Oh my god dude can you please read? Maybe caps will help you read english

I DONT UNDERSTAND HOW YOU CAN CHANGE MEMORY WHILE THE PROGRAM IS RUNNING, DON'T YOU NEED AN EXTERNAL PROGRAM TO FIDDLE WITH THE MEMORY OR SOMETHING?

Is it worth it to take programming in college or can I learn it all from raspberry pi magazines?

Uh no, Rust is multi paradigm. However Rust encourages Functional Programming more than OOP

What is the point of giving you a tool if you can't use the tool you fucking moron. You can't even edit a program within the confines of a IDE, you think a google-able tool is going to help you bypass an anti-cheat that has people 10 times more skilled and knowledge-able than you worked and is probably still working on?

What are you? Some kind of fucking moron?

>read some bullshit
>didnt bother to understand my genius humor
>TRIGGERED
u has no chill

College for anything computer related is a crapshoot.
You might get lucky and have competent classes all the way through, but more than likely you'll just get shitty job-training esque shit that isn't even real job training because you'll never touch the most basic shit like version control or the bourne shell.

Self teach and complement your learning with a CS program if you REALLY REALLY need the degree.

You misspelled autism

is this true?

Read

A flash writer for (what shouldn't be) exotic species of elves.

so it still encourages POO?

>tfw getting used to Rust's borrow system
It's a pretty nice way to prevent dangling pointers tbqh. Why are people so angry about this?

Name me one complex project that doesn't use POO

if you're going to college anyway you may as well take programming

I can't believe you're actually this fucking retarded

Its obvious I'm a beginner at this and am trying to find the logic behind how these things works, can you not see what im trying to say? I don't understand how memory manipulation works to begin with after running a program, thats why I keep asking "how are you going to change the memory after the programs been executed (print statemnets in an infinite while loop for e.g)"

But no you keep fucking talking about anti-cheat or fucking maplestory when YOU clearly cannot understand the implications of my words.

I DO NOT GIVE A FUCK ABOUT MAPLESTORY IM TRYING TO LEARN HOW THE LOGIC WORKS IN CHANGING MEMORY IN A PROGRAM. i.e How is it done?

God fucking damn I can't believe I have to spell myself out.

Just forget replying, if you're too retarded to even comprehend coherent english theres no point conversing with you

Because dangling pointers are a non-issue and literally do not exist past your first day self-teaching C.

The Linux Kernel

literally every single project I've ever made.

FP is something bjarne stroustrup himself recommends

Thanks, I've been thinking about taking classes along with being self taught for a while. I know shell scripting and maintain linux systems. do you think having a degree would be an advantage over just studying on my own and getting a cert?

you will need to learn to program(including asm), learn hardware, learn ida, learn how to debug with x64dbg or similar, learn to hex edit, its gonna take quite some time

>encourages Functional Programming more than OOP
why do you even feel like this is a valid thing to say?

i wouldn't call you autist, im polite

>dangling pointers are a non-issue
Are you pretending do deny what a massive pain in the ass it is? Once your codebase reaches 5k it's sure is nice to prevent those bugs across the projects.

You know google exist right you fucking imbecile?
>Hurr durr let me pretend I am asking about basic memory manipulation all along.
Fuck off retard.

where did I say anything about FP? did you read my post?
couldn't care less about strouscuck though.

fizzbuzz doesn't count

obviously it doesn't since it's not a complex project. what's the point of this retarded post?

Read this book and stop posting here
nostarch.com/gamehacking

It has everything you've asked about

Rust's object orientation is not that explicit or evolved as common object-oriented languages such as Java, C#, and Python as it doesn't have classes. Compared with Go, Rust gives you more control over memory and resources, so lets you code on a lower level. Go also works with a garbage collector, and it has no generics or a mechanism to prevent data races between its goroutines that are used in concurrency. Julia is focused on numerical computing performance; it works with a JIT compiler and doesn't give you that low-level control that Rust gives.

I know the basics of asm but I don't know anything about hardware, hex editing or stuff like that.

Lets scale it down then, like the other user said, if I create an infinite while loop which prints "Hi" every 5 seconds or something, how would I go about changing the message "Hi" to something else if my program is already running? How do I fiddle with already running programs?

Go fuck yourself you troglodyte
>DURRHH GOGGLES GIVES ME EVERYTHINGS
>DURR LETS JUST LERN 2 QUANTUM MEKANIKZ OFF GOGGLES DURR

>All these fancy new languages
>Go will win even if it is the worse cause Google backs it
Suffering

>Rust's object orientation
Dropped that piece of shit. it's a shame, I even liked it a little.

>Rust encourages "Functional Programming"
>so it still encourages "POO"?

Could you describe a scenario where dangling pointers are an actual problem?
Whenever I free a pointer, it goes out of scope almost immediately, I have no way of accessing that same address again.
If those pointers are in structs, you should be memset zeroing them before the pointer leaves scope.

programming in java is comfy

Work in an actual project

>le OOP is bad meme XDXDXDDDD

>However Rust encourages Functional Programming more than OOP
Which is the same as saying
"However Rust encourages Functional Programming more than it encourages OOP"
Which means the following is true
"Rust encourages OOP"

I am a freshman year CS student, taking data structs, and it's fucking amazing. Any good books on it with lots of exercises?

You first.

>Comparing quantum mechanics to simple memory manipulation
Might as well stop now if you can't research simple topics by yourself. Are you going to come crying onto /dpt/ every time you run into a basic problem you mong?

Yes, not more than functional programming.

>I have never seen a dangling pointer bug in my life
Oh boy

>fancy
they're embarrassing garbage

is this a post straight from plebbit? cause it sure as fuck looks like that's the case.
>Yes
which means it's garbage. what a fucking shame, it could've been a pretty decent language.

I am quite impressed with Rust desu

This is all explained in the Art of Software Security Assessment, and Robert Seacord's book on safe C programming he puts out every 2 years or so.

Make sure that once a resource is freed that no dangling pointers remain available for use. Don't trust the scope when working with a language that can directly access memory anywhere.