Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Vanilla Dark Souls 2 Bullet Modification
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Tue Dec 01, 2015 6:58 pm    Post subject: Vanilla Dark Souls 2 Bullet Modification Reply with quote

So, I want to make custom spells, and i read that in order to do that, you use a bullet modification table. I have downloaded about 3 different up-to-date Dark Souls 2 tables, but all of the values are just question marks. I ran 3 different types of CE's from a pure version to the latest 6.4 as admin, and the values are STILL question marks. Is this a problem with me, or the tables? I still can't find any up-to-date video tutorials, so i'm stuck doing this by reading a somewhat vague guide that is based around an out-of-date video tutorial. If someone could lead me through the process, it would be MUCH appreciated.
_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Tue Dec 01, 2015 8:56 pm    Post subject: Reply with quote

I don't think it matters what version of CE you have, as long as it's somewhat recent.
The problem isn't you; it's that the version of your game isn't the same as the version of the game of whoever made the tables.
If you could link to one of the tables, I might be able to pull some information from it. I don't have the game, though, so I probably won't be able to help that much. To link something, modify the link a bit (i.e. replace . with (.)) because I don't think you're allowed to post links until you're around 15 posts.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Tue Dec 01, 2015 9:20 pm    Post subject: Reply with quote

http:)//forum).cheatengine.org/viewtopic.php?p=5586568#5586568

Here's the link, appreciate the response. Just remove those parenthesis at http:) and forum).

_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Tue Dec 01, 2015 9:48 pm    Post subject: Reply with quote

Well, the "Bullet Editor" script only allocates 8 bytes for the address of the base of the structure for a bullet. You're responsible for actually assigning a value to those 8 bytes. If you leave that address's value at 0, then all those other values will always be question marks. Once you assign "Bullet Address to Edit" a valid value (the address of the base structure of a bullet), then the rest of the addresses should populate correctly.

It seems like there's a script under the bullet editor script called "Find Addresses for Last Bullet Used". You might be able to use that script. Just copy the value of the address in that list that pops up under that script (i.e. the value of "Bullet Effect 1"), and paste it into the value of "Bullet Address to Edit".

If that doesn't work, I found this video that might help:
https://www.youtube.com/watch?v=-qW2PPRNtaQ

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Tue Dec 01, 2015 10:17 pm    Post subject: Reply with quote

I attempted to take your advice and use the "Find Address for Last Bullet Used", though when i click the box to activate the script, it doesn't check it, it just keeps it blank. The script to find the last bullet used that is. I am also unable to check any other scripts on the table except for the "Bullet Editor". I even attempted to look up what the ID for the bullet i was using is and copy paste it into the "Bullet Address to Edit" value, but that makes the values some random numbers that when edited, change nothing. So my problem now is that i am unable to check the Last Bullet Used script to actually find the true ID of my bullet. I have watched the video and tried my best to follow it, but around 0:35 I am told to click the advanced options and click the code in the code list, but i don't have that code to click on.
_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Tue Dec 01, 2015 10:42 pm    Post subject: Reply with quote

In that case the AoB scan is broken. You probably have a different version of the game than what the table was made for. The video probably won't work either, but since the address of that instruction is static, you can check to make sure.

Right click in CE's disassembler (top half of the memory view), select "Go to address", and paste in DarkSoulsII.exe+3E6702 (I think that's what it says in the video). If the instruction that pops up is the same as the one in the video, then you should be able to still follow it from there. If it isn't, then you can't. You might be able to find it by scanning for its AoB pattern, though:
8A ?? ?? 0F BE ?? 3B ?? 72 0D 84 ?? 78 09 C6 ?? ?? ?? ?? ?? ?? EB 09 D9 ?? ?? D9 ?? ?? ?? ?? ?? 8B ?? ?? F3 0F 10 ?? ?? ?? ?? ?? F3 0F 10 ?? 0F 5A ?? 0F 5A ?? F2 0F 5C
Set the "value type" to AoB and make sure the "Writable" and "Executable" checkboxes are grey. If no results pop up, try taking away a few bytes from the end of that AoB and search again. If some results pop up, check them by checking what addresses that instruction writes to like the video shows.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Tue Dec 01, 2015 11:03 pm    Post subject: Reply with quote

I searched the address, but what came up in the video did not come up for me, so that didn't work. I also scanned the AoB pattern as you suggested, but no results, even after removing some bytes from the pattern a few times. Will i just not be able to edit the bullet now due to the only tables i know of not working? I've searched maybe 50 times for a tutorial or new tables, but i just can't find any tables who's scripts work correctly.
_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Wed Dec 02, 2015 9:20 am    Post subject: Reply with quote

The data exists, so it's certainly possible to edit it. Finding it is the hard part.

You might be able to fix the AoB for the "Find addresses for last bullet used" script. Try scanning for this manually: type:AoB, make sure writable and executable checkboxes are grey (neither checked nor blank).
0F BE ?? ?? 39 ?? ?? ?? ?? ?? 72 0D 84 ?? 78 09 C6 ?? ?? ?? ?? ?? ?? EB

If one result pops up, great. Post the assembly around that area here (right click -> copy to clipboard -> bytes+opcodes).
If no results pop up, try removing some bytes.
If more than one result pops up, bring them down to the cheat table, extend the length of them from 24 to 55 and copy/paste them here.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Wed Dec 02, 2015 9:57 pm    Post subject: Reply with quote

I removed bytes until i found some results. Though i don't know what you mean by extending the length from 22 to 55, here they are. I don't know if i am showing this how you want it though, so please correct me if i am wrong.


Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 50 04 39 55 F8 7C 0F" Activated="0" RealAddress="005DC3E4"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>DarkSoulsII.exe+1DC3E4</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 48 04 39 4D FC 75 07" Activated="0" RealAddress="00622F72"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>DarkSoulsII.exe+222F72</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 48 04 39 4D FC 75 23" Activated="0" RealAddress="006230A2"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>DarkSoulsII.exe+2230A2</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>4</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 51 10 39 55 0C 75 66" Activated="0" RealAddress="0065D5C6"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>DarkSoulsII.exe+25D5C6</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>5</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 5C 01 39 0F 57 C9 F2" Activated="0" RealAddress="008EDF4A"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>DarkSoulsII.exe+4EDF4A</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>6</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 7E E9 39 A8 29 72 7A" Activated="0" RealAddress="07C30434"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>07C30434</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE D7 A5 39 64 31 20 00" Activated="0" RealAddress="07DA56A8"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>07DA56A8</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>8</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE E8 75 39 00 54 DA 31" Activated="0" RealAddress="0CE7987A"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>0CE7987A</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>9</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FF 03 39 A2 28 8D AE" Activated="0" RealAddress="0D0AAA2C"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>0D0AAA2C</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 7A A5 39 64 31 00 A0" Activated="0" RealAddress="167893B8"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>167893B8</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>11</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE E8 75 39 00 54 DA 31" Activated="0" RealAddress="1D9A533A"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>1D9A533A</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 79 E9 39 00 C5 48 25" Activated="0" RealAddress="1E776612"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>1E776612</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>13</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 8D E8 39 00 D5 43 37" Activated="0" RealAddress="203EEE52"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>203EEE52</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>14</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 70 E8 39 00 28 43 37" Activated="0" RealAddress="203EF532"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>203EF532</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>15</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FE 84 39 44 29 AF AF" Activated="0" RealAddress="21450B65"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>21450B65</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FF 84 39 02 29 2D D7" Activated="0" RealAddress="218A682D"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>218A682D</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>17</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 7A A5 39 64 31 00 A0" Activated="0" RealAddress="21A433B5"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>21A433B5</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>18</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FF 03 39 A2 28 8D AE" Activated="0" RealAddress="22D45C0D"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>22D45C0D</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>19</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FC 85 39 24 29 2A 57" Activated="0" RealAddress="22E7DA55"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>22E7DA55</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 7E E9 39 A8 29 72 7A" Activated="0" RealAddress="23C8E9B5"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>23C8E9B5</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>21</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 3D E7 39 86 31 82 AA" Activated="0" RealAddress="260ADE7D"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>260ADE7D</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>22</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE E2 A2 39 00 FF FF FF" Activated="0" RealAddress="2681FF6E"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>2681FF6E</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>23</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE E2 A2 39 00 FF FF FF" Activated="0" RealAddress="2684C092"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>2684C092</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>24</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE D7 A5 39 64 31 20 00" Activated="0" RealAddress="26EFA8A5"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>26EFA8A5</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 7E E9 39 A8 29 72 7A" Activated="0" RealAddress="2775B9B5"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>2775B9B5</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>26</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE FF 03 39 A2 28 8D AE" Activated="0" RealAddress="2C2D45AD"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>2C2D45AD</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>27</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 40 07 39 45 14 0F 85" Activated="0" RealAddress="381A1E71"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>steamclient.dll+1A1E71</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>28</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 04 18 39 45 14 0F 84" Activated="0" RealAddress="62CD2156"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>igdumdim32.dll+F2156</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>29</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 04 01 39 45 14 74 DD" Activated="0" RealAddress="62CD23B6"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>igdumdim32.dll+F23B6</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>30</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 0C 38 39 4E 28 7D 03" Activated="0" RealAddress="64262AC8"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>fmodex.dll+42AC8</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>31</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 80 10 39 CB 69 83 E0" Activated="0" RealAddress="69CA0A1D"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>tier0_s.dll+20A1D</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>32</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 80 DC 39 A1 76 89 54" Activated="0" RealAddress="76A138A7"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>OLEAUT32.dll+338A7</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>33</ID>
      <Description>"No description"</Description>
      <LastState Value="0F BE 80 DC 39 A1 76 39 34" Activated="0" RealAddress="76A3E752"/>
      <ShowAsHex>1</ShowAsHex>
      <Color>80000008</Color>
      <VariableType>Array of byte</VariableType>
      <ByteLength>9</ByteLength>
      <Address>OLEAUT32.dll+5E752</Address>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Thu Dec 03, 2015 10:14 am    Post subject: Reply with quote

By extending the length, I just mean changing the byte length of the Array of Bytes (AoB). If you change the type of an AoB in your cheat table, you'll see a new property called "Length". This is how many bytes it displays in that AoB.
Also, you don't have to copy and paste them directly like that, since most of that information is useless. All I needed was the value of it.
But just from looking through that, I don't think it's there. The game probably had a fairly major update to this section of code that changed the instructions themselves, not just the operands of the instructions.

I found this address in another post: DarkSoulsII.exe+3ED7D2
Go to that address in the disassembler, and if that's "mov al,[edi+2F]", follow the video I linked to earlier from that point on.

If that address doesn't disassemble to "mov al,[edi+2F]", then I'll work on a Lua script to help find it, but it'll probably be a bit until it's ready (I'm somewhat busy right now).

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Thu Dec 03, 2015 12:21 pm    Post subject: Reply with quote

I checked that in the disassembler, but it leads to mov ch, [edi+61], not mov al,[edi+2F].
_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Fri Dec 04, 2015 10:41 pm    Post subject: Reply with quote

Well, spent most of the day attempting to find bullet addresses that have to do with any type of modification of bullets, but nothing is working.

This is a real problem Confused

_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Sat Dec 05, 2015 12:58 pm    Post subject: Reply with quote

Code:
searchBytes = "8A 47 2F"
moduleName = "DarkSoulsII.exe"
initialOffset = 0x3ED7D2

function sortedAOBScan(searchBytes, moduleName, initialOffset, protectionflags, alignmenttype, alignmentparam)
  ---------- Argument Checks ----------
  if type(initialOffset) == "string" then
    initialOffset = tonumber(initialOffset,16)
  end
  if type(initialOffset) ~= "number" then
    initialOffset = 0
  end

  local moduleStart
  local moduleEnd
  errorOnLookupFailure(false)
  if moduleName ~= nil then
    moduleStart = getAddress(moduleName)
    if moduleStart == 0 then
      moduleStart = nil
      if messageDialog("Module name " .. moduleName .. " not found.\nSearch entire process?", mtError, mbAbort, mbOK) == mrAbort then
        return
      end
    else
      moduleEnd = getModuleSize(moduleName) + moduleStart
      initialOffset = initialOffset + moduleStart
    end
  end
  errorOnLookupFailure(true)

  if type(searchBytes) ~= "string" then
    return
  end

  local aobres = AOBScan(searchBytes, protectionflags, alignmenttype, alignmentparam)
  if aobres == nil then
    return
  end

  ---------- Function Start ----------
  local retAOBs = createStringlist()
  retAOBs.Duplicates = aobres.Duplicates
  retAOBs.Sorted = false
  retAOBs.CaseSensitive = aobres.CaseSensitive

  for i=0,aobres.Count-1,1 do
    local addy = tonumber(aobres[i],16)
    if moduleStart == nil or (addy > moduleStart and addy < moduleEnd - (#searchBytes+1)/3) then
      local sortPriority = math.abs(addy - initialOffset)
      for j=0,retAOBs.Count,1 do
        if j == retAOBs.Count then
          retAOBs.add(aobres[i])
        elseif sortPriority <= math.abs(tonumber(retAOBs[j],16) - initialOffset) then
          retAOBs.insert(j,aobres[i])
          break
        end
      end --end insert for loop
    end --end module bounds check
  end

  ---------- Cleanup and Return ----------
  aobres.destroy()

  return retAOBs
end

local res = sortedAOBScan(searchBytes, moduleName, initialOffset, "+X")
if res == nil then
  showMessage("No results found.")
  return
end
local al = getAddressList()
local parentRec = al.createMemoryRecord()
parentRec.Type = vtString
parentRec.Description = "Found AOBs"
for i=0,res.Count > 99 and 99 or res.Count,1 do
  local childRec = al.createMemoryRecord()
  childRec.Address = res[i]
  childRec.Type = vtByteArray
  childRec.Aob.Size = math.floor((#searchBytes+1)/3)
  childRec.ShowAsHex = true
  childRec.Description = string.format("AOB %d",i+1)
  childRec.appendToEntry(parentRec)
end
res.destroy()

Copy and paste this into the Lua script window (Table -> Show Cheat Table Lua Script) and click "Execute script". It should populate your cheat table with at most 100 entries of where it found the instruction al,[edi+2F]. It's sorted such that the closest entry to DarkSoulsII.exe+3ED7D2 is at the top, and the one that's furthest away from that is at the bottom.

Go through these starting at the top, copy their addresses, go to those addresses in the disassembler (in the memory view window), and try to follow the video from that point. If nothing comes up when you fire in-game after you select "Find out what addresses this instruction accesses" in CE, move onto the next address.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
lamburger
Newbie cheater
Reputation: 0

Joined: 01 Dec 2015
Posts: 16
Location: U.S

PostPosted: Sat Dec 05, 2015 3:12 pm    Post subject: Reply with quote

I don't see any addresses in my table, i only see "Found AOB's", "AOB 1","AOB 2", and "Plugin Address". Did i do something wrong, or am I supposed to scan those AOB's?
_________________
Someone who never wants to stop learning.


Did he fury swipes you?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4717

PostPosted: Sat Dec 05, 2015 3:27 pm    Post subject: Reply with quote

"Found AOBs" is a header. You can ignore it.
"AOB 1", "AOB 2", etc. are the addresses. Just copy their addresses and go to them in the disassembler.
"Plugin Address" shouldn't be appearing, I don't know where that came from.
If you don't have CE 6.4, please update to it.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites