Advertisement
PrimeNotorious

el s0urc3

Apr 18th, 2014
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 45.75 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO;
  11. using MultiHudElems;
  12.  
  13. namespace DvarsEditor
  14. {
  15. public partial class Form1 : Form
  16. {
  17. BO1TMAPI BO1 = new BO1TMAPI();
  18. private List<Dvar> dvarList;
  19. public Form1()
  20. {
  21. InitializeComponent();
  22. }
  23.  
  24. private void button1_Click(object sender, EventArgs e)
  25. {
  26. try { PS3.Connect(); PS3.Attach(); label4.Text = "Game: " + PS3.GetGame(); label5.Text = "Target IP: " + PS3.GetIP(); dataGridView1.Enabled = true; regionlabel.Text = "Region: " + GetRegion(); }
  27. catch { MessageBox.Show("Failed To Connect"); }
  28. }
  29.  
  30. private void button2_Click(object sender, EventArgs e)
  31. {
  32. GetDvars(0x70);
  33. saddr.Text = "Selected Dvar's Address: ";
  34. label2.Text = "Base Address: " + "0x19601A8";
  35. button2.Text = "Count: " + Dvars_s.count.ToString() + " / " + Dvars_s.count.ToString(); button2.Update();
  36. Application.DoEvents();/* old way below :P
  37. dvarList = new List<Dvar>();
  38. button2.Enabled = false;
  39. dataGridView1.Rows.Clear();
  40. dataGridView1.Rows.Add(Dvars_s.count);//this adds the amount of dvars to be loaded
  41. for (int i = 0; i <= Dvars_s.count; i++)
  42. {
  43. Dvar dvar = new Dvar();
  44. dvar.Name = Dvars_s.Getname(i);
  45. dvar.Value = Dvars_s.GetVal(i).ToString();
  46. button2.Text = "Count: " + i.ToString() + " / " + Dvars_s.count.ToString(); button2.Update();// this counts the 'ID' until loaded to the max
  47. dataGridView1.Rows[i].Cells[0].Value = i.ToString("X");//the 'ID'
  48. dataGridView1.Rows[i].Cells[1].Value = Dvars_s.Getname(i);//the dvar names
  49. dataGridView1.Rows[i].Cells[2].Value = Dvars_s.GetVal(i).ToString();//the values
  50. dataGridView1.Update();
  51. Application.DoEvents();
  52. }
  53. label2.Text = "Base Address: " + "0x19601A8";//lol
  54. button2.Text = "Refresh"; button2.Enabled = true;*/
  55. }
  56.  
  57.  
  58. private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
  59. {
  60.  
  61. }
  62.  
  63. private void copyToClipboardToolStripMenuItem_Click(object sender, EventArgs e)
  64. {
  65. }
  66.  
  67. private void button3_Click(object sender, EventArgs e)
  68. {
  69.  
  70. }
  71.  
  72. private void button4_Click(object sender, EventArgs e)
  73. {
  74. }
  75.  
  76. private void button3_Click_1(object sender, EventArgs e)
  77. {
  78. }
  79.  
  80. private void Form1_Load(object sender, EventArgs e)
  81. {
  82. dataGridView1.Enabled = false;
  83. }
  84.  
  85. private void button4_Click_1(object sender, EventArgs e)
  86. {
  87. SaveFileDialog fDialog = new SaveFileDialog();
  88.  
  89. if (fDialog.ShowDialog() != DialogResult.OK)
  90.  
  91. return;
  92.  
  93. System.IO.FileInfo fInfo = new System.IO.FileInfo(fDialog.FileName);
  94.  
  95. string strFileName = fInfo.Name;
  96. string data = "+++++++++DVAR DUMP BY: " + System.Environment.MachineName + "++++++++\n\n";
  97. for (int i = 0; i < Dvars_s.count; i++)
  98. {
  99. data += dataGridView1.Rows[i].Cells[1].Value.ToString() + " | Value = \"" + dataGridView1.Rows[i].Cells[2].Value.ToString() + " | Address = Base Address + 0xID * 0x4" + " *Just paste that in Debugger then follow the pointer for the actual address :)" + "\"\n";
  100. }
  101.  
  102. File.WriteAllText(strFileName, data);
  103. MessageBox.Show("All Dvars Dumped Successfully!\nLocated at the folder of this program!", "Dumped", MessageBoxButtons.OK);
  104.  
  105. }
  106.  
  107.  
  108. int pastindex = 0;
  109. private void button3_Click_2(object sender, EventArgs e)
  110. {
  111. string pattern = textBox1.Text;
  112.  
  113. for (int i = pastindex; i <= Dvars_s.count; i++)//this is how you search for the dvars in the datagrid
  114. {
  115. pastindex++;
  116. if (i == Dvars_s.count) { pastindex = 0; break; }
  117. if (dataGridView1.Rows[i].Cells[1].Value.ToString().Contains(pattern))
  118. {
  119. pastindex = i + 1; dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[1]; break;
  120. }
  121. }
  122.  
  123. }
  124.  
  125. private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
  126. {
  127. Dvar dvar = dvars[dataGridView1.CurrentCell.RowIndex];
  128. if (dvar.Type == 1)
  129. {
  130. float fl = Convert.ToSingle(dataGridView1.CurrentCell.Value);//
  131. byte[] value = BitConverter.GetBytes(fl).Reverse().ToArray();
  132. PS3.SetMemory(dvar.Address, value);
  133. }
  134. else if (dvar.Type == 5)
  135. {
  136. int i = int.Parse(dataGridView1.CurrentCell.Value.ToString());//
  137. byte[] value = BitConverter.GetBytes(i).Reverse().ToArray();
  138. PS3.SetMemory(dvar.Address, value);
  139. }
  140. else if (dvar.Type == 7)
  141. {
  142. string i = dataGridView1.CurrentCell.Value.ToString();
  143. byte[] value = Encoding.ASCII.GetBytes(i + "\x00");
  144. PS3.SetMemory(dvar.Address, value);
  145. }
  146. else if (dvar.Type == 9)
  147. {
  148. Int64 i = (Int64)dataGridView1.CurrentCell.Value;
  149. byte[] value = BitConverter.GetBytes(i).Reverse().ToArray();
  150. PS3.SetMemory(dvar.Address, value);
  151. }
  152. else if (dvar.Type == 8)
  153. {
  154. char[] delimiterChars = { ' ' };
  155. string[] temp = dataGridView1.CurrentCell.Value.ToString().Split(delimiterChars);
  156. // byte[] rgba = BitConverter.GetBytes
  157. // PS3.SetMemory(dvar.Address, rgba);
  158. }
  159. /*int index = dataGridView1.CurrentCell.RowIndex;
  160. int val = int.Parse(dataGridView1.CurrentCell.Value.ToString());
  161. Dvars_s.SetVal(index, val);//this allows you to double click the value to edit it :)*/
  162. }
  163.  
  164. private List<Dvar> dvars;
  165. private Dvar dvar;
  166. private void GetDvars(uint dvarsize)
  167. {
  168. dvars = new List<Dvar>();
  169. uint baseaddress = 0x19601A8;
  170. uint dvarpool = 0x019070C0;
  171. uint i = dvarsize;
  172. uint j = 0;
  173. float v1;
  174. float v2;
  175. float v3;
  176. float v4;
  177. byte[] temp;
  178. //uint test = ReadUInt32(0x019601a8);
  179. uint x = 1;
  180. while ((x = ReadUInt32(dvarpool + (i * j))) != 0x01907130)
  181. {
  182. dvar = new Dvar();
  183. dvar.NameAddress = ReadUInt32(dvarpool + (i * j));
  184. dvar.Name = ReadString(dvar.NameAddress);
  185. dvar.Type = ReadInt32(dvarpool + (i * j) + 0x10);
  186. //dvar.Type = ReadByte(dvarpool + (i * j) + 0x10);
  187. dvar.Address = dvarpool + (i * j) + 0x18;
  188.  
  189. // Console.WriteLine(dvar.Type.ToString().PadRight(5) + dvar.Name);
  190. switch (dvar.Type)
  191. {
  192. case 0:
  193. dvar.OriginalValue = ReadByte(dvar.Address).ToString();
  194. break;
  195. case 1:
  196. dvar.OriginalValue = ReadSingle(dvar.Address).ToString();
  197. dvar.MinValue = ReadSingle(dvar.Address + 0x10).ToString();
  198. dvar.MaxValue = ReadSingle(dvar.Address + 0x20).ToString();
  199. break;
  200. case 2:
  201. v1 = ReadSingle(dvar.Address);
  202. v2 = ReadSingle(dvar.Address + 0x10);
  203. dvar.OriginalValue = v1.ToString() + " " + v2.ToString();
  204. dvar.MinValue = ReadSingle(dvar.Address + 0x10).ToString();
  205. dvar.MaxValue = ReadSingle(dvar.Address + 0x20).ToString();
  206. break;
  207. case 3:
  208. v1 = ReadSingle(dvar.Address);
  209. v2 = ReadSingle(dvar.Address + 0x10);
  210. v3 = ReadSingle(dvar.Address + 0x20);
  211. dvar.OriginalValue = v1.ToString() + " " + v2.ToString() + " " + v3.ToString();
  212. break;
  213. case 4:
  214. v1 = ReadSingle(dvar.Address);
  215. v2 = ReadSingle(dvar.Address + 0x10);
  216. v3 = ReadSingle(dvar.Address + 0x20);
  217. v4 = ReadSingle(dvar.Address + 0x30);
  218. dvar.OriginalValue = v1.ToString() + " " + v2.ToString() + " " + v3.ToString() + " " +
  219. v4.ToString();
  220. break;
  221. case 5:
  222. dvar.OriginalValue = ReadInt32(dvar.Address).ToString();
  223. dvar.MinValue = ReadInt32(dvar.Address + 0x10).ToString();
  224. dvar.MaxValue = ReadInt32(dvar.Address + 0x20).ToString();
  225. break;
  226. case 6:
  227. dvar.OriginalValue = "//unknown (enum)";
  228. break;
  229. case 7:
  230. dvar.Address = ReadUInt32(dvar.Address);
  231. dvar.OriginalValue = ReadString(dvar.Address);
  232. break;
  233. case 8:
  234. dvar.OriginalValue = ReadBytes(dvar.Address, 4);
  235. byte[] rgba = (byte[])dvar.OriginalValue;
  236. int r = Convert.ToInt32(rgba[0]);
  237. int g = Convert.ToInt32(rgba[1]);
  238. int b = Convert.ToInt32(rgba[2]);
  239. int a = Convert.ToInt32(rgba[3]);
  240. dvar.OriginalValue = r.ToString() + " " + g.ToString() + " " +
  241. b.ToString() + " " + a.ToString();
  242. break;
  243. case 9:
  244. dvar.OriginalValue = "UNK";
  245. break;
  246. case 10:
  247. dvar.OriginalValue = "UNK";
  248. break;
  249. case 11:
  250. dvar.OriginalValue = "UNK";
  251. break;
  252. }
  253.  
  254. dataGridView1.Rows.Add(j, dvar.Name, dvar.OriginalValue);
  255. //dataGridView1.Rows[i].Cells[1].Value = Dvars_s.Getname(i);//the dvar names
  256. //dataGridView1.Rows[i].Cells[2].Value = Dvars_s.GetVal(i).ToString();//the values
  257. dataGridView1.Update();
  258. Application.DoEvents();
  259. dvars.Add(dvar);
  260. //dataGridView1.Rows.Add(dvar.Name, dvar.OriginalValue, dvar.MinValue, dvar.MaxValue, dvar.Type);
  261. j++;
  262. }
  263. }
  264.  
  265. public string ReadString(uint address)
  266. {
  267. char c;
  268. uint count = 0;
  269. List<char> chars = new List<char>();
  270. while ((c = ReadChar(address + count)) != 0)
  271. {
  272. chars.Add(c);
  273. count++;
  274. }
  275. return new string(chars.ToArray());
  276. }
  277.  
  278. public char ReadChar(uint address)
  279. {
  280. return (char)ReadByte(address);
  281. }
  282.  
  283. public char[] ReadChars(uint address, int length)
  284. {
  285. return Encoding.UTF8.GetChars(ReadBytes(address, length));
  286. }
  287.  
  288. public bool ReadBoolean(uint address)
  289. {
  290. return (ReadByte(address) != 0);
  291. }
  292.  
  293. public byte ReadByte(uint address)
  294. {
  295. return ReadBytes(address, 1)[0];
  296. }
  297.  
  298. public byte[] ReadBytes(uint address, int length)
  299. {
  300. byte[] buffer = PS3.GetMemory(address, length);
  301.  
  302. //PS3TMAPI.ProcessGetMemory(target, PS3TMAPI.UnitType.PPU, process, 0xFFFFFFFF, address, ref buffer);
  303. return buffer;
  304. }
  305.  
  306. public Double ReadDouble(uint address)
  307. {
  308. return BitConverter.ToDouble(ReadBytes(address, 8).Reverse().ToArray(), 0);
  309. }
  310.  
  311. public Int16 ReadInt16(uint address)
  312. {
  313. return BitConverter.ToInt16(ReadBytes(address, 2).Reverse().ToArray(), 0);
  314. }
  315.  
  316. public Int32 ReadInt32(uint address)
  317. {
  318. return BitConverter.ToInt32(ReadBytes(address, 4).Reverse().ToArray(), 0);
  319. }
  320.  
  321. public Int64 ReadInt64(uint address)
  322. {
  323. return BitConverter.ToInt64(ReadBytes(address, 8).Reverse().ToArray(), 0);
  324. }
  325.  
  326. public sbyte ReadSbyte(uint address)
  327. {
  328. return (sbyte)(ReadByte(address));
  329. }
  330.  
  331. public float ReadSingle(uint address)
  332. {
  333. return BitConverter.ToSingle(ReadBytes(address, 4).Reverse().ToArray(), 0);
  334. }
  335.  
  336. public UInt16 ReadUInt16(uint address)
  337. {
  338. return BitConverter.ToUInt16(ReadBytes(address, 2).Reverse().ToArray(), 0);
  339. }
  340.  
  341. public UInt32 ReadUInt32(uint address)
  342. {
  343. return BitConverter.ToUInt32(ReadBytes(address, 4).Reverse().ToArray(), 0);
  344. }
  345.  
  346. public UInt64 ReadUInt64(uint address)
  347. {
  348. return BitConverter.ToUInt64(ReadBytes(address, 8).Reverse().ToArray(), 0);
  349. }
  350.  
  351. /*public Vector3D ReadVector(uint address)
  352. {
  353. Vector3D vec = new Vector3D();
  354. vec.X = BitConverter.ToDouble(ReadBytes(address, 4).Reverse().ToArray(), 0);
  355. vec.Y = BitConverter.ToDouble(ReadBytes(address + 4, 4).Reverse().ToArray(), 0);
  356. vec.Z = BitConverter.ToDouble(ReadBytes(address + 8, 4).Reverse().ToArray(), 0);
  357. return vec;
  358. }*/
  359.  
  360. public Color ReadColor(uint address)
  361. {
  362. byte[] rgba = ReadBytes(address, 4);
  363. return Color.FromArgb(rgba[3], rgba[0], rgba[1], rgba[2]);
  364. }
  365.  
  366. public void Write(uint address, string value)
  367. {
  368. Write(address, Encoding.UTF8.GetBytes(value + "\x00"));
  369. }
  370.  
  371. public void Write(uint address, char value)
  372. {
  373. char[] buffer = { value };
  374. Write(address, Encoding.UTF8.GetBytes(buffer));
  375. }
  376.  
  377. public void Write(uint address, char[] value)
  378. {
  379. Write(address, Encoding.UTF8.GetBytes(value));
  380. }
  381.  
  382. public void Write(uint address, bool value)
  383. {
  384. Write(address, BitConverter.GetBytes(value));
  385. }
  386.  
  387. public void Write(uint address, byte value)
  388. {
  389. byte[] buffer = { value };
  390. Write(address, buffer);
  391. }
  392.  
  393. public void Write(uint address, byte[] value)
  394. {
  395. PS3.SetMemory(address, value);
  396. }
  397.  
  398. public void Write(uint address, Double value)
  399. {
  400. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  401. }
  402.  
  403. public void Write(uint address, Int16 value)
  404. {
  405. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  406. }
  407.  
  408. public void Write(uint address, Int32 value)
  409. {
  410. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  411. }
  412.  
  413. public void Write(uint address, Int64 value)
  414. {
  415. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  416. }
  417.  
  418. public void Write(uint address, sbyte value)
  419. {
  420. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  421. }
  422.  
  423. public void Write(uint address, float value)
  424. {
  425. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  426. }
  427.  
  428. public void Write(uint address, UInt16 value)
  429. {
  430. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  431. }
  432.  
  433. public void Write(uint address, UInt32 value)
  434. {
  435. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  436. }
  437.  
  438. public void Write(uint address, UInt64 value)
  439. {
  440. Write(address, BitConverter.GetBytes(value).Reverse().ToArray());
  441. }
  442.  
  443. /*public void Write(uint address, Vector3D vec)
  444. {
  445. Write(address, BitConverter.GetBytes((float)vec.X).Reverse().ToArray());
  446. Write(address + 4, BitConverter.GetBytes((float)vec.Y).Reverse().ToArray());
  447. Write(address + 8, BitConverter.GetBytes((float)vec.Z).Reverse().ToArray());
  448. }*/
  449.  
  450. public void Write(uint address, Color color)
  451. {
  452. byte[] rgba =
  453. {
  454. BitConverter.GetBytes(color.R)[0], BitConverter.GetBytes(color.G)[0], BitConverter.GetBytes(color.B)[0],
  455. BitConverter.GetBytes(color.A)[0]
  456. };
  457. Write(address, rgba);
  458. }
  459. public static string ClientNames(uint client)
  460. {
  461. string retrieveClients = PS3.ReadString(0x02891058 + client * 0x2A38);
  462. return retrieveClients;
  463. }
  464. public static string GetRegion()
  465. {
  466. string retrieveRegion = PS3.ReadString(0x02892da0);
  467. return retrieveRegion;
  468. }
  469.  
  470. private void button5_Click(object sender, EventArgs e)
  471. {
  472. if (clientView.RowCount == 1)
  473. {
  474. clientView.Rows.Add(17);
  475. }
  476.  
  477. for (uint i = 0; i < 18; i++)
  478. {
  479. clientView[0, Convert.ToInt32(i)].Value = i;
  480. clientView[1, Convert.ToInt32(i)].Value = ClientNames(i);
  481. }
  482. }
  483.  
  484. private void oNToolStripMenuItem_Click(object sender, EventArgs e)
  485. {//god mode on
  486. PS3.SetMemory((0xE03CAA + (uint)dataGridView1.CurrentRow.Index * 0x2A38), new byte[] { 0xFF, 0xFF });
  487. }
  488.  
  489. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  490. {
  491. PS3.SetMemory(0x00466298, new byte[] { 0x40, 0x00 });
  492. }
  493.  
  494. #region RPC Stuff
  495. public class RPC
  496. {
  497. static uint function_address;
  498.  
  499. public static int Init()
  500. {
  501. function_address = Get_func_address();
  502. if (function_address == 0) return -1;
  503. Enable_RPC();
  504. return 0;
  505. }
  506.  
  507. public static uint Get_func_address()
  508. {
  509. for (uint i = 0x7A21D4; i < 0x1000000; i += 4)
  510. {
  511. byte[] bytes = PS3.GetMemory(i, 8);
  512. if (((bytes[0] == 0x4B) && (bytes[1] == 0xFF) && (bytes[2] == 0xBE) && (bytes[3] == 0x05) && (bytes[4] == 0x4B) && (bytes[5] == 0xFF) && (bytes[6] == 0xFC) && (bytes[7] == 0x98)))
  513. {
  514. return i + 0xC;
  515. }
  516. }
  517. return 0;
  518. }
  519.  
  520. public static void Enable_RPC()
  521. {
  522. PS3.SetMemory(function_address, new byte[] { 0x4E, 0x80, 0x00, 0x20 });
  523. System.Threading.Thread.Sleep(20);
  524. byte[] func = new byte[] { 0x7C, 0x08, 0x02, 0xA6, 0xF8, 0x01, 0x00, 0x80, 0x3C, 0x60, 0x10, 0x05, 0x81, 0x83, 0x00, 0x4C, 0x2C, 0x0C, 0x00, 0x00, 0x41, 0x82, 0x00, 0x64, 0x80, 0x83, 0x00, 0x04, 0x80, 0xA3, 0x00, 0x08, 0x80, 0xC3, 0x00, 0x0C, 0x80, 0xE3, 0x00, 0x10, 0x81, 0x03, 0x00, 0x14, 0x81, 0x23, 0x00, 0x18, 0x81, 0x43, 0x00, 0x1C, 0x81, 0x63, 0x00, 0x20, 0xC0, 0x23, 0x00, 0x24, 0xC0, 0x43, 0x00, 0x28, 0xC0, 0x63, 0x00, 0x2C, 0xC0, 0x83, 0x00, 0x30, 0xC0, 0xA3, 0x00, 0x34, 0xC0, 0xC3, 0x00, 0x38, 0xC0, 0xE3, 0x00, 0x3C, 0xC1, 0x03, 0x00, 0x40, 0xC1, 0x23, 0x00, 0x48, 0x80, 0x63, 0x00, 0x00, 0x7D, 0x89, 0x03, 0xA6, 0x4E, 0x80, 0x04, 0x21, 0x3C, 0x80, 0x10, 0x05, 0x38, 0xA0, 0x00, 0x00, 0x90, 0xA4, 0x00, 0x4C, 0x80, 0x64, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x80, 0x7C, 0x08, 0x03, 0xA6, 0x38, 0x21, 0x00, 0x70, 0x4E, 0x80, 0x00, 0x20, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 };
  525. PS3.SetMemory(function_address + 0x4, func);
  526. PS3.SetMemory(0x10050000, new byte[0x2854]);
  527. PS3.SetMemory(function_address, new byte[] { 0xF8, 0x21, 0xFF, 0x91 });
  528. }
  529.  
  530. public static int Call(uint func_address, params object[] parameters)
  531. {
  532. int num_params = parameters.Length;
  533. uint num_floats = 0;
  534. for (uint i = 0; i < num_params; i++)
  535. {
  536. if (parameters[i] is int)
  537. {
  538. byte[] val = BitConverter.GetBytes((int)parameters[i]);
  539. Array.Reverse(val);
  540. PS3.SetMemory(0x10050000 + (i + num_floats) * 4, val);
  541. }
  542. else if (parameters[i] is uint)
  543. {
  544. byte[] val = BitConverter.GetBytes((uint)parameters[i]);
  545. Array.Reverse(val);
  546. PS3.SetMemory(0x10050000 + (i + num_floats) * 4, val);
  547. }
  548. else if (parameters[i] is string)
  549. {
  550. byte[] str = Encoding.UTF8.GetBytes(Convert.ToString(parameters[i]) + "\0");
  551. PS3.SetMemory(0x10050054 + i * 0x400, str);
  552. uint addr = 0x10050054 + i * 0x400;
  553. byte[] address = BitConverter.GetBytes(addr);
  554. Array.Reverse(address);
  555. PS3.SetMemory(0x10050000 + (i + num_floats) * 4, address);
  556. }
  557. else if (parameters[i] is float)
  558. {
  559. num_floats++;
  560. byte[] val = BitConverter.GetBytes((float)parameters[i]);
  561. Array.Reverse(val);
  562. PS3.SetMemory(0x10050024 + ((num_floats - 1) * 0x4), val);
  563. }
  564. }
  565. byte[] fadd = BitConverter.GetBytes(func_address);
  566. Array.Reverse(fadd);
  567. PS3.SetMemory(0x1005004C, fadd);
  568. System.Threading.Thread.Sleep(20);
  569. byte[] ret = PS3.GetMemory(0x10050050, 4);
  570. Array.Reverse(ret);
  571. return BitConverter.ToInt32(ret, 0);
  572. }
  573. }
  574. public void SetDvar(Int32 clientIndex, String DvarName, Int32 value)
  575. {
  576. SV_SendServerCommand((uint)clientIndex, "v " + DvarName + " " + value + "");
  577. }
  578. public static void SV_SendServerCommand(uint client, string command)
  579. {
  580. RPC.Call(0x003E95F0, (uint)client, 0, command);
  581. }
  582. #endregion
  583.  
  584. private void button9_Click(object sender, EventArgs e)
  585. {
  586. if (shaderType.Checked == true)
  587. {
  588. HudElements.SetShader(0, (sbyte)material.Value, (short)width.Value, (short)height.Value, (float)x.Value, (float)y.Value, (byte)r.Value, (byte)g.Value, (byte)b.Value, (byte)a.Value);
  589. }
  590. if (stringType.Checked == true)
  591. {
  592. HudElements.SetText(0, stringHud.Text, (float)x.Value, (float)y.Value, (float)fontScale.Value, (byte)font.Value, (byte)r.Value, (byte)g.Value, (byte)b.Value, (byte)a.Value);
  593. }
  594. }
  595.  
  596. private void button12_Click(object sender, EventArgs e)
  597. {
  598. Clipboard.SetText(saddr.Text);
  599. }
  600.  
  601. private void enableToolStripMenuItem_Click(object sender, EventArgs e)
  602. {//enable speed
  603. PS3.SetMemory((0x01397880 + (uint)dataGridView1.CurrentRow.Index * 0x2A38), new byte[] { 0x40, 0x40 });
  604. }
  605.  
  606. private void defaultToolStripMenuItem_Click(object sender, EventArgs e)
  607. {//default speed
  608. PS3.SetMemory((0x01397880 + (uint)dataGridView1.CurrentRow.Index * 0x2A38), new byte[] { 0x3F, 0x80 });
  609. }
  610.  
  611. int time = 0;
  612. private void MemoryDumper_Tick(object sender, EventArgs e)
  613. {
  614. time++;
  615. timelapse.Text = "Time Elapsed: " + (time / 60).ToString() + "m " + (time % 60).ToString() + "s"; timelapse.Update();
  616. }
  617. void Dump_Memory()
  618. {
  619. SaveFileDialog file = new SaveFileDialog();
  620. DialogResult res = file.ShowDialog();
  621. if (res == DialogResult.OK)
  622. {
  623. System.IO.FileStream fs = new System.IO.FileStream(file.FileName, System.IO.FileMode.Append,
  624. System.IO.FileAccess.Write);
  625.  
  626. ulong size = 0x10000;
  627. ulong current = 0;
  628. ulong stop = 0xFFFFFFFF;
  629. ulong left = 0;
  630. MemoryDumper.Start();
  631. Dump_btn.Text = "STOP DUMPING"; Dump_btn.ForeColor = Color.Red;
  632.  
  633. while (current < stop)
  634. {
  635. byte[] buffer = PS3.GetMemory((uint)current, (int)size);
  636. fs.Write(buffer, 0, buffer.Length);
  637. current += size;
  638. left = stop - current;
  639. label1.Text = current.ToString("X8") + "\n" + stop.ToString("X") + "\n\nLeft:" + left.ToString("X"); label1.ForeColor = Color.Sienna; label1.Update();
  640. Application.DoEvents();
  641. }
  642. MemoryDumper.Stop();
  643. label2.ForeColor = Color.Green;
  644. label1.ForeColor = Color.Green;
  645. Dump_btn.Text = "DUMPED"; Dump_btn.ForeColor = Color.Green;
  646.  
  647. }
  648.  
  649. else
  650. {
  651. MessageBox.Show("fail..");
  652. }
  653.  
  654.  
  655. }
  656.  
  657. private void Dump_btn_Click(object sender, EventArgs e)
  658. {
  659. try
  660. {
  661. Dump_Memory();
  662. ulong[] test = PS3.GetRegisters();
  663. }
  664.  
  665.  
  666. catch { label1.Text = "Failed !"; label1.ForeColor = Color.Red; label1.Update(); }
  667. }
  668.  
  669. private void button13_Click(object sender, EventArgs e)
  670. {
  671. SetColorDvar((int)dvarclient.Value, dvarname.Text, (Byte)rv.Value, (Byte)gv.Value, (Byte)bv.Value, (Byte)av.Value);
  672. // char[] delimiterChars = { ' ' };
  673. //SetDvar((int)dvarclient.Value, (string)dvarname.Text, (int)rv.Value + Convert.ToInt32(delimiterChars) + (int)gv.Value + Convert.ToInt32(delimiterChars) + (int)bv.Value + Convert.ToInt32(delimiterChars) + (int)av.Value);
  674. }
  675.  
  676. private void button10_Click(object sender, EventArgs e)
  677. {
  678. SetDvar((int)dvarclient.Value, dvarname.Text, (int)floatintval.Value);
  679. }
  680. public void SetStringDvar(Int32 clientIndex, String DvarName, String value)
  681. {
  682. SV_SendServerCommand((uint)clientIndex, "v " + DvarName + " " + value + "");
  683. }
  684. public void SetColorDvar(Int32 clientIndex, String DvarName, Byte rValue, Byte gValue, Byte bValue, Byte aValue)
  685. {
  686. SV_SendServerCommand((uint)clientIndex, "v " + DvarName + " " + rValue + "" + gValue + "" + bValue + "" + "" + aValue + "");
  687. }
  688.  
  689. private void button11_Click(object sender, EventArgs e)
  690. {
  691. SetStringDvar((int)dvarclient.Value, dvarname.Text, stringval.Text);
  692. }
  693.  
  694.  
  695. #region Unlock Trophies MP
  696. private void button6_Click(object sender, EventArgs e)
  697. {
  698. string[] Achievements = new string[75];
  699. Achievements[0] = "8 SP_WIN_CUBA";
  700. Achievements[1] = "8 SP_WIN_VORKUTA";
  701. Achievements[2] = "8 SP_WIN_PENTAGON";
  702. Achievements[3] = "8 SP_WIN_FLASHPOINT";
  703. Achievements[4] = "8 SP_WIN_KHE_SANH";
  704. Achievements[5] = "8 SP_WIN_HUE_CITY";
  705. Achievements[6] = "8 SP_WIN_KOWLOON";
  706. Achievements[7] = "8 SP_WIN_RIVER";
  707. Achievements[8] = "8 SP_WIN_FULLAHEAD";
  708. Achievements[9] = "8 SP_WIN_INTERROGATION_ESCAPE";
  709. Achievements[10] = "8 SP_WIN_UNDERWATERBASE";
  710. Achievements[11] = "8 SP_VWIN_FLASHPOINT";
  711. Achievements[12] = "8 SP_VWIN_HUE_CITY";
  712. Achievements[13] = "8 SP_VWIN_RIVER";
  713. Achievements[14] = "8 SP_VWIN_FULLAHEAD";
  714. Achievements[15] = "8 SP_VWIN_UNDERWATERBASE";
  715. Achievements[16] = "8 SP_LVL_CUBA_CASTRO_ONESHOT";
  716. Achievements[17] = "8 SP_LVL_VORKUTA_VEHICULAR";
  717. Achievements[18] = "8 SP_LVL_VORKUTA_SLINGSHOT";
  718. Achievements[19] = "8 SP_LVL_KHESANH_MISSILES";
  719. Achievements[20] = "8 SP_LVL_HUECITY_AIRSUPPORT";
  720. Achievements[21] = "8 SP_LVL_HUECITY_DRAGON";
  721. Achievements[22] = "8 SP_LVL_CREEK1_DESTROY_MG";
  722. Achievements[23] = "8 SP_LVL_CREEK1_KNIFING";
  723. Achievements[24] = "8 SP_LVL_KOWLOON_DUAL";
  724. Achievements[25] = "8 SP_LVL_RIVER_TARGETS";
  725. Achievements[26] = "8 SP_LVL_WMD_RSO";
  726. Achievements[27] = "8 SP_LVL_WMD_RELAY";
  727. Achievements[28] = "8 SP_LVL_POW_HIND";
  728. Achievements[29] = "8 SP_LVL_POW_FLAMETHROWER";
  729. Achievements[30] = "8 SP_LVL_FULLAHEAD_2MIN";
  730. Achievements[31] = "8 SP_LVL_REBIRTH_MONKEYS";
  731. Achievements[32] = "8 SP_LVL_REBIRTH_NOLEAKS";
  732. Achievements[33] = "8 SP_LVL_UNDERWATERBASE_MINI";
  733. Achievements[34] = "8 SP_LVL_FRONTEND_CHAIR";
  734. Achievements[35] = "8 SP_LVL_FRONTEND_ZORK";
  735. Achievements[36] = "8 SP_GEN_MASTER";
  736. Achievements[37] = "8 SP_GEN_FRAGMASTER";
  737. Achievements[38] = "8 SP_GEN_ROUGH_ECO";
  738. Achievements[39] = "8 SP_GEN_CROSSBOW";
  739. Achievements[40] = "8 SP_GEN_FOUNDFILMS";
  740. Achievements[41] = "8 SP_ZOM_COLLECTOR";
  741. Achievements[42] = "8 SP_ZOM_NODAMAGE";
  742. Achievements[43] = "8 SP_ZOM_TRAPS";
  743. Achievements[44] = "8 SP_ZOM_SILVERBACK";
  744. Achievements[45] = "8 SP_ZOM_CHICKENS";
  745. Achievements[46] = "8 SP_ZOM_FLAMINGBULL";
  746. Achievements[47] = "8 MP_FILM_CREATED";
  747. Achievements[48] = "8 MP_WAGER_MATCH";
  748. Achievements[49] = "8 MP_PLAY";
  749. Achievements[50] = "8 DLC1_ZOM_OLDTIMER";
  750. Achievements[51] = "8 DLC1_ZOM_HARDWAY";
  751. Achievements[52] = "8 DLC1_ZOM_PISTOLERO";
  752. Achievements[53] = "8 DLC1_ZOM_BIGBADDABOOM";
  753. Achievements[54] = "8 DLC1_ZOM_NOLEGS";
  754. Achievements[55] = "8 DLC2_ZOM_PROTECTEQUIP";
  755. Achievements[56] = "8 DLC2_ZOM_LUNARLANDERS";
  756. Achievements[57] = "8 DLC2_ZOM_FIREMONKEY";
  757. Achievements[58] = "8 DLC2_ZOM_BLACKHOLE";
  758. Achievements[59] = "8 DLC2_ZOM_PACKAPUNCH";
  759. Achievements[60] = "8 DLC3_ZOM_STUNTMAN";
  760. Achievements[61] = "8 DLC3_ZOM_SHOOTING_ON_LOCATION";
  761. Achievements[62] = "8 DLC3_ZOM_QUIET_ON_THE_SET";
  762. Achievements[63] = "8 DLC4_ZOM_TEMPLE_SIDEQUEST";
  763. Achievements[64] = "8 DLC5_ZOM_CRYOGENIC_PARTY";
  764. Achievements[65] = "8 DLC5_ZOM_BIG_BANG_THEORY";
  765. Achievements[66] = "8 DLC5_ZOM_GROUND_CONTROL";
  766. Achievements[67] = "8 DLC5_ZOM_ONE_SMALL_HACK";
  767. Achievements[68] = "8 DLC5_ZOM_ONE_GIANT_LEAP";
  768. Achievements[69] = "8 DLC5_ZOM_PERKS_IN_SPACE";
  769. Achievements[70] = "8 DLC5_ZOM_FULLY_ARMED";
  770. Achievements[71] = "8 DLC4_ZOM_ZOMB_DISPOSAL";
  771. Achievements[72] = "8 DLC4_ZOM_MONKEY_SEE_MONKEY_DONT";
  772. Achievements[73] = "8 DLC4_ZOM_BLINDED_BY_THE_FRIGHT";
  773. Achievements[74] = "8 DLC4_ZOM_SMALL_CONSOLATION";
  774.  
  775. byte[] FT111 = new byte[] { 0x41 };
  776. byte[] FT11 = new byte[] { 0x40 };
  777. byte[] RPCON1 = new byte[] { 0x38, 0x60, 0xFF, 0xFF, 0x38, 0x80, 0x00, 0x00, 0x3C, 0xA0, 0x02, 0x00, 0x30, 0xA5, 0x50, 0x00, 0x4B, 0xF8, 0x2E, 0x2D, 0x4B, 0xFF, 0xFB, 0x78 };
  778. byte[] RPCOFF1 = new byte[] { 0x82, 0xB9, 0x00, 0x00, 0x3C, 0xE0, 0x00, 0xD7, 0x3D, 0x80, 0x00, 0x92, 0x56, 0xA4, 0x38, 0x30, 0x56, 0xBB, 0x18, 0x38, 0x3B, 0x87, 0x9D, 0x04 };
  779.  
  780. for (int i = 0; i < 75; i++)
  781. {
  782. PS3.SetMemory(0x2005000, Encoding.ASCII.GetBytes(Achievements[i] + "\0"));
  783. PS3.SetMemory(0x466298, FT111);
  784. PS3.SetMemory(0x4667B4, RPCON1);
  785. System.Threading.Thread.Sleep(15);
  786. PS3.SetMemory(0x466298, FT11);
  787. PS3.SetMemory(0x4667B4, RPCOFF1);
  788. }
  789. }
  790. #endregion
  791.  
  792.  
  793. #region Unlock Trophies ZM
  794. private void button7_Click(object sender, EventArgs e)
  795. {
  796. string[] Achievements = new string[75];
  797. Achievements[0] = "8 SP_WIN_CUBA";
  798. Achievements[1] = "8 SP_WIN_VORKUTA";
  799. Achievements[2] = "8 SP_WIN_PENTAGON";
  800. Achievements[3] = "8 SP_WIN_FLASHPOINT";
  801. Achievements[4] = "8 SP_WIN_KHE_SANH";
  802. Achievements[5] = "8 SP_WIN_HUE_CITY";
  803. Achievements[6] = "8 SP_WIN_KOWLOON";
  804. Achievements[7] = "8 SP_WIN_RIVER";
  805. Achievements[8] = "8 SP_WIN_FULLAHEAD";
  806. Achievements[9] = "8 SP_WIN_INTERROGATION_ESCAPE";
  807. Achievements[10] = "8 SP_WIN_UNDERWATERBASE";
  808. Achievements[11] = "8 SP_VWIN_FLASHPOINT";
  809. Achievements[12] = "8 SP_VWIN_HUE_CITY";
  810. Achievements[13] = "8 SP_VWIN_RIVER";
  811. Achievements[14] = "8 SP_VWIN_FULLAHEAD";
  812. Achievements[15] = "8 SP_VWIN_UNDERWATERBASE";
  813. Achievements[16] = "8 SP_LVL_CUBA_CASTRO_ONESHOT";
  814. Achievements[17] = "8 SP_LVL_VORKUTA_VEHICULAR";
  815. Achievements[18] = "8 SP_LVL_VORKUTA_SLINGSHOT";
  816. Achievements[19] = "8 SP_LVL_KHESANH_MISSILES";
  817. Achievements[20] = "8 SP_LVL_HUECITY_AIRSUPPORT";
  818. Achievements[21] = "8 SP_LVL_HUECITY_DRAGON";
  819. Achievements[22] = "8 SP_LVL_CREEK1_DESTROY_MG";
  820. Achievements[23] = "8 SP_LVL_CREEK1_KNIFING";
  821. Achievements[24] = "8 SP_LVL_KOWLOON_DUAL";
  822. Achievements[25] = "8 SP_LVL_RIVER_TARGETS";
  823. Achievements[26] = "8 SP_LVL_WMD_RSO";
  824. Achievements[27] = "8 SP_LVL_WMD_RELAY";
  825. Achievements[28] = "8 SP_LVL_POW_HIND";
  826. Achievements[29] = "8 SP_LVL_POW_FLAMETHROWER";
  827. Achievements[30] = "8 SP_LVL_FULLAHEAD_2MIN";
  828. Achievements[31] = "8 SP_LVL_REBIRTH_MONKEYS";
  829. Achievements[32] = "8 SP_LVL_REBIRTH_NOLEAKS";
  830. Achievements[33] = "8 SP_LVL_UNDERWATERBASE_MINI";
  831. Achievements[34] = "8 SP_LVL_FRONTEND_CHAIR";
  832. Achievements[35] = "8 SP_LVL_FRONTEND_ZORK";
  833. Achievements[36] = "8 SP_GEN_MASTER";
  834. Achievements[37] = "8 SP_GEN_FRAGMASTER";
  835. Achievements[38] = "8 SP_GEN_ROUGH_ECO";
  836. Achievements[39] = "8 SP_GEN_CROSSBOW";
  837. Achievements[40] = "8 SP_GEN_FOUNDFILMS";
  838. Achievements[41] = "8 SP_ZOM_COLLECTOR";
  839. Achievements[42] = "8 SP_ZOM_NODAMAGE";
  840. Achievements[43] = "8 SP_ZOM_TRAPS";
  841. Achievements[44] = "8 SP_ZOM_SILVERBACK";
  842. Achievements[45] = "8 SP_ZOM_CHICKENS";
  843. Achievements[46] = "8 SP_ZOM_FLAMINGBULL";
  844. Achievements[47] = "8 MP_FILM_CREATED";
  845. Achievements[48] = "8 MP_WAGER_MATCH";
  846. Achievements[49] = "8 MP_PLAY";
  847. Achievements[50] = "8 DLC1_ZOM_OLDTIMER";
  848. Achievements[51] = "8 DLC1_ZOM_HARDWAY";
  849. Achievements[52] = "8 DLC1_ZOM_PISTOLERO";
  850. Achievements[53] = "8 DLC1_ZOM_BIGBADDABOOM";
  851. Achievements[54] = "8 DLC1_ZOM_NOLEGS";
  852. Achievements[55] = "8 DLC2_ZOM_PROTECTEQUIP";
  853. Achievements[56] = "8 DLC2_ZOM_LUNARLANDERS";
  854. Achievements[57] = "8 DLC2_ZOM_FIREMONKEY";
  855. Achievements[58] = "8 DLC2_ZOM_BLACKHOLE";
  856. Achievements[59] = "8 DLC2_ZOM_PACKAPUNCH";
  857. Achievements[60] = "8 DLC3_ZOM_STUNTMAN";
  858. Achievements[61] = "8 DLC3_ZOM_SHOOTING_ON_LOCATION";
  859. Achievements[62] = "8 DLC3_ZOM_QUIET_ON_THE_SET";
  860. Achievements[63] = "8 DLC4_ZOM_TEMPLE_SIDEQUEST";
  861. Achievements[64] = "8 DLC5_ZOM_CRYOGENIC_PARTY";
  862. Achievements[65] = "8 DLC5_ZOM_BIG_BANG_THEORY";
  863. Achievements[66] = "8 DLC5_ZOM_GROUND_CONTROL";
  864. Achievements[67] = "8 DLC5_ZOM_ONE_SMALL_HACK";
  865. Achievements[68] = "8 DLC5_ZOM_ONE_GIANT_LEAP";
  866. Achievements[69] = "8 DLC5_ZOM_PERKS_IN_SPACE";
  867. Achievements[70] = "8 DLC5_ZOM_FULLY_ARMED";
  868. Achievements[71] = "8 DLC4_ZOM_ZOMB_DISPOSAL";
  869. Achievements[72] = "8 DLC4_ZOM_MONKEY_SEE_MONKEY_DONT";
  870. Achievements[73] = "8 DLC4_ZOM_BLINDED_BY_THE_FRIGHT";
  871. Achievements[74] = "8 DLC4_ZOM_SMALL_CONSOLATION";
  872.  
  873. byte[] FT111 = new byte[] { 0x41 };
  874. byte[] FT11 = new byte[] { 0x40 };
  875. byte[] RPCON1 = new byte[] { 0x38, 0x60, 0xFF, 0xFF, 0x38, 0x80, 0x00, 0x00, 0x3C, 0xA0, 0x02, 0x00, 0x30, 0xA5, 0x50, 0x00, 0x4B, 0xFB, 0xAE, 0xB5, 0x4B, 0xFF, 0xF0, 0x60 };
  876. byte[] RPCOFF1 = new byte[] { 0x82, 0xF8, 0x00, 0x00, 0x3E, 0xA0, 0x00, 0xB5, 0x3D, 0x20, 0x00, 0x82, 0x56, 0xE0, 0x18, 0x38, 0x56, 0xE4, 0x38, 0x30, 0x3B, 0x95, 0x6C, 0x50, 0x7F, 0x60, 0x20, 0x50, 0x38, 0x80, 0x00, 0x00 };
  877.  
  878. for (int i = 0; i < 75; i++)
  879. {
  880. PS3.SetMemory(0x2005000, Encoding.ASCII.GetBytes(Achievements[i] + "\0"));
  881. PS3.SetMemory(0x407554, FT111);
  882. PS3.SetMemory(0x4084E4, RPCON1);
  883. System.Threading.Thread.Sleep(15);
  884. PS3.SetMemory(0x407554, FT11);
  885. PS3.SetMemory(0x4084E4, RPCOFF1);
  886. }
  887. }
  888. #endregion
  889.  
  890. private void checkBox14_CheckedChanged(object sender, EventArgs e)
  891. {
  892. stringType.Checked = true;
  893. shaderType.Checked = false;
  894. material.Enabled = false;
  895. stringHud.Enabled = true;
  896. font.Enabled = true;
  897. fontScale.Enabled = true;
  898. }
  899.  
  900. private void checkBox13_CheckedChanged(object sender, EventArgs e)
  901. {
  902. shaderType.Checked = true;
  903. stringType.Checked = false;
  904. material.Enabled = true;
  905. stringHud.Enabled = false;
  906. font.Enabled = false;
  907. fontScale.Enabled = false;
  908. }
  909.  
  910.  
  911. #region Stats
  912. private void button8_Click(object sender, EventArgs e)
  913. {
  914. if (codPoints.Checked == true)
  915. {
  916. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(codPointsValue.Text)));
  917. Array.Reverse(buffer);
  918. PS3.SetMemory(0x020942d1, buffer);
  919. }
  920. if (timePlayed.Checked == true)
  921. {
  922. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(timePlayedValue.Text)));
  923. Array.Reverse(buffer);
  924. PS3.SetMemory(0x02094731, buffer);
  925. }
  926. if (totalWins.Checked == true)
  927. {
  928. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(winsValue.Text)));
  929. Array.Reverse(buffer);
  930. PS3.SetMemory(0x0209475d, buffer);
  931. }
  932. if (totalLosses.Checked == true)
  933. {
  934. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(lossesValue.Text)));
  935. Array.Reverse(buffer);
  936. PS3.SetMemory(0x020944dd, buffer);
  937. }
  938. if (prestige.Checked == true)
  939. {
  940. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(prestigeValue.Text)));
  941. Array.Reverse(buffer);
  942. PS3.SetMemory(0x020946dd, buffer);
  943. }
  944. if (rank.Checked == true)
  945. {
  946. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(rankValue.Text)));
  947. Array.Reverse(buffer);
  948. PS3.SetMemory(0x020946e5, buffer);
  949. }
  950. if (kills.Checked == true)
  951. {
  952. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(killsValue.Text)));
  953. Array.Reverse(buffer);
  954. PS3.SetMemory(0x02094429, buffer);
  955. }
  956. if (deaths.Checked == true)
  957. {
  958. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(deathsValue.Text)));
  959. Array.Reverse(buffer);
  960. PS3.SetMemory(0x020942f5, buffer);
  961. }
  962. if (assists.Checked == true)
  963. {
  964. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(assistsValue.Text)));
  965. Array.Reverse(buffer);
  966. PS3.SetMemory(0x02094291, buffer);
  967. }
  968. if (headShots.Checked == true)
  969. {
  970. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(headshotsValue.Text)));
  971. Array.Reverse(buffer);
  972. PS3.SetMemory(0x0209440d, buffer);
  973. }
  974. if (gamesPlayed.Checked == true)
  975. {
  976. byte[] buffer = BitConverter.GetBytes(Convert.ToInt32(int.Parse(gamesPlayedValue.Text)));
  977. Array.Reverse(buffer);
  978. PS3.SetMemory(0x020938b1, buffer);
  979. }
  980. }
  981. #endregion
  982.  
  983. private void checkBox2_CheckedChanged(object sender, EventArgs e)
  984. {
  985. }
  986.  
  987. private void button18_Click(object sender, EventArgs e)
  988. {
  989. PS3.WriteString(0x0091C860, fpsString.Text);
  990. }
  991.  
  992. }
  993. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement