Mar 9, 2008, 06:16 AM | |
![]()
Hi there!
![]() I have tried to create a VB or C++ application for Jazz2 which will modify packets which are send and recieved - just like WPE. But i can't make it work - I have tried to create a "Layered Service Provider" and some other stuff. Could anyone please post an example of how to do this ![]() I would really apreciate it ![]() |
Mar 9, 2008, 09:14 AM | |
__________________
Pack: Legacies - Level 1: Fairytale Fantasy Land - 140x140 15.4% - |||||||||| Diamondus Night FP - y_light.xm - Level 2: Barricade Beach - 110x110 6% - |||||||||| Beach+ Tropical - tropical_beach.s3m - Level 3: Starlight City - 140x140 5.387% - |||||||||| Big Landscape Evening - aws_anew.xm - Level 4: Nightly Nature Walk - 180x180 4.641% - |||||||||| IC - SluggionP - alc_run.xm |
Mar 9, 2008, 09:22 AM | |
Why not use the native assembly functions inside jj2 to send chat?
It's very possible and has been done before.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Mar 9, 2008, 10:48 AM | |
Packet editing is not a very simple concept at all. The way WPE works is to inject a DLL into the host application, which hooks onto the winsock functions: recv() recvfrom() send() sendto() etc. What it does is reroute these functions into some function within the DLL that modifies the packet. This is probably also your best shot at creating anything close to a packet editor.
Although like Cpp said, for JJ2 packet editing is very unnecessary since every function is provided very nicely to you already. Even if you really need to edit the packets for whatever reason, there are already nicely laid out functions in JJ2 assembly which you can hook directly, rather than the winsock functions.
__________________
<TABLE border=1><TR><TD>Facts: Jazz Sprite Dynamite (JSD) Tileset Extractor Neobeo's Firetruck </TD><TD>Myths: Jazz Creation Station Plus (JCS+) - 10% Coming soon - a dedicated server! - 25% Jazz Sprite Dynamite v2 (JSDv2) - 2% Another generic single-player level - 0%</TD></TR></TABLE> |
Mar 9, 2008, 12:53 PM | |
First of all you'll need to know the location (memory address) of each function you wish to use. And to add some complexity, each jj2 version has different addresses. The second thing is knowing what parameters to pass to the function. And finally, you need to write some code to call the function. In most cases this would be a DLL that is attached to the game by some other process. The second option is to use assembly code injection and then have this code call the requested function. Both concepts are an advanced topic and requite a certain amount of knowledge about assembly and other low-level CPU functionality.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Mar 9, 2008, 01:00 PM | |
Because that makes it possible to call the assembly functions directly from C++ by using function pointers.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Mar 9, 2008, 01:11 PM | |
Yes. I've always used the second method and I've written a simple proxy function in Visual Basic 6. The function takes an address of the assembly function you wish to execute and four extra parameters. Then it injects a number of bytes into the target process and executes them by creating a new thread. The injected assembly code then takes care of the rest.
Unfortunately I can't show you any of the code right now as I don't have it handy. I'll likely upload an example onto my server when I have time.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a> |
Mar 10, 2008, 02:27 PM | |
i program in C++ also, dunno about this one. looks interesting.
|
![]() |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 09:12 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.