Pages: 1 ... 105 106 [107] 108 109 ... 194
Author Topic: The Volvo ME7 thread:  (Read 1763558 times)
athlon
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 6


« Reply #1590 on: August 29, 2022, 10:33:16 AM »

This was pulled with Hiltons software. The binary you have is a Volvo encrypted binary so it is all scrambled together which will not do you any good. If you send me a vlic I can unencrypt it for you

Is this encrypted through Hiltons software while dumping? or just how Volvo communicates?
Logged
s60rawr
Full Member
***

Karma: +22/-1162
Offline Offline

Posts: 191



WWW
« Reply #1591 on: August 29, 2022, 11:08:45 AM »

Is this encrypted through Hiltons software while dumping? or just how Volvo communicates?

this is hiltons tuning suite that he used to offer on his page, i believe it was "self tuning"  i assume he had a version for other businesses aka shem etc.... and he made a version with their logo etc... but its all hiltons shit on the back end along with his corruption.

if you go throught the code it always links to volvotuners.com which forwards you to hiltons page. and even in the dotpeek jetBeans debugger i have it shows it as hiltons tuning suite etc....
he doesnt have it available on his page anymore and i assume there's a transaction or something for how many licenses they can supply etc....

long story short, hilton is a big reason to why we're stuck like this.

all he did was take dream3r's software work through the dice. and then put it behind some license shit and encryption bs
Logged


There is a free flash suite in progres

http://www.openmoose.net/blog/?page=renatus

#1 Nefmoto -Karma Sponge!
SparkyR
Full Member
***

Karma: +19/-21
Offline Offline

Posts: 84



« Reply #1592 on: August 29, 2022, 11:16:56 AM »

https://youtu.be/A9F4jbqwmng
Logged

2005 S60R m66, Xona Rotor 7864, turbosmart 45mm wastegate, 1300cc injectors
athlon
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 6


« Reply #1593 on: August 29, 2022, 11:25:36 AM »

I'm just seeing this now ..
wtf...
how do we get the project file for our software

mines the 50GPHJ

We're you able to decrypt it? How long does it take to read with hiltons software?
Logged
keichi
Full Member
***

Karma: +11/-2
Offline Offline

Posts: 100


« Reply #1594 on: August 30, 2022, 04:38:54 AM »

Thanks for sharing your OBD utility, Prometey
Your flasher has no Help, instruction sheet, or obvious read function in the source code.

If all you have to offer is that shit on your github, well then you don't have much to offer at all.

Actually his software is very use full - at least for me, and i appreciate that he shared this on github.

It doesn't have reading capability but i think it is the least important feature.
What are the most important are flashing and logging, the latter being absolutely the most important.

I read my ECU only once outside the car using cheap MPPS cable in boot mode.
Then i never took it out again. Every next flashing was done with Prometey's software thru OBD with DICE (cheapest chine clone). And i made almost 80 flashings with it already.

All the tuning process is flashing - hitting the road and logging, going back to home, opening logs, analyzing, making changes to the bin, reflashing, hitting the road and so on.
Sometimes i do modifications on the road (but i don't feel comfortable flashing on the side of the road far from home despite having backup stock ECU in the car glove box Smiley)
There is no "reading" unless you want to start tuning next car.

Of course there is also decompiling the software in IDA involved to find maps and variables but it's other story (you have to have good software developing background to understand what is going on - even to compile prometey's software from github you have to be familiar with visual studio, c language etc.) This is actually "open source" knowledge (IT skills) but no one will teach you programming with few post on the forum Smiley When you have this knowledge - compiling and using his software is very easy and there is no need for "instruction sheet" or "help" Smiley

Without some simple GUI this software is not friendly for "not IT" people but making GUI is extra work. Who will do it for free? Smiley

So i don't agree Prometey didn't bring anything to the community. For me quite contrary:)
« Last Edit: August 30, 2022, 05:18:39 AM by keichi » Logged
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1595 on: August 30, 2022, 08:53:00 AM »

Prometey is a russian tuner who doesn't have many people to appreciate his work or efforts,
so he brags on English speaking forums, not realizing that culture can impact your outcome more than specific words.
 Nothing more.. He hasn't really contributed much anywhere, except bitch about his own behaviors (lack of contributions)
He uses a dead man's (dream3r) code, that Hilton has made into a fucked up pyramid scheme.
He hasn't made a thing.

Now he goes over to MathewsVolvoSite where he can align himself with other unhelpful and unproductive POS's to produce more licensed abandonware to fuck people over.

SparkyR S60rr S60rxtreme bhalme keeps diggning himself into a deeper hole.
His public reputation in the tuning community is falling faster than a comet, I happily turned several people away from him yesterday.
"You ready for the tune" LOL

He clearly is riding under Shitbird Hilton's wing, and has almost Zero Capabilities of himself. ..
Cant read/write his own files
Can't define his own files
Can't add any code patches or ASM
Can't decrypt his read.
Can't tell anyone else how to tune!
Incompetent and worthless!
Makes it other's fault.

So glad I did my "Research".. Maybe you should watch some movies and see how the villains get started?


Why I will NEVER buy licensed software:

I was raised during the DRM era.
I used to mow lawns to make money, to buy games... only for the company to get bought out, or out of business,
someone to shut down the server, kill my account and make the game worthless.

Or perhaps I upgraded my graphics card, and now my games wont run. I have to contact each of the publishers asking for new license file, many to refuse.
This is NOT freedom. This is NOT ownership. This is a scheme.

This Volvo community is fucking Abysmal.

^^^ About it's current state of electronics..

Who will help this cat for free?

A Volvo owner would kick it and proceed to buy their cat at home new toys.



« Last Edit: August 30, 2022, 09:09:40 AM by Vollmer » Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1596 on: August 30, 2022, 08:57:19 AM »



using System;
using System.Collections.Generic;
using System.Threading;
using System.Windows.Forms;

namespace DiCEdotNET.Flash.ECU
{
  public class ECUProgrammer : ModuleProgrammer
  {
    private bool flash512;

    public ECUProgrammer(DiCEComm dice, byte[] sbl, byte[] binFile, bool flash512, bool p80)
      : base(p80)
    {
      this.dice = dice;
      this.sbl = sbl;
      this.binFile = binFile;
      this.flash512 = flash512;
    }

    public byte[] readECU(bool readRAM)
    {
      byte[] numArray = (byte[]) null;
      try
      {
        int num1 = 0;
        if (readRAM)
        {
          numArray = new byte[65536];
          num1 = 3145728;
        }
        else
          numArray = !this.flash512 ? new byte[1048576] : new byte[524288];
        int num2 = 1;
        if (!readRAM)
        {
          CANPacket canPacket1 = new CANPacket(new byte[8]
          {
            (byte) 122,
            (byte) 188,
            (byte) 0,
            (byte) 15,
            byte.MaxValue,
            (byte) 0,
            (byte) 0,
            (byte) 0
          });
          byte[] arr1 = new byte[6];
          byte[] arr2 = new byte[6]
          {
            (byte) 79,
            (byte) 79,
            (byte) 82,
            (byte) 69,
            (byte) 65,
            (byte) 68
          };
          List<CANPacket> canPacketList;
          do
          {
            uint maxNumMsgs = 1;
            uint timeout = 1000;
            canPacketList = this.dice.sendMsgReadResponse(canPacket1, CANChannel.HS, ref maxNumMsgs, timeout);
            ++num2;
            if (num2 == 5)
              throw new MessageNotReceivedException(canPacket1);
          }
          while (canPacketList == null);
          int num3 = 0;
          foreach (CANPacket canPacket2 in canPacketList)
          {
            for (int index = 6; index < canPacket2.data.Length; ++index)
            {
              if (num3 < numArray.Length)
                arr1[num3++] = canPacket2.data[index];
            }
          }
          if (ECUProgrammer.checkArrayEq(arr1, arr2))
            return new byte[4]
            {
              (byte) 68,
              (byte) 69,
              (byte) 78,
              (byte) 89
            };
        }
        try
        {
          int num4 = num1;
          while (num4 < numArray.Length + num1)
          {
            CANPacket canPacket3 = new CANPacket(new byte[8]
            {
              (byte) 122,
              (byte) 188,
              (byte) 0,
              (byte) (num4 >> 16),
              (byte) (num4 >> Cool,
              (byte) num4,
              (byte) 0,
              (byte) 0
            });
            int num5 = 1;
            List<CANPacket> canPacketList;
            do
            {
              uint maxNumMsgs = 1;
              uint timeout = 1000;
              canPacketList = this.dice.sendMsgReadResponse(canPacket3, CANChannel.HS, ref maxNumMsgs, timeout);
              ++num5;
              if (num5 == 5)
                throw new MessageNotReceivedException(canPacket3);
            }
            while (canPacketList == null);
            foreach (CANPacket canPacket4 in canPacketList)
            {
              for (int index = 6; index < canPacket4.data.Length; ++index)
              {
                if (num4 - num1 < numArray.Length)
                  numArray[num4++ - num1] = canPacket4.data[index];
              }
            }
          }
        }
        catch (MessageNotReceivedException ex)
        {
          this.sendReset();
          Console.WriteLine(ex.ToString());
          return (byte[]) null;
        }
        catch (Exception ex)
        {
          this.sendReset();
          Console.WriteLine(ex.ToString());
          return (byte[]) null;
        }
      }
      catch (Exception ex)
      {
        this.sendReset();
        Console.WriteLine(ex.ToString());
      }
      finally
      {
        if (readRAM)
        {
          lock (new object())
            this.doneFlashing = true;
        }
      }
      return numArray;
    }

    public static bool checkArrayEq(byte[] arr1, byte[] arr2)
    {
      int num = arr1.Length > arr2.Length ? arr2.Length : arr1.Length;
      bool flag = true;
      for (int index = 0; index < num; ++index)
        flag &= (int) arr1[index] == (int) arr2[index];
      return flag;
    }

    public void recodeECU(int unlockPin, int pinCode, long securityKey)
    {
      uint msgid = 0;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid, 1000U, CANChannel.HS);
      Thread.Sleep(2000);
      this.writeEEPROMPin(unlockPin, pinCode, securityKey);
      this.dice.stopPeriodicMsg(msgid, CANChannel.HS);
    }

    public void recodeECU(int unlockPin, long securityKey)
    {
      int immoPin = 0;
      for (int index = 0; index < 24; index += 4)
        immoPin += (int) (byte) ((ulong) (securityKey >> index + 16) & 15UL) << 20 - index;
      uint msgid = 0;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid, 1000U, CANChannel.HS);
      Thread.Sleep(2000);
      this.writeEEPROMPin(unlockPin, immoPin, securityKey);
      this.dice.stopPeriodicMsg(msgid, CANChannel.HS);
    }

    public override bool clearFaultCodes()
    {
      uint msgid1 = 0;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid1, 1000U, CANChannel.HS);
      uint msgid2 = 0;
      if (!this.p80)
        this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid2, 1000U, CANChannel.MS);
      Thread.Sleep(2000);
      bool flag = true;
      foreach (byte hsModuleAddress in VolvoECUCommands.hsModuleAddresses)
      {
        CANPacket CANMsg1 = new CANPacket(ModuleProgrammer.msgCANReadFaultCodes);
        CANMsg1.setDiagModuleAddress(hsModuleAddress);
        this.dice.sendMsg(CANMsg1, CANChannel.HS);
        Thread.Sleep(250);
        CANPacket CANMsg2 = new CANPacket(ModuleProgrammer.msgCANClearFaultCodes);
        flag &= this.dice.sendMsgCheckDiagResponse(CANMsg2, CANChannel.HS, (byte) 239);
      }
      if (!this.p80)
      {
        foreach (byte msModuleAddress in VolvoECUCommands.msModuleAddresses)
        {
          CANPacket CANMsg3 = new CANPacket(ModuleProgrammer.msgCANReadFaultCodes);
          CANMsg3.setDiagModuleAddress(msModuleAddress);
          this.dice.sendMsg(CANMsg3, CANChannel.MS);
          Thread.Sleep(300);
          CANPacket CANMsg4 = new CANPacket(ModuleProgrammer.msgCANClearFaultCodes);
          flag &= this.dice.sendMsgCheckDiagResponse(CANMsg4, CANChannel.MS, (byte) 239);
        }
      }
      if (!this.p80)
        this.dice.stopPeriodicMsg(msgid2, CANChannel.MS);
      this.dice.stopPeriodicMsg(msgid1, CANChannel.HS);
      return flag;
    }

    public bool canFlash()
    {
      uint msgid = 0;
      bool flag = false;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid, 1000U, CANChannel.HS);
      Thread.Sleep(2000);
      if (this.dice.sendMsgReadResponse(VolvoECUCommands.msgCEMEngineState, CANChannel.HS).data[9] == (byte) 102)
        flag = true;
      this.dice.stopPeriodicMsg(msgid, CANChannel.HS);
      return flag;
    }

    public int readCANConfigNumber()
    {
      uint msgid = 0;
      uint numMsgs = 4;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid, 1000U, CANChannel.HS);
      Thread.Sleep(2000);
      List<CANPacket> canPacketList = this.dice.sendMsgReadResponse(VolvoECUCommands.msgCANReadECMConfig, CANChannel.HS, ref numMsgs);
      this.dice.stopPeriodicMsg(msgid, CANChannel.HS);
      byte[] numArray1 = new byte[28];
      for (int index1 = 0; index1 < canPacketList.Count; ++index1)
      {
        for (int index2 = 5; index2 < 12; ++index2)
          numArray1[index2 - 5 + index1 * 7] = canPacketList[index1].data[index2];
      }
      byte[] numArray2 = new byte[4];
      for (int index = 4; index < 8; ++index)
        numArray2[3 - (index - 4)] = numArray1[index];
      return BitConverter.ToInt32(numArray2, 0);
    }


Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1597 on: August 30, 2022, 08:58:03 AM »

    public int readSoftwareNumber()
    {
      uint msgid = 0;
      uint numMsgs = 4;
      this.dice.startPeriodicMsg(ModuleProgrammer.msgCANTesterPresent, ref msgid, 1000U, CANChannel.HS);
      Thread.Sleep(2000);
      List<CANPacket> canPacketList = this.dice.sendMsgReadResponse(VolvoECUCommands.msgCANReadECMConfig, CANChannel.HS, ref numMsgs);
      this.dice.stopPeriodicMsg(msgid, CANChannel.HS);
      byte[] numArray1 = new byte[28];
      for (int index1 = 0; index1 < canPacketList.Count; ++index1)
      {
        for (int index2 = 5; index2 < 12; ++index2)
          numArray1[index2 - 5 + index1 * 7] = canPacketList[index1].data[index2];
      }
      byte[] numArray2 = new byte[4];
      for (int index = 16; index < 20; ++index)
        numArray2[3 - (index - 16)] = numArray1[index];
      return BitConverter.ToInt32(numArray2, 0);
    }

    public bool checkBINCompatible()
    {
      this.readCANConfigNumber();
      return false;
    }

    protected override void flashModule()
    {
      try
      {
        this.sendModuleReset();
        this.sendSilence();
        this.startPBL();
        this.startSBL(this.sbl, true);
        this.sendData(this.binFile);
        this.sendReset();
        if (this.p80)
          return;
        Thread.Sleep(2000);
        this.setDIMTime();
      }
      catch (Exception ex)
      {
        this.sendReset();
        Console.WriteLine(ex.ToString());
      }
      finally
      {
        lock (new object())
          this.doneFlashing = true;
      }
    }

    private void writeEEPROMPin(int unlockPin, int immoPin, long cemPsk)
    {
      CANPacket CANMsg1 = new CANPacket(VolvoECUCommands.msgCANSendPin);
      byte[] bytes1 = BitConverter.GetBytes(unlockPin);
      Array.Reverse((Array) bytes1, 0, 3);
      CANMsg1.setDiagData(bytes1);
      if (unlockPin == 0)
        this.dice.sendMsg(CANMsg1, CANChannel.HS);
      else if (!this.dice.sendMsgCheckDiagResponse(CANMsg1, CANChannel.HS, (byte) 227))
        Console.WriteLine("Pin unlock failed");
      Thread.Sleep(500);
      CANPacket CANMsg2 = new CANPacket(VolvoECUCommands.msgCANWritePin);
      byte[] bytes2 = BitConverter.GetBytes(immoPin);
      Array.Reverse((Array) bytes2, 0, 3);
      CANMsg2.setDiagData(bytes2);
      if (!this.dice.sendMsgCheckDiagResponse(CANMsg2, CANChannel.HS, (byte) 248))
        Console.WriteLine("New pin write failed");
      Thread.Sleep(2000);
      CANPacket CANMsg3 = new CANPacket(VolvoECUCommands.msgCANWriteKey);
      byte[] bytes3 = BitConverter.GetBytes(cemPsk);
      Array.Reverse((Array) bytes3, 0, 6);
      CANMsg3.setDiagData(new byte[4]
      {
        bytes3[0],
        bytes3[1],
        bytes3[2],
        bytes3[3]
      });
      this.dice.sendMsg(CANMsg3, CANChannel.HS);
      CANPacket CANMsg4 = new CANPacket(VolvoECUCommands.msgCANBlank);
      CANMsg4.data[4] = (byte) 74;
      CANMsg4.data[5] = bytes3[4];
      CANMsg4.data[6] = bytes3[5];
      if (!this.dice.sendMsgCheckDiagResponse(CANMsg4, CANChannel.HS, (byte) 248))
        Console.WriteLine("New key write failed");
      Thread.Sleep(100);
      if (this.dice.sendMsgCheckDiagResponse(new CANPacket(VolvoECUCommands.msgCANRelockImmo), CANChannel.HS, (byte) 227))
        return;
      Console.WriteLine("Relock request failed");
    }

    private List<CANPacket> createSBLList(byte[] sblArr)
    {
      List<CANPacket> sblList = new List<CANPacket>();
      for (int index1 = 0; index1 < sblArr.Length; index1 += 6)
      {
        CANPacket canPacket = new CANPacket(VolvoECUCommands.msgCANSendDataPrefix);
        byte[] mData = new byte[6];
        int num = sblArr.Length - index1;
        for (int index2 = 0; index2 < 6; ++index2)
          mData[index2] = num < index2 + 1 ? (byte) 0 : sblArr[index1 + index2];
        canPacket.setMsgData(mData);
        sblList.Add(canPacket);
      }
      return sblList;
    }

    private List<CANPacket> createData8kList(byte[] binFile)
    {
      List<CANPacket> data8kList = new List<CANPacket>();
      for (int index1 = 32768; index1 < 57344; index1 += 6)
      {
        CANPacket canPacket = new CANPacket(VolvoECUCommands.msgCANSendDataPrefix);
        byte[] mData = new byte[6];
        int num = binFile.Length - index1;
        for (int index2 = 0; index2 < 6; ++index2)
          mData[index2] = num < index2 + 1 ? (byte) 0 : binFile[index1 + index2];
        canPacket.setMsgData(mData);
        data8kList.Add(canPacket);
      }
      return data8kList;
    }

    private List<CANPacket> createData10kList(byte[] binFile)
    {
      List<CANPacket> data10kList = new List<CANPacket>();
      uint num1 = !this.flash512 ? 1048576U : 524288U;
      for (int index1 = 65536; (long) index1 < (long) num1; index1 += 6)
      {
        CANPacket canPacket = new CANPacket(VolvoECUCommands.msgCANSendDataPrefix);
        byte[] mData = new byte[6];
        int num2 = binFile.Length - index1;
        for (int index2 = 0; index2 < 6; ++index2)
          mData[index2] = num2 < index2 + 1 ? (byte) 0 : binFile[index1 + index2];
        canPacket.setMsgData(mData);
        data10kList.Add(canPacket);
      }
      return data10kList;
    }

    public override void sendModuleReset() => this.dice.sendMsg(VolvoECUCommands.msgCANECUReset, CANChannel.HS);

    public override void startPBL()
    {
      if (!this.dice.sendMsgCheckResponse(VolvoECUCommands.msgCANStartPBL, CANChannel.HS, (byte) 198))
        throw new MessageNotReceivedException();
    }

    public override void startSBL(byte[] sblArr, bool a0Response)
    {
      List<CANPacket> sblList = this.createSBLList(sblArr);
      this.sendJumpToSegment(3260416);
      this.dice.sendMsg(sblList, CANChannel.HS);
      if (a0Response)
        this.sendEndData();
      this.sendJumpToSegment(3260416);
      if (a0Response)
      {
        this.sendCommitData(3260416 + sblArr.Length);
        this.sendJumpToSegment(3260416);
      }
      if (a0Response)
      {
        if (!this.dice.sendMsgCheckResponse(VolvoECUCommands.msgCANJumpToStart, CANChannel.HS, (byte) 160))
          throw new MessageNotReceivedException();
      }
      else
        this.dice.sendMsg(VolvoECUCommands.msgCANJumpToStart, CANChannel.HS);
    }

    protected override void eraseFlash()
    {
      this.sendJumpToSegment(32768);
      this.sendEraseSegment();
      Thread.Sleep(3000);
      this.sendJumpToSegment(65536);
      this.sendEraseSegment();
    }

    protected override void sendData(byte[] binFile)
    {
      bool flag = true;
      do
      {
        this.eraseFlash();
        List<CANPacket> data8kList = this.createData8kList(binFile);
        this.sendJumpToSegment(32768);
        this.dice.sendMsg(data8kList, CANChannel.HS);
        this.sendJumpToSegment(32768);
        byte flashBlockChecksum1 = this.getFlashBlockChecksum(32768, 57344);
        flag &= this.sendCommitData(57344, flashBlockChecksum1);
        if (!flag)
        {
          int num1 = (int) MessageBox.Show("ECM did not flash correctly. Click ok to try again...", "Flash Fail", MessageBoxButtons.OK, MessageBoxIcon.Hand);
        }
        else
        {
          List<CANPacket> data10kList = this.createData10kList(binFile);
          if (!this.flash512)
          {
            this.sendJumpToSegment(65536);
            this.dice.sendMsg(data10kList, CANChannel.HS);
            this.sendJumpToSegment(65536);
            byte flashBlockChecksum2 = this.getFlashBlockChecksum(65536, 1048576);
            flag &= this.sendCommitData(1048576, flashBlockChecksum2);
          }
          else
          {
            this.sendJumpToSegment(65536);
            this.dice.sendMsg(data10kList, CANChannel.HS);
          }
          if (!flag)
          {
            int num2 = (int) MessageBox.Show("ECM did not flash correctly. Click ok to try again...", "Flash Fail", MessageBoxButtons.OK, MessageBoxIcon.Hand);
          }
        }
      }
      while (!flag);
    }

    private void sendJumpToSegment(int addr)
    {
      CANPacket CANMsg = new CANPacket(VolvoECUCommands.msgCANChooseSegmentPrefix);
      CANMsg.setAddr(addr);
      int num = 0;
      bool flag;
      do
      {
        flag = this.dice.sendMsgCheckResponse(CANMsg, CANChannel.HS, (byte) 156);
        ++num;
        if (!flag)
          Thread.Sleep(1000);
        if (num == 5)
          throw new MessageNotReceivedException();
      }
      while (!flag);
    }

    private void sendEndData() => this.dice.sendMsg(VolvoECUCommands.msgCANEndData, CANChannel.HS);

    private void sendEndData(bool waitForResponse)
    {
      if (!this.dice.sendMsgCheckResponse(VolvoECUCommands.msgCANEndData, CANChannel.HS, (byte) 169))
        throw new MessageNotReceivedException();
    }

    private void sendCommitData(int addr)
    {
      CANPacket CANMsg = new CANPacket(VolvoECUCommands.msgCANCommitSegmentPrefix);
      CANMsg.setAddr(addr);
      if (!this.dice.sendMsgCheckResponse(CANMsg, CANChannel.HS, (byte) 177))
        throw new MessageNotReceivedException();
    }


}
Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1598 on: August 30, 2022, 09:03:06 AM »

It doesn't fit..
This is easier.
This is the code from the Volvo programmer DLL thats handed around here by Hiltons cronies.

Come on people.. This is getting pathetic.

Here is more half baked CEM software as well... Posted on Youtube... *great*
See attachment
Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1599 on: August 30, 2022, 09:14:38 AM »


"Back to your herd!!"
 Tongue
Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
ChrisDUS
Newbie
*

Karma: +6/-1
Offline Offline

Posts: 5


« Reply #1600 on: August 30, 2022, 09:29:55 AM »

Just give the Hilton et al flashing tool to someone who can disassemble .NET and let them remove the licensing portion. I had that done by a programmer friend and it works just fine for my personal purpose.
So I guess you can pay an Indian guy 20 bucks to patch the file for you and share it with the community, since you are all about sharing stuff for free.

Reading and flashing solved. Now complain about something else.
Logged
s60rawr
Full Member
***

Karma: +22/-1162
Offline Offline

Posts: 191



WWW
« Reply #1601 on: August 30, 2022, 10:22:05 AM »

Just give the Hilton et al flashing tool to someone who can disassemble .NET and let them remove the licensing portion. I had that done by a programmer friend and it works just fine for my personal purpose.
So I guess you can pay an Indian guy 20 bucks to patch the file for you and share it with the community, since you are all about sharing stuff for free.

Reading and flashing solved. Now complain about something else.

well.. spill the beans mah dude
« Last Edit: August 30, 2022, 10:52:20 AM by s60rawr » Logged


There is a free flash suite in progres

http://www.openmoose.net/blog/?page=renatus

#1 Nefmoto -Karma Sponge!
Vollmer
Full Member
***

Karma: +14/-256
Offline Offline

Posts: 78

Professional Cat Herder


« Reply #1602 on: August 31, 2022, 11:37:42 AM »

Just give the Hilton et al flashing tool to someone who can disassemble .NET and let them remove the licensing portion. I had that done by a programmer friend and it works just fine for my personal purpose.
So I guess you can pay an Indian guy 20 bucks to patch the file for you and share it with the community, since you are all about sharing stuff for free.

Reading and flashing solved. Now complain about something else.

So you advocate stealing a "commercial" tool.. but not a making community driven one..?
Nor can you release it..?
I posted the CAN protocol for several functions easily readable in the DLL code. 


Why aren't the DIMs and CEMs integrated into these tools?

I know there are people out there who can do a better job than myself.
If you don't want a car for writing a program, how much money do you want?
To release it to the community forever and ever to patch and revise.

Logged

Volvo HALL of SHAME:

Guitar24t aka Robert Hilton
SparkyR aka Brandon Halme
Prometey1982 aka Artem Vasiliev
MAXX ECU - Brett Willet
VIDA Leach - David Leech

Useless Twats:
PRJ - Dmitri from Estonia
prometey1982
Sr. Member
****

Karma: +72/-60
Offline Offline

Posts: 330



WWW
« Reply #1603 on: September 01, 2022, 10:54:27 PM »

Found some (almost 50) VVT maps for 50WRHJ software. Some constants are not included.
I've tested intake VVT map change on s60r. Acceleration 0-100 km/h decreased by 0.2 seconds.
Logged

Россия - Великая страна!
https://youtu.be/fup5GzIFdXk
prometey1982
Sr. Member
****

Karma: +72/-60
Offline Offline

Posts: 330



WWW
« Reply #1604 on: September 02, 2022, 02:42:33 AM »

Yesterday's car with single person.
Logged

Россия - Великая страна!
https://youtu.be/fup5GzIFdXk
Pages: 1 ... 105 106 [107] 108 109 ... 194
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 2.739 seconds with 16 queries. (Pretty URLs adds 0.238s, 0q)