0 registered members (),
1,397
guests, and 7
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: a few questions about pro
[Re: Iglarion]
#448021
01/17/15 11:37
01/17/15 11:37
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
so.. here's some stuff from the ue4 elemental demo: What I want to say with this is that you can access everything thats loaded into the ram at runtime and monitor every single drawcall. Edit: so as long as you don't encrypt your textures & meshes and decrypt them everytime you need the information by using vertex and pixel shaders you can't make your stuff unaccessible
Last edited by Kartoffel; 01/17/15 11:53.
POTATO-MAN saves the day! - Random
|
|
|
Re: a few questions about pro
[Re: Iglarion]
#448023
01/17/15 11:57
01/17/15 11:57
|
Joined: Dec 2011
Posts: 1,823 Netherlands
Reconnoiter
OP
Serious User
|
OP
Serious User
Joined: Dec 2011
Posts: 1,823
Netherlands
|
Thanks that was alot of usefull information! 1. Do you mean the BSP tree? It used to be the default tree in prior acknex versions and is well suited for (mostly) indoor or oldschool shooters and games like Doom, Quake, Forsaken/ Descent and similar. The region_set feature is nice though, especially for suppressing stuff like content in a house when the player is outside of it. , yes the BSP and portals ( scene manager ), I was wondering if it could be used for preplaced models too, but its only for blocks right? I am working on a own realtime map editor (but no WED placed block support I think but it does have WED-like compiling) and its hard to get back to WED . 4. The starter definition is a joke by modern standards, it's from old A4 days but you can do some simple stuff with it (preferably hiding it I guess). , so using a simple script made in e.g. visual studio is the only way to overhaul it? I need to change it for some program. For games I can live with it, but for programs its just really awkward. One additional remark: you can select WRS files during runtime, which enables the following possibilities: , that sounds really handy. I don't mind if the best hackers out there can hack it, just as long as it protects against most c&p people I am happy .
Last edited by Reconnoiter; 01/17/15 11:58.
|
|
|
Re: a few questions about pro
[Re: Reconnoiter]
#448030
01/17/15 15:42
01/17/15 15:42
|
Joined: Oct 2007
Posts: 5,210 İstanbul, Turkey
Quad
Senior Expert
|
Senior Expert
Joined: Oct 2007
Posts: 5,210
İstanbul, Turkey
|
off-topic: I have a wrs unpacker for a6 and a7 wrs files in source code format(not public, not planning to share) i wrote a couple of years back sitting on my hdd somewhere.
3333333333
|
|
|
Re: a few questions about pro
[Re: alibaba]
#448035
01/17/15 16:37
01/17/15 16:37
|
Joined: Oct 2011
Posts: 1,082 Germany
Ch40zzC0d3r
Serious User
|
Serious User
Joined: Oct 2011
Posts: 1,082
Germany
|
First 4 bytes of a WRS telling you which WRS format it is. A8 uses WRS4 (0x57 0x52 0x53 0x34), followed by 32 bytes for the name. Now, thats the header of the file. How do we decrypt it? After every 32 bytes, the name of the file follows. Now we simply XOR all the data content by the value 0xAA for WRS4. This works for every gamestudio WRS packer since A4. The only thing changed was the XOR byte. Pro: XOR is fast Con: Why not change the XOR bytes with the current reading offset? Thats so easy to reverse.. Would take some more time to figure out... Seriously, just pack a .exe in WRS and look at the first 2 bytes (always MZ, called PE Signature) Now you can simply figure out which byte was used to xor (simple math)
Last edited by Ch40zzC0d3r; 01/17/15 16:38.
|
|
|
Re: a few questions about pro
[Re: Ch40zzC0d3r]
#448041
01/17/15 20:50
01/17/15 20:50
|
Joined: Apr 2007
Posts: 3,751 Canada
WretchedSid
Expert
|
Expert
Joined: Apr 2007
Posts: 3,751
Canada
|
Why not change the XOR bytes with the current reading offset? Thats so easy to reverse.. Would take some more time to figure out... Because to make it effectively secure you need a key of the length of the content, and the key can't be ever shared with anyone you don't trust. This would essentially be a one time pad. It would also be useless, because you either share the key and obfuscate it in your binary somewhere but have it still accessible to unpack your data, or you don't and your users won't be able to play the game anymore. It really boils down to the following: At some point you have to access the data on the client machine. So the application itself has to somehow be able to unpack them. You can obfuscate it, or do hacks like having a slave .exe that launches your actual .exe and attaches itself as a silent debugger to it. Windows only allows one debugger attached per application, so it makes it harder for third party to attach a real debugger and watch the execution of your program. Really, the only reason you probably want encryption and resource packs is for updates: Sign your resource packs cryptographically and check the signature at runtime. That way you can at least make sure that no one is supplying malicious updates to the user.
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com
|
|
|
Re: a few questions about pro
[Re: WretchedSid]
#448042
01/17/15 21:29
01/17/15 21:29
|
Joined: Oct 2011
Posts: 1,082 Germany
Ch40zzC0d3r
Serious User
|
Serious User
Joined: Oct 2011
Posts: 1,082
Germany
|
Because to make it effectively secure you need a key of the length of the content, and the key can't be ever shared with anyone you don't trust. This would essentially be a one time pad. It would also be useless, because you either share the key and obfuscate it in your binary somewhere but have it still accessible to unpack your data, or you don't and your users won't be able to play the game anymore.
It really boils down to the following: At some point you have to access the data on the client machine. So the application itself has to somehow be able to unpack them.
You can obfuscate it, or do hacks like having a slave .exe that launches your actual .exe and attaches itself as a silent debugger to it. Windows only allows one debugger attached per application, so it makes it harder for third party to attach a real debugger and watch the execution of your program.
Really, the only reason you probably want encryption and resource packs is for updates: Sign your resource packs cryptographically and check the signature at runtime. That way you can at least make sure that no one is supplying malicious updates to the user. Well your completely right here. But most people wont even try to decrypt the file when they notice that the encryption is not only xored by a byte or dword. All Im saying is to make it a bit harder for those people out there Btw, you can detach a debugger from a process.
Last edited by Ch40zzC0d3r; 01/17/15 21:29.
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|