Hinter den Kulissen von Blitz3D
Übersicht BlitzBasic FAQ und Tutorials
VertexBetreff: Hinter den Kulissen von Blitz3D |
Mo, Jul 05, 2004 20:39 Antworten mit Zitat |
|
---|---|---|
So ich habe nochmal fast alles zusammengefasst, was bei den Hackarbeiten vor dem Forumcrash zusammen gekommen ist.
Code: [AUSKLAPPEN] Autor: Vertex
Credits: - Xenon - Vertex - halo - Shagwana - TheShadow - Panno - Fredborg TCP HostIP: Offset 16, Integer Bank Address: Offset 4, Integer Size: Offset 8, Integer Image Frames: Offset 0, Byte ImageBuffer Locked: Offset 60, Integer; Value=1 is locked, Value=0 is unlocked Videoaddress: Offset 72, Integer Width: Offset 92, Integer Height: Offset 96, Integer Bits per Pixel: Offset 100, Integer Format: Offset 104, Integer X-Handle: Offset 300, Integer Y-handle: Offset 304, Integer MaskColorBlue: Offset 308, Byte MaskColorGreen: Offset 309, Byte MaskColorRed: Offset 310, Byte Brush Dummy: Offset 0, Integer Brush Shininess: Offset 28, Float Brush Alpha: Offset 32, Float Brush FX: Offset 40, Integer Texture Texture Flags: Offset 32, Integer Texture Blend: Offset 48, Integer Texture Coords: Offset 52, Integer Texture Scale U: Offset 60, Float; Value = 1.0 / Value Texture Scale V: Offset 64, Float; Value = 1.0 / Value Texture Position U: Offset 68, Float; Value = -Value Texture Position V: Offset 72, Float; Value = -Value Texture Angle: Offset 76, Float; Value = (-360.0*Value)/2.0/Pi Entity Entity Refresh: Offset 44, Integer; Value=3 to refresh Entity Order: Offset 228, Integer Entity Radius X: Offset 232, Float Entity Radius Y: Offset 236, Float Entity Box X: Offset 264, Float Entity Box Y: Offset 268, Float Entity Box Z: Offset 272, Float Entity Box Width: Offset 276, Float Entity Box Height: Offset 280, Float Entity Box Depth: Offset 284, Float Entity PickMode: Offset 288, Integer Entity Pick-Geometry: Offset 292, Integer Entity FX: Offset 724, Integer Camera Camera Zoom: Offset 576, Float Camera Viewport X: Offset 580, Integer Camera Viewport Y: Offset 584, Integer Camera Viewport Width: Offset 588, Integer Camera Viewport Height: Offset 592, Integer Camera CLS-ZBuffer: Offset 608, Integer Camera ProjMode: Offset 612, Integer Camera Fog-RangeStart: Offset 628, Float Camera Fog-RangeEnd: Offset 632, Float Camera RangeStart: Offset 640, Float Camera RangeEnd: Offset 644, Float Mesh Surfaceheader: Offset 644, Integer Surface Count: Offset 0, Integer Surfacelist: Offset 56, Integer Surfacehandle: Offset 0, Integer Vertex: Offset 28, Integer Vertex X: Offset 0, Float Vertex Y: Offset 4, Float Vertex Z: Offset 8, Float Vertex NX: Offset 12, Float Vertex NY: Offset 16, Float Vertex NZ: Offset 20, Float Vertex Blue: Offset 24, Byte Vertex Green: Offset 25, Byte Vertex Red: Offset 26, Byte Vertex Alpha: Offset 27, Byte; Value = Value/255.0 Vertex U1: Offset 28, Float Vertex U1: Offset 32, Float Vertex V2: Offset 36, Float Vertex U2: Offset 40, Float Vertex Boneindex: Offset 44, Integer Vertex X: Offset 48, Float Vertex Y: Offset 52, Float Vertex Z: Offset 56, Float Vertex NX: Offset 60, Float ... Until Vertex N Trianglelist: Offset 44, Integer Vertex 0: Offset 0, Short Vertex 1: Offset 2, Short Vertex 2: Offset 4, Short ... Until Triangle N Surface Refresh: Offset 64, Integer; Value=0 to refresh Vertexcount: Offset 100, Integer Until Surfacehandle N Local Array Local a[10] Address = Int(a) Type Type test_t Field aa% Field bb# Field cc$ Field dd[2] End Type a.test_t = New test_t b.test_t = New test_t c.test_t = New test_t Int(b) Int(c): Offset 4, Integer Int(a): Offset 8, Integer aa%: Offset 20, Integer bb#: Offset 24, Integer cc$: Offset 28, Integer dd[]: Offset 32, Integer dd[0]: Offset 0, Integer dd[1]: Offset 4, Integer dd[2]: Offset 8, Integer mfg olli |
||
- Zuletzt bearbeitet von Vertex am Di, Jul 06, 2004 15:23, insgesamt einmal bearbeitet
Plasma(alt)Betreff: ok |
Di, Okt 05, 2004 19:37 Antworten mit Zitat |
|
---|---|---|
super vertex kann ich brauchen !!
bin so vergesslich |
||
DIV is dead ! |
AvaGast |
So, Nov 28, 2004 15:06 Antworten mit Zitat |
|
---|---|---|
Mich würd mal interessieren, wie ich das anwende ...
Also wie ich in die entsprechenden Banks reinkomme (wo ich die Adressen herbekomme) und wie ich dort etwas verändern kann? Ein kleines Beispiel wäre echt klasse! Mich interessieren vorallem Images... Lieben Gruss + Ava + |
||
eXceptION |
Mo, Nov 29, 2004 6:44 Antworten mit Zitat |
|
---|---|---|
beim image.lock ... value >= 1 ist locked... oder?
also wenn: lockbuffer(buf) lockbuffer(buf) muss man auch: unlockbuffer(buf) unlockbuffer(buf) directx macht es auf jedenfall so dass die lockcount steigert bei locken, und umgekehrt bei unlocken... ob bb objects das auch so machen weiss ich ja nicht... |
||
Norweger...
Spreche aber verdammt gut 8086 |
Freeman |
Mo, Nov 29, 2004 14:53 Antworten mit Zitat |
|
---|---|---|
ich frage mich auch wie ich das nutzen kann. Wäre nett wenn man jemand ein gutes beispiel schreiben könnte, damit die breite masse das auch versteht und nichtnur die cracks | ||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
Jan_Ehemaliger Admin |
Mo, Dez 06, 2004 11:34 Antworten mit Zitat |
|
---|---|---|
Beispiel zum "hacken" der Banks:
Code: [AUSKLAPPEN] ;.lib "kernel32.dll" ;RtlMoveMemory(Destination%, Source%, Length%) ; copy memory from [Source, Source+Length[ to [Destination, Destination+Length[ ;Bank ; Address: Offset 4, Integer <-- Stehen die ganzen Werte drinne ; Size: Offset 8, Integer <-- Steht drinne, wie Groß die Bank ist Graphics 640, 480, 32,2 ;Bisschen was Zufälliges SeedRnd MilliSecs() ;Größe der Bank Size=Rand(4,32) ;Bank erstellen srcBank% = CreateBank(Size+1) For i = 0 To Size ; Bank Füllen PokeByte(srcBank, i, 3*i) Next Print "Anzahl: "+Get_Mem_int(srcBank+8) +"="+ (Size+1) ; 1. Test, ob das aus der Bank genauso groß ist, wie die size destBank% = CreateBank(Get_Mem_int(srcBank+8)) ; erstellen der Ziel Bank RtlMoveMemory(destBank, Get_Mem_int(srcBank+4), Get_Mem_int(srcBank+8)) ;Kopieren der Source in die Zielbank For i = 0 To Size ; Anzeigen der Zielbank Print i+": "+PeekByte(destBank, i) + " " + i+"*3= " + (i*3) Next WaitKey() ; warten End ; beenden Function Get_Mem_int(Adress%); Kleine Hilfe Function von mir :-) Local destBank = CreateBank(4) Local Integer RtlMoveMemory(destBank, Adress%, 4) integer=PeekInt(destBank,0) FreeBank destBank Return integer End Function Dann findet man auch ganz schnell andere sachen heraus: Zitat: ;StartAdress: Texturebuffer(Texture)
; Texturewidth: Offset 92, Integer ; In Pixel ; Textureheight: Offset 96, Integer ; In Pixel ; Texturedepth: Offset 100, Integer ; in Bit |
||
between angels and insects |
Xaymarehemals "Cgamer" |
Mo, Jul 12, 2010 14:16 Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Entity
Entity Refresh: Offset 44, Integer; Value=3 to refresh Entity Pitch: Offset 48, Float Entity Yaw: Offset 52, Float Entity Roll: Offset 56, Float Entity Unknown: Offset 60, Float Entity X: Offset 64, Float Entity Y: Offset 68, Float Entity Z: Offset 72, Float Entity Matrix: Offset 76, Float(16) Entity Matrix: Offset 80, Float(15) Entity Matrix: Offset 84, Float(14) Entity Matrix: Offset 88, Float(13) Entity Matrix: Offset 92, Float(12) Entity Matrix: Offset 96, Float(11) Entity Matrix: Offset 100, Float(10) Entity Matrix: Offset 104, Float(9) Entity Matrix: Offset 108, Float(8) Entity Matrix: Offset 112, Float(7) Entity Matrix: Offset 116, Float(6) Entity Matrix: Offset 120, Float(5) Entity Matrix: Offset 124, Float(4) Entity Matrix: Offset 128, Float(3) Entity Matrix: Offset 132, Float(2) Entity Matrix: Offset 136, Float(1) Entity Order: Offset 228, Integer Entity Radius X: Offset 232, Float Entity Radius Y: Offset 236, Float Entity Box X: Offset 264, Float Entity Box Y: Offset 268, Float Entity Box Z: Offset 272, Float Entity Box Width: Offset 276, Float Entity Box Height: Offset 280, Float Entity Box Depth: Offset 284, Float Entity PickMode: Offset 288, Integer Entity Pick-Geometry: Offset 292, Integer Entity FX: Offset 724, Integer Zugriff auf Position, Rotation und Matrix ist auch möglich. Letzteres brauche ich^^ |
||
PacMani |
Mo, Jul 12, 2010 18:31 Antworten mit Zitat |
|
---|---|---|
Ok
Sieht sehr interessant aus. Wäre der Zugriff durch "hacken" schneller als die internen B3D-Befehle oder was kann ich für Eigenschaften ändern, die ich so nicht kann? |
||
Xaymarehemals "Cgamer" |
Di, Jul 13, 2010 3:14 Antworten mit Zitat |
|
---|---|---|
Um auf die Frage von Pac-Man zu antworten: In fast jedem fall, außer du nimmst BB zum hacken^^ | ||
Übersicht BlitzBasic FAQ und Tutorials
Powered by phpBB © 2001 - 2006, phpBB Group