Hinter den Kulissen von Blitz3D
Übersicht

![]() |
VertexBetreff: Hinter den Kulissen von Blitz3D |
![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
super vertex kann ich brauchen !!
bin so vergesslich |
||
DIV is dead ! |
AvaGast |
![]() 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 |
![]() 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 |
![]() 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 |
![]() 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" |
![]() 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 |
![]() 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" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um auf die Frage von Pac-Man zu antworten: In fast jedem fall, außer du nimmst BB zum hacken^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group