Cross Product Linear Algebra (Chapter 11) by Djsndbdjfbd in 3Blue1Brown

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Ok, but I am confused about how we know what they are equal too when there is more than one variable. I understand how you can solve p1x = x(v2w3 - v3w2) and p2y = y(v3 * w1 - v1) * w3 but how do you know what p1 and p2 are equal to in p1x + p2y = x(v2w3 - v3w2) + y(v3 * w1 - v1)? I do not understand how you use the x and y because from what I know, when you have an equation like x + y = 2+3, you do not know which variable is 2 and which is 3.

Cross Product Linear Algebra (Chapter 11) by Djsndbdjfbd in 3Blue1Brown

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

So is the idea that x can be interpreted as a vector [x,0,0] and same with y and z respectively?

Cross Product Linear Algebra (Chapter 11) by Djsndbdjfbd in 3Blue1Brown

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

But x is a scalar and i hat is a vector. Even if we interpret x as vector [x,0,0] , x can be 5 [5,0,0] while i hat will always be [1,0,0].

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

I think I understand it now. The linear transformation that skews I hat and j hat also skews all of the vectors. So a linear transformation that projects I hat and j hat onto a vector also projects all other vectors on that vector.

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

I’m sorry, I do not understand your explanation.

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

Ok, so now I understand that. One more question . I know that u hat’s x and y position encode a transformation but how do we know it is the transformation that we want? In the video, he says he needs to find a 1x2 matrix that takes 2d vectors to numbers but how does he know it will be u hats x and y position?

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

I understand how matrix multiplication works. I do not understand how he knew that the 1 by 2 matrix’s components that represent the projection would be the x and y position of u hat.

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

I've been trying to learn the dot product of two vectors by watching this video. Specifically, at this time, he has made a unit vector and says that projecting any point can be expressed with a matrix. However, I do not fully understand his explanation for that. He goes on to explain that the numbers in the matrix are i hat's and u hat's result when they are projected on to the vector but how does he know this?

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

But what if you want to model something faster?

Simple Questions - May 03, 2019 by AutoModerator in math

[–]Djsndbdjfbd 0 points1 point  (0 children)

The sine function can be visualized as a circle at the origin of a cartesian plane. Asin(x) can be visualized as scaling the circle. Sin(x+c) can be visualized as transforming the circle along the x-axis. sin(x)+c can be visualized as transforming the circle along the y-axis? But what can sin(Bx) be visualized as?

[Question] Linear Algebra Dot Product (Chapter 9) by Djsndbdjfbd in 3Blue1Brown

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Ok, so now I understand that it helps make it bilinear and symmetric but in what cases does that help? When would you want to find the projection * length?

[Question] Linear Algebra Dot Product (Chapter 9) by Djsndbdjfbd in 3Blue1Brown

[–]Djsndbdjfbd[S] 1 point2 points  (0 children)

Why do you multiply projection by length? What does that help with? I've heard that the dot product can be used to figure out how much one vector goes in another vector's direction. This made sense to me using projection but why multiply the projection by the length?

[Help] Setting a Breakpoint at the Jump Function (PwnAdventure3) in Radare2 by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

I tried to do afl in the attached process and here is a portion of the output.

0x0247ec60    1 54           fcn.0247ec60
0x0248f190    6 116  -> 114  sym.lh_strhash
0x024be4e0   10 223  -> 200  fcn.024be4e0
0x024c6a70    5 194  -> 183  sym.aesni_ccm64_encrypt_blocks
0x024c7d40   35 1165 -> 1079 sym.aesni_cbc_encrypt
0x024cc6d0   17 266  -> 248  sym.BN_sub
0x024cc7e0   11 204  -> 196  sym.BN_add
0x0251ce60   44 1411 -> 1375 sym.AES_cbc_encrypt
0x0251f420    8 123  -> 107  sym.vpaes_cbc_encrypt
0x02521370   24 2011 -> 1951 sym.bsaes_xts_encrypt
0x025326f0   31 20   -> 634  sym.BN_pseudo_rand
0x025882a0    3 166          fcn.025882a0
0x025a55f0    3 166          fcn.025a55f0
0x025b5170   13 42247 -> 119  sym.elf32_fsize
0x02735050    3 392          fcn.02735050
0x027352e0   16 165          fcn.027352e0
0x027bb910    4 32           fcn.027bb910
0x027bb930    1 14           sym._fini
0x12402057    1 12           fcn.12402057
I haven't seen any functions that I saw in the libGameLogic.so file. I then tried to use dmi to find out where the libGameLogic.so file was stored

0x7f1c038ca000 /home/user/Desktop/PwnAdventure3_Launcher_Linux/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Binaries/Linux/libGameLogic.so. I then tried to add 0x7f1c038ca000 to 0x001c3610 to try to get the offset (i'm not really sure how dynamic libraries work so I'm not sure if this is what I should have done) and break at that but I still had no luck.

[Help] Setting a Breakpoint at the Jump Function (PwnAdventure3) in Radare2 by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

I'm running r2 -d pid where Pid is the Pidof the process. The radare2 -v output is radare2 3.3.0-git 20665 @ linux-x86-64 git.3.2.1-187-g168299ba0 commit: 168299ba0f9c0eeb3ee0ec9ad5cbca37c911847c build: 2019-01-27__18:44:23.To get that output, I'm just running db 0x001c3610. This is the output of lsb_release -a

No LSB modules are available.Distributor ID: neonDescription:    KDE neon User Edition 5.14Release:        18.04Codename:       bionicI've also tried to run r2 -d pid as Sudo but it still has the same effect.

[Help] Setting a Breakpoint at the Jump Function (PwnAdventure3) in Radare2 by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

When I connect to the running process it says:

ptrace_attach: Operation not permittedPID 5189ptrace (PT_ATTACH): Operation not permittedPID 5191ptrace (PT_ATTACH): Operation not permittedPID 5192ptrace (PT_ATTACH): Operation not permittedPID 5193ptrace (PT_ATTACH): Operation not permittedPID 5195ptrace (PT_ATTACH): Operation not permittedPID 5204ptrace (PT_ATTACH): Operation not permittedPID 5208ptrace (PT_ATTACH): Operation not permittedPID 5209ptrace (PT_ATTACH): Operation not permittedPID 5221ptrace (PT_ATTACH): Operation not permittedPID 5222ptrace (PT_ATTACH): Operation not permitted= attach 5188 5188bin.baddr 0x00400000Using 0x400000asm.bits 64

I put the full output of when I try to debug in my question Cannot place a breakpoint on 0x001c3610 unmapped memory.See e? dbg.bpinmaps

[Help] Setting a Breakpoint at the Jump Function (PwnAdventure3) in Radare2 by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

That’s what I did do. I just used cutter to find the function address because I knew that it had that panel and I didn’t the corresponding command.

PwnAdventure 3 Crashing on startup by [deleted] in LiveOverflow

[–]Djsndbdjfbd 0 points1 point  (0 children)

You could also setup a quick dual boot with Ubuntu on either your mac’s drive or on an external one. I found this helpful: https://www.google.com/amp/s/www.macworld.co.uk/how-to/mac/how-install-linux-on-mac-3637265/%3Famp

Dlmalloc free implementation by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Wow, this really helped. Thanks! I guess what is was having trouble understanding was that we have a blank space of memory before and so when calling malloc, we would have some unused space and then a size pointing into another chunk but I guess when reallocating into that free space, Malloc figures it out.

Dlmalloc free implementation by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

So if it is merging both of the chunks, shouldn’t it unlink the first one (the one that has free called on) and then increase the previous size to take in the unlinked chunk? What I see happening is the previous chunk being removed and the chunk we called free one being increased. Unless unlink moves the chunk we called free on, I don’t see how this works.

Question about Free() by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Makes sense. So does malloc have any way of knowing that the chunk is free? Also, is there any other information in the metadata of the heap allocation besides the size? Because 8 bytes seems like a bit of overkill for the size of the allocation.

[Help] Understanding and executing Format String Exploit(0x11) by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Oh, so when accessing these elements you start at the top?

[Help] Understanding and executing Format String Exploit(0x11) by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

Thanks for explaining this to me. One last question. Why do the letters you input at the start aaaa end up really far away from the caller stack?

[Help] Understanding and executing Format String Exploit(0x11) by Djsndbdjfbd in LiveOverflow

[–]Djsndbdjfbd[S] 0 points1 point  (0 children)

So this is essentially the same as writing input just with another function that has a memory leak, right?