HN user

ollyfg

239 karma

Software Developer in New Zealand.

Posts10
Comments28
View on HN
JSFuck (2012) 5 years ago

I probably deserve to get downvoted to oblivion for this but... I've deployed JSFuck in production!

We wanted to obfuscate this bit of code, to make life just a little bit harder for reverse engineers. We made this huge function where we pretty much passed in all our application state, and it would run this JSFuck code, and spit out a token. We even made a few tweaks to the code so that you couldn't just reverse it back into JS with something like https://enkhee-osiris.github.io/Decoder-JSFuck/.

Performance was surprisingly alright, and it has never hit an environment where it couldn't execute. All in all, a fun few hours setting it up, and I haven't had to touch it since!

Wow! How have I not heard of frida? This should make my normal process much simpler!

1) Decompile App -> smali

2) Decompile App -> Java (non-reversible, but easier to read)

3) Search the app for certificate pinning code (check for network_security.xml or grep for OKHttp pinning functions)

4) Find the code I just found in java, in the smali version

5) Remove the pinning code

6) Recompile smali -> apk

7) Fix whatever was causing the smail not to recompile

8) Recompile again

9) Pray

10) Install on device

11) Run app (that hopefully doesn't crash)

12) Pipe connection through Charles proxy

13) Read api calls!

I'll definitely give it a go.

In general I think there are nowhere near enough resources on decompilation, particularly on a purportedly "open" platform like Android. Really looking forward on the rest of the tutorial coming online.

Ian Knot 8 years ago

Interesting!

I've switched to using Ian's knot, and have found it to be both faster to tie and easier to set up. I think once you work out how to 'pick up' the laces in the right way, so that they are already in the correct starting position, it gets a lot faster/simpler to think about.

Of course, I haven't been in your shoes - my laces are all the round type and I haven't tried it with flat ones.

To each their own!

Looks good! One feature that would definitely get me using this for personal projects is the ability to add/customise axis. You might already have this, but I didn't see it in any of your examples, so if this is present, please advertise it!

My general reaction when seeing a chart without axis is "pretty, but I can't see what it means", where as with decent labelled axis I can dig into it and look at data points, and come to my own conclusions about the data.

Still, this is a useful service that could make life much easier - keep at it!

If there is one thing I've learned from university, it's this. Keeping units makes your writing messier and longer, but when it comes to checking they are absolutely invaluable. Your equation to give you volumetric flow gave you (kg/s)? Well density is (kg/m^3) so just divide your answer by density! (this is a problem my friend was having just yesterday)

I think that it is a jerk thing to do if your service is exactly the same as the one in the thread, however in this case the first poster has identified some annoying problems with Google's system, so pointing out your own system which (I assume), doesn't have these problems is constructive advice (In my opinion).

Wow, this makes a lot of sense. In what ways is this different to the way I was taught through school and university (that for a+-b * c+-d, the answer was (ab)+-sqrt( (b/a)^2) + (d/c)^2 )?

I can see that ((a-b) (c-d)+(a+b) * (c+d))/2 is different to a*b, and that makes sense when you think about it, but the second part is confusing me a bit.

Also, I'm a bit confused by your suggestion to break it down into cases, do you mean if an uncertainty is negative? Because at the moment I'm making all uncertainties positive, but if there are cases where negative ones are correct, I need to fix that up.

I'm not entirely sure I understand what you're saying here, but I think the difference you're noticing is due to co-variance, and the fact that this calculator doesn't take it into account (or just assumes that it's 0).

For example, when you use covariance properly you could say: x=2+/-2 x-x=0

since covariance = 1

But this calculator assumes that covariance is zero, so it does the calculation (2+/-2) - (2+/-2) = 0+/-sqrt(2^2 + 2^2) = 0+/-2.8

If I'm misunderstanding and this is another problem, please help me, I'm not all that good with uncertainties, but am trying to learn more in this area as it's very useful.

Hi, author here, I just want to say that if you happen to know more correct uncertainty propagation for scientific functions, please submit a pull request.

Also, this is aimed at undergraduates, so it ignores covariance.

For me, I think for a while until I find something that I really want to make, or something that bugs me that I can fix, and even if it's something really very small, that motivation powers my first steps back into coding. It doesn't matter if someone's done it before, just do it your way.

Which English? 12 years ago

This is really cool, I didn't know that so many of those sentences might be considered valid.

It got my country right with it's second guess (New Zealand), which is pretty good considering what a small sample of kiwis it must have.

[dead] 12 years ago

After reading through this landing page, it took me some time to realise what this actually does. It could say "This is a service that lets you email people depending on which part of your website they use, and how often", which is much clearer.

Looks much better than the original photos.

On a slightly related note, camscanner, an app for android (and IOS?) does something similar, but can also correct for the angle at which the photo was taken (I think it has to detect squares/rectangles in the photo). Does anyone know if this is possible using the command line too?