Browse Source

[LDRA] 9S : 표현식에 대입 연산 했을 시 검출

feature/ldra
leehagjoon(이학준) 1 year ago
parent
commit
dad454ca4c
  1. 26
      src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java
  2. 7
      src/main/java/com/palnet/comn/encrptn/kisa/KISA_SHA256.java
  3. 20
      src/main/java/com/palnet/server/command/TempUtils.java

26
src/main/java/com/palnet/comn/encrptn/kisa/KISA_SEED_CBC.java

@ -398,7 +398,9 @@ public class KISA_SEED_CBC {
K = pInfo.seed_key.key_data; // Pointer of round keys
pInfo.encrypt = enc.value; //
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN);
pInfo.last_block_flag = pInfo.buffer_length = 0;
pInfo.buffer_length = 0;
// pInfo.last_block_flag = pInfo.buffer_length = 0;
pInfo.last_block_flag = pInfo.buffer_length;
// Set up input values for Key Schedule
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN);
@ -736,11 +738,23 @@ public class KISA_SEED_CBC {
public KISA_SEED_INFO() {
encrypt = 0;
ivec[0] = ivec[1] = ivec[2] = ivec[3] = 0;
ivec[3] = 0;
ivec[2] = ivec[3];
ivec[1] = ivec[2];
ivec[0] = ivec[1];
// ivec[0] = ivec[1] = ivec[2] = ivec[3] = 0;
seed_key.init();
cbc_buffer[0] = cbc_buffer[1] = cbc_buffer[2] = cbc_buffer[3] = 0;
cbc_buffer[3] = 0;
cbc_buffer[2] = cbc_buffer[3];
cbc_buffer[1] = cbc_buffer[2];
cbc_buffer[0] = cbc_buffer[1];
// cbc_buffer[0] = cbc_buffer[1] = cbc_buffer[2] = cbc_buffer[3] = 0;
buffer_length = 0;
cbc_last_block[0] = cbc_last_block[1] = cbc_last_block[2] = cbc_last_block[3] = 0;
cbc_last_block[3] = 0;
cbc_last_block[2] = cbc_last_block[3];
cbc_last_block[1] = cbc_last_block[2];
cbc_last_block[0] = cbc_last_block[1];
// cbc_last_block[0] = cbc_last_block[1] = cbc_last_block[2] = cbc_last_block[3] = 0;
last_block_flag = 0;
}
@ -940,7 +954,9 @@ public class KISA_SEED_CBC {
K = pInfo.seed_key.key_data; // Pointer of round keys
pInfo.encrypt = enc.value; //
Common.memcpy(pInfo.ivec, pbszIV, 16, ENDIAN);
pInfo.last_block_flag = pInfo.buffer_length = 0;
pInfo.buffer_length = 0;
// pInfo.last_block_flag = pInfo.buffer_length = 0;
pInfo.last_block_flag = pInfo.buffer_length;
// Set up input values for Key Schedule
ABCD[ABCD_A] = Common.byte_to_int(pbszUserKey, 0*4, ENDIAN);

7
src/main/java/com/palnet/comn/encrptn/kisa/KISA_SHA256.java

@ -136,7 +136,9 @@ public class KISA_SHA256 {
Info.uChainVar[6] = 0x1f83d9ab;
Info.uChainVar[7] = 0x5be0cd19;
Info.uHighLength = Info.uLowLength = 0;
Info.uLowLength = 0;
Info.uHighLength = Info.uLowLength;
// Info.uHighLength = Info.uLowLength = 0;
}
/**
@ -148,7 +150,8 @@ public class KISA_SHA256 {
public static void SHA256_Process( SHA256_INFO Info, byte[] pszMessage, int uDataLen ) {
int pszMessage_offset;
if((Info.uLowLength += (uDataLen << 3)) < 0) {
Info.uLowLength += (uDataLen <<3);
if(Info.uLowLength < 0) {
Info.uHighLength++;
}

20
src/main/java/com/palnet/server/command/TempUtils.java

@ -29,31 +29,41 @@ public class TempUtils{
// 일산화탄소
prev = SensorModel.preCo;
SensorModel.preCo = SensorModel.co;
result = SensorModel.co = gradualDoubleData(SensorModel.co, prev, 0.1, 0.0, 20.0);
SensorModel.co = gradualDoubleData(SensorModel.co, prev, 0.1, 0.0, 20.0);
// result = SensorModel.co = gradualDoubleData(SensorModel.co, prev, 0.1, 0.0, 20.0);
result = SensorModel.co;
break;
case "so2":
// 아황산가스
prev = SensorModel.preSo2;
SensorModel.preSo2 = SensorModel.so2;
result = SensorModel.so2 = gradualDoubleData(SensorModel.so2, prev, 0.005, 0.0, 0.2);
SensorModel.so2 = gradualDoubleData(SensorModel.so2, prev, 0.005, 0.0, 0.2);
// result = SensorModel.so2 = gradualDoubleData(SensorModel.so2, prev, 0.005, 0.0, 0.2);
result = SensorModel.so2;
break;
case "no2":
// 이산화질소
prev = SensorModel.preNo2;
SensorModel.preNo2 = SensorModel.no2;
result = SensorModel.no2 = gradualDoubleData(SensorModel.no2, prev, 0.003, 0.0, 0.3);
SensorModel.no2 = gradualDoubleData(SensorModel.no2, prev, 0.003, 0.0, 0.3);
// result = SensorModel.no2 = gradualDoubleData(SensorModel.no2, prev, 0.003, 0.0, 0.3);
result = SensorModel.no2;
break;
case "o3":
// 오존
prev = SensorModel.preO3;
SensorModel.preO3 = SensorModel.o3;
result = SensorModel.o3 = gradualDoubleData(SensorModel.o3, prev, 1.0, 0.0, 175.0);
SensorModel.o3 = gradualDoubleData(SensorModel.o3, prev, 1.0, 0.0, 175.0);
// result = SensorModel.o3 = gradualDoubleData(SensorModel.o3, prev, 1.0, 0.0, 175.0);
result = SensorModel.o3;
break;
case "dust":
// 미세먼지
prev = SensorModel.preDust;
SensorModel.preDust = SensorModel.dust;
result = SensorModel.dust = gradualDoubleData(SensorModel.dust, prev, 1.1, 0.0, 175.0);
SensorModel.dust = gradualDoubleData(SensorModel.dust, prev, 1.1, 0.0, 175.0);
// result = SensorModel.dust = gradualDoubleData(SensorModel.dust, prev, 1.1, 0.0, 175.0);
result = SensorModel.dust;
break;
default:
result = (Math.round((new Random()).nextDouble() * 100000)) / 100.0;

Loading…
Cancel
Save