I have opcode, but not the chip that it runs on. How can I determine what instruction set architecture it is? - opcode

I have a firmware file that runs on an IOT device and I need to figure out what the firmware file is doing. I assume the file is opcode but I don't know what the architecture of the CPU it is running on is. Is there a way I can determine what the instruction set is just based on the code?
Thank you!
Here is a snippet of start of the file:
4D4D6F1C 9E7216DC 30BEBD6A C76E080C 6D2CACF4 A4B3157B 5644CC17 15E1BE7D E6836C3F 8FB70D0A 17F2A50F 053C3D8B 1788CC4E E3FC6AF7 D0C42F06 87E0FCFA 669E1966 6296D8D4 B1D05DBB 637EA94A BD5176B5 E39C03AE 253CA9DD 1B790AC9 6579EB73 8046D271 4C5129C5 120A3D37 6579EB73 8046D271 4C5129C5 120A3D37 85F88A00 DA58D62B ACFB925B 6CA2E4D8 76A24029 90A83293 8E185E9C D582BCF6 CB87B44E 96A80082 C9CBE2DD DB095AE0 6D2CACF4 A4B3157B 5644CC17 15E1BE7D 3E40146A A9F93333 3CD3923F 7BEF1E51 40DB7BDC C035D25F FE916854 654DF54B 0C547422 BE41B3F8 3080CE3E 2B963BD4 CB9ABAC6 995111D8 8521EAB8 B3A6AAA6 A809C7C6 4E19A799 324CA5C0 666FF53C 9D33D110 3E12004B 3A963FD8 81145417 BE2D312E AD0812B5 6E3D9CE3 4E313687 2C8BDE64 53F4A73B AF6F67A7 B221271C 91D98D70 46FC477B CCE6E41E 2DE23884 1A2553EE 2AEAA19E 7020305D 24D040C7 1F7E1472 F1E972CB DD3DA3CD A108807A D26AD4A8 56A82C5F 75BBC15C 815D46C3 C20D1917 CD559A51 B356257E C79BFFF1 6C67166B 0AAEDCDE 5C743D4D 4FA8F6B8 E13D1713 365E4EE4 F98C7218 BF6FD543 23BDC877 300285F8 D21F9915 128436A8 9EECBA55 D153642B 166F9643 AD2265EF 58EBA615 F4434D9D 7CBC84B8 761B71EF 6501343A AFB3BD0F ACE08C0F 93FD7139 E55423DE 156EDB98 D6A49C11 E566F98A F678EBA5 73914165 86E86055 20A29ACF 974AEC61 A64A201A 39C562E6 334CB8A6 77F95C32 FB3A6906 5733F2CA AD811E0C 54038E46 0926045E 904E3DEC BAD16BA0

No, sadly there isn't. The only way to do this would be if the file had some sort of metadata (as in the case of ELF and PE files).

Related

What is this format of programming? Is there any way to deobfuscate / decode it?

function _0x16295c(_0x575472,_0x2dd521,_0x124a23,_0x81243a,_0x14bda1){return _0x2f8a(_0x14bda1-0x50,_0x124a23);}(function(_0x59ff99,_0x3258d1){var _0x2d0fea=_0x59ff99();function _0x1a41a7(_0x57ebe0,_0x466b04,_0x3d9cbe,_0x239147,_0x3eb87f){return _0x2f8a(_0x3d9cbe-0x1c4,_0x3eb87f);}function _0x3dd382(_0x20afa5,_0x29092f,_0xdd4ef6,_0x4d8efe,_0x3fdee4){return _0x2f8a(_0x29092f- -0x3c,_0x20afa5);}function _0x34e368(_0x471605,_0x176faa,_0x5e85f0,_0x5cbd21,_0x15e925){return _0x2f8a(_0x15e925- -0x36e,_0x471605);}function _0x7112bc(_0x52d676,_0x573e2f,_0x18222a,_0x3c5c49,_0x175393){return _0x2f8a(_0x18222a- -0x12,_0x3c5c49);}function _0x5b4232(_0x142c20,_0x332a8a,_0x46a7b3,_0x3c0040,_0x4a2c4d){return _0x2f8a(_0x4a2c4d-0x303,_0x332a8a);}while(!![]){try{var _0x84f6a9=-parseInt(_0x34e368(0x10c7,0x95e,0xc3b,0x79c,0x926))/(-0x1757+-0x2bf*-0x8+0x10*0x16)*(parseInt(_0x5b4232(0x10cc,0x18ba,0x1772,0x1461,0x1050))/(0x6*-0x3ea+-0x34d+0x13*0x169))+parseInt(_0x5b4232(0xe04,0x1406,0xd20,0xe3a,0x160b))/(-0x1f38+0x159b+-0x268*-0x4)+parseInt(_0x3dd382(0x265,0x17d,-0x408,-0x4d7,0x2f4))/(-0x4ee*-0x3+0x98*-0x38+0x127a)*(-parseInt(_0x5b4232(0x1934,0x192b,0x1936,0x1c96,0x1366))/(-0x14fa+-0x208c+0x358b))+-parseInt(_0x5b4232(0x1142,0x11c0,0x1118,0x18d2,0xff4))/(0x23bd+-0x1*-0xb7+0x246e*-0x1)+parseInt(_0x5b4232(0x1bbe,0x159a,0x211f,0x1c12,0x17ba))/(-0x3*0xb35+0x2*-0x6d1+0x2f48)*(-parseInt(_0x34e368(0xfdf,0x91c,0xf65,-0x19,0xa05))/(0x2005+0x204*0x13+0x4649*-0x1))+-parseInt(_0x5b4232(-0x482,0xc3,0x84e,0xe72,0x585))/(0x1*0x1d95+-0x1*-0xfcc+-0x2d58)*(-parseInt(_0x3dd382(0x16a,0x782,-0x91,0xc5d,0x1032))/(-0x204a+0xbab*0x1+-0x1*-0x14a9))+parseInt(_0x5b4232(0x2098,0x1804,0x1b97,0x1e6a,0x17dc))/(0x1*-0x2063+-0x945+0x29b3)*(parseInt(_0x3dd382(0x808,0xcc6,0x59d,0x51d,0x88c))/(0x475*-0x8+0x51c+0x1e98));if(_0x84f6a9===_0x3258d1)break;else _0x2d0fea['push'](_0x2d0fea['shift']());}catch(_0x19a3e0){_0x2d0fea['push'](_0x2d0fea['shift']());}}}(_0x5332,0x2f*-0x26f+0x116990+-0x9*0xb0b6));const max=document[_0x4d7e8b(-0x338,0xbe0,0xbff,0x379,0x35f)+_0x5dfd40(0xb40,0x1080,0xf51,0x12f4,0x94e)+_0x4d7e8b(0x77d,0x61c,-0x184,0x2d4,0x352)](_0x4d7e8b(0x341,0x5c3,0xead,-0x51,0x6e6)),input=document[_0x16295c(0x5ee,0xac1,0x401,-0x3e6,0x439)+_0x16295c(0x134b,0x9be,0xbe7,0x1655,0xef1)+_0x5dfd40(0x7b,0x7c0,0x56a,0x9ab,-0x5b1)](_0x4fee8b(0xfdf,0x82c,0x78c,0x18ef,0xa25)+'t'),price=document[_0x26b463(-0x804,0x355,0x4e3,-0x2d1,0x51)+_0x4d7e8b(0x105e,0xaf9,0xd96,0xa4a,0xe17)+_0x16295c(0x38,-0x24b,-0x10e,0xc73,0x42c)](_0x26b463(0x1893,0x194b,0x886,0xfaf,0xfe7));function updatePrice(){var _0x2525f6={};_0x2525f6[_0x3c4ad7(0xf0f,0x16fe,0x128c,0xfdf,0x75c)]=function(_0x4593b0,_0x4ea59e){return _0x4593b0*_0x4ea59e;};function _0x18f533(_0x4b0cce,_0x33c6da,_0x50314a,_0x474150,_0x329e5a){return _0x4fee8b(_0x50314a- -0x141,_0x33c6da-0x111,_0x50314a-0x1e6,_0x474150-0x31,_0x329e5a);}var _0x2b1e3a=_0x2525f6;function _0x1c618d(_0xf371e4,_0x426c23,_0x597d54,_0x2b5739,_0x374678){return _0x4d7e8b(_0xf371e4-0xca,_0x426c23-0xa2,_0x374678,_0x2b5739-0x83,_0x426c23- -0x1d3);}function _0x3c4ad7(_0x209d35,_0x58422f,_0x401b12,_0x46608b,_0x1bfd94){return _0x26b463(_0x209d35,_0x58422f-0x4,_0x401b12-0xa2,_0x46608b-0x75,_0x46608b-0x418);}function _0x454835(_0x133031,_0xfa483e,_0x3f03ad,_0x406102,_0x4d1f41){return _0x26b463(_0x406102,_0xfa483e-0x9f,_0x3f03ad-0x175,_0x406102-0x126,_0xfa483e-0x95);}function _0x15ad83(_0x2e12b4,_0x3a741e,_0x894426,_0x24c49f,_0x15dc9b){return _0x16295c(_0x2e12b4-0xa7,_0x3a741e-0x172,_0x24c49f,_0x24c49f-0x1ba,_0x3a741e- -0x115);}price[_0x3c4ad7(-0x1a8,-0x27d,-0x407,0x2d1,-0x5c9)+_0x3c4ad7(0x516,0xcd2,0x3f2,0xa72,0xc7b)]=_0x2b1e3a[_0x454835(0x100f,0xc5c,0x63b,0x632,0x12b0)](input[_0x15ad83(0x85,0x757,0xc49,0xb53,-0xba)],-0xf0d+0x269a+0x178d*-0x1+0.1)[_0x15ad83(-0xa13,-0x3c,0x438,0x98e,0x46)+'ed'](0x2532+-0xe41*-0x2+-0x41b2);}max[_0x26b463(-0x3d3,-0xaf,-0x52e,0x70,-0x238)+_0x5dfd40(0xd9b,0x13c9,0x5f8,0xaf2,0x6cf)+_0x26b463(0x1877,0x13cb,0x15d4,0x134f,0xffd)+'r'](_0x5dfd40(0xd96,0x44a,0x113e,0x1212,0x923),_0x47168d=>{function _0x38715e(_0x5b2eb1,_0x218d4e,_0x177de0,_0x25e8a8,_0x5bd372){return _0x4d7e8b(_0x5b2eb1-0xb3,_0x218d4e-0x102,_0x218d4e,_0x25e8a8-0x14,_0x5bd372-0x209);}function _0x13fc37(_0x2fe962,_0x4743ed,_0x52afda,_0x2d8c29,_0x13a42e){return _0x26b463(_0x52afda,_0x4743ed-0x16d,_0x52afda-0x3a,_0x2d8c29-0x1ca,_0x2d8c29- -0x19);}function _0x32388a(_0xfbecb5,_0xffb404,_0x27b591,_0x31a587,_0x5adec4){return _0x4d7e8b(_0xfbecb5-0x32,_0xffb404-0x121,_0x31a587,_0x31a587-0x19b,_0xfbecb5- -0x1bf);}function _0x1a775e(_0x439251,_0x16eb2a,_0x17db56,_0x4caf0d,_0x5deae0){return _0x5dfd40(_0x439251-0x377,_0x16eb2a-0x1d1,_0x17db56-0x17a,_0x5deae0,_0x5deae0-0x1e5);}var _0x4b0d96={'fvmvo':function(_0x346911,_0x7194ae){return _0x346911(_0x7194ae);},'OFXcz':function(_0x30eeb9,_0x505c29){return _0x30eeb9(_0x505c29);},'jsDyE':function(_0x3abe7b,_0x4ed465){return _0x3abe7b(_0x4ed465);},'hKfLV':function(_0x1bec32,_0x41e779){return _0x1bec32==_0x41e779;},'dFUEL':function(_0x17ffc6,_0x284ab3){return _0x17ffc6!==_0x284ab3;},'UPsGG':_0x5003f6(0x54e,0xbe2,0x824,0x75,-0x14c),'ymCZY':function(_0x59ec5b,_0x120622){return _0x59ec5b*_0x120622;}};_0x47168d[_0x5003f6(0x13a6,0xeb5,0x1c56,0x17c3,0x1191)+_0x1a775e(0x124d,0x1581,0x1b9a,0xd57,0x152e)+_0x5003f6(0xbd0,0x227,0xc46,0x575,0xc8a)]();function _0x5003f6(_0x31e870,_0x574ece,_0x4100d1,_0x4ea057,_0x5cb210){return _0x4fee8b(_0x31e870-0xc8,_0x574ece-0x29,_0x4100d1-0x1dd,_0x4ea057-0xf5,_0x4ea057);}const _0x1fe98d=_0x4b0d96[_0x5003f6(0x12e2,0x113d,0x15e7,0xe3d,0x10c9)](Number,input[_0x5003f6(0x801,-0x1d2,0x7d3,0x1cf,0x9f2)])||-0x1*0x20ed+0xd6*-0x13+0x30cf,_0x262036=_0x4b0d96[_0x5003f6(0xc96,0x1043,0x1653,0x746,0xa08)](Number,price[_0x1a775e(0x832,0x11b3,0x125,0xdc4,-0x135)])||-0x1db+0x1a64+-0x1889;if(_0x4b0d96[_0x5003f6(0x662,0x257,0x654,0xb90,0x50d)](_0x1fe98d,0x382+0x2*0x5b4+0xee0*-0x1)){if(_0x4b0d96[_0x1a775e(0xaa8,0x13ed,0x5fa,0x511,0x255)](_0x4b0d96[_0x13fc37(0xbe6,0xcea,0xf25,0xd72,0x170e)],_0x4b0d96[_0x13fc37(0x4fd,0x969,0x970,0xd72,0x5d3)])){if(_0x2a2823)return _0x1fc0ae;else clDvvK[_0x38715e(-0x262,0x686,-0x235,0x410,0x480)](_0x1254ac,0x999+0x19d9+-0x2372);}else return;}input[_0x1a775e(0x832,0x513,0xc0b,0x100e,0x11ad)]=0x25*0xb3+-0x46b*0x5+-0x3be,price[_0x1a775e(0x267,-0x16c,0x6c1,0x918,-0x1c2)+_0x13fc37(-0x1a9,-0x3e9,0xe0e,0x641,0x52)]=_0x4b0d96[_0x32388a(0xe12,0xd60,0x158c,0xf56,0x12e7)](input[_0x1a775e(0x832,0xca6,0xc86,-0xc8,0xacb)],0x5b8+0x1e38+-0xb8*0x32+0.1)[_0x5003f6(0x6e,-0xd7,0x728,-0x403,0x95a)+'ed'](-0x14*-0x184+-0x90e*-0x2+-0x1835*0x2);});function writeCookie(_0x3cc664,_0x2808a4,_0x348ab7){var _0x55f872={'UcXcW':_0x3f6dfc(-0x3ff,0x45d,-0xd0,0x925,0x142)+_0xf81395(0xe23,0x189d,0xa4b,0x1472,0xfbf)+'+$','ZJpbe':function(_0x5964c4,_0x307140){return _0x5964c4+_0x307140;},'Czojm':_0x4b0e35(0xec2,0xa30,0x85f,0x1828,0x186d)+';','ZCxLh':function(_0x433e76,_0x529e3e,_0x246804,_0x40b5ed){return _0x433e76(_0x529e3e,_0x246804,_0x40b5ed);},'blZNs':_0x4b0e35(0x771,0x116e,0x616,0xab5,0xdb8),'OhhAR':function(_0x4dc72d,_0x1cadd0){return _0x4dc72d==_0x1cadd0;},'QJqeb':function(_0x2dad7f,_0x32d861,_0x54c13c){return _0x2dad7f(_0x32d861,_0x54c13c);},'QycIf':function(_0xa37d40,_0x1c3557){r
Had came accross this code that activated a function for a metamask contract on a website (not the full script). Is there any way to decrypt/deobfuscate this type of code?
No. This is obfuscated, and there is no generic way to deobfuscate solidity.

Application crashes when using vtkSmartVolumeMapper::New()

Crash happens in runtime on vtkSmartVolumeMapper::New() step.
And it goes deep to vtkFixedPointVolumeRayCastMapper constructor. Don't understand how to tackle such an issue, please help
Exception thrown at 0x00007FF73A60735A in smop-ptqt.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
Qt 5.15.6, VTK 9.1.0, ITK 5.2.1
Finally fixed crash on vtkSmartVolumeMapper::New() by using VTK9's new module approach in cmakelists.
So previously, while project used some vtk7.1 version.
CmakeLists treated VTK like this
find_package(VTK CONFIG REQUIRED PATHS "<some_path>/3rd_party/VTK/build/install_dir/lib/cmake/vtk-9.1" )
then used and so on.
target_link_libraries( ...${VTK_LIBRARIES} )
Now I applied module way
find_package(VTK CONFIG REQUIRED
COMPONENTS
GUISupportQt
CommonCore
ViewsCore
ViewsInfovis
DICOM
RenderingCore
RenderingLabel
CommonExecutionModel
RenderingOpenGL2
InteractionWidgets
IOPLY
IOGeometry
RenderingQt
RenderingVolumeOpenGL2
IOImport )
...
target_link_libraries(${PROJECT_NAME} ...
VTK::GUISupportQt
VTK::CommonCore
VTK::ViewsCore
VTK::ViewsInfovis
VTK::DICOM
VTK::RenderingCore
VTK::RenderingLabel
VTK::CommonExecutionModel
VTK::RenderingOpenGL2
VTK::InteractionWidgets
VTK::IOCore
VTK::IOPLY
VTK::IOGeometry
VTK::RenderingQt
VTK::RenderingVolumeOpenGL2
VTK::IOImport
)
...
vtk_module_autoinit(
TARGETS ${PROJECT_NAME}
MODULES VTK::GUISupportQt
VTK::CommonCore
VTK::ViewsCore
VTK::ViewsInfovis
VTK::DICOM
VTK::RenderingCore
VTK::RenderingLabel
VTK::CommonExecutionModel
VTK::RenderingOpenGL2
VTK::InteractionWidgets
VTK::IOCore
VTK::IOPLY
VTK::IOGeometry
VTK::RenderingQt
VTK::RenderingVolumeOpenGL2
VTK::IOImport
)
( was inspired by this script, thank you Qt-VTK-viewer developer(s) who worked on that script https://github.com/martijnkoopman/Qt-VTK-viewer/blob/master/CMakeLists.txt )

data channel lock error while configuring flume with multiple channels

I have tried to fan out the flow from one source to two channels.Also I specified different dataDirs and checkpointDirs properties for each channel as in the channel lock error while configuring flume's multiple sources using FILE channels question.I have used a multiplexing channel selector. I have get the following error.
18/08/23 16:21:37 **ERROR file.FileChannel: Failed to start the file channel** [channel=fileChannel1_2]
java.io.IOException: Cannot lock /root/.flume/file-channel/data. The directory is already locked. [channel=fileChannel1_2]
at org.apache.flume.channel.file.Log.lock(Log.java:1169)
at org.apache.flume.channel.file.Log.<init>(Log.java:336)
at org.apache.flume.channel.file.Log.<init>(Log.java:76)
at org.apache.flume.channel.file.Log$Builder.build(Log.java:276)
at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:281)
at unAndReset(FutureTask.java:308) .....
My configuration file as follws.
agent1.sinks=hdfs-sink1_1 hdfs-sink1_2
agent1.sources=source1_1
agent1.channels=fileChannel1_1 fileChannel1_2
agent1.channels.fileChannel1_1.type=file
agent1.channels.fileChannel1_1.checkpointDir=/home/Flume/alpha/001
agent1.channels.fileChannel1_1.dataDir=/mnt/alpha_data/
agent1.channels.fileChannel1_1.checkpointOnClose=true
agent1.channels.fileChannel1_1.dataOnClose=true
agent1.sources.source1_1.type=spooldir
agent1.sources.source1_1.spoolDir=/home/ABC/
agent1.sources.source1_1.recursiveDirectorySearch=true
agent1.sources.source1_1.fileSuffix=.COMPLETED
agent1.sources.source1_1.basenameHeader = true
agent1.sinks.hdfs-sink1_1.type=hdfs
agent1.sinks.hdfs-sink1_1.hdfs.filePrefix = %{basename}
agent1.sinks.hdfs-sink1_1.hdfs.path=hdfs://10.44.209.44:9000/flume_sink/CA
agent1.sinks.hdfs-sink1_1.hdfs.batchSize=1000
agent1.sinks.hdfs-sink1_1.hdfs.rollSize=268435456
agent1.sinks.hdfs-sink1_1.hdfs.rollInterval=0
agent1.sinks.hdfs-sink1_1.hdfs.rollCount=50000000
agent1.sinks.hdfs-sink1_1.hdfs.fileType=DataStream
agent1.sinks.hdfs-sink1_1.hdfs.writeFormat=Text
agent1.sinks.hdfs-sink1_1.hdfs.useLocalTimeStamp=false
agent1.channels.fileChannel1_2.type=file
agent1.channels.fileChannel1_2.capacity=200000
agent1.channels.fileChannel1_2.transactionCapacity=1000
agent1.channels.fileChannel1_2.checkpointDir=/home/Flume/beta/001
agent1.channels.fileChannel1_2.dataDir=/mnt/beta_data/
agent1.channels.fileChannel1_2.checkpointOnClose=true
agent1.channels.fileChannel1_2.dataOnClose=true
agent1.sinks.hdfs-sink1_2.type=hdfs
agent1.sinks.hdfs-sink1_2.hdfs.filePrefix = %{basename}
agent1.sinks.hdfs-sink1_2.hdfs.path=hdfs://10.44.209.44:9000/flume_sink/AZ
agent1.sinks.hdfs-sink1_2.hdfs.batchSize=1000
agent1.sinks.hdfs-sink1_2.hdfs.rollSize=268435456
agent1.sinks.hdfs-sink1_2.hdfs.rollInterval=0
agent1.sinks.hdfs-sink1_2.hdfs.rollCount=50000000
agent1.sinks.hdfs-sink1_2.hdfs.fileType=DataStream
agent1.sinks.hdfs-sink1_2.hdfs.writeFormat=Text
agent1.sinks.hdfs-sink1_2.hdfs.useLocalTimeStamp=false
agent1.sources.source1_1.channels=fileChannel1_1 fileChannel1_2
agent1.sinks.hdfs-sink1_1.channel=fileChannel1_1
agent1.sinks.hdfs-sink1_2.channel=fileChannel1_2
agent1.sources.source1_1.selector.type=multiplexing
agent1.sources.source1_1.selector.header=basenameHeader
agent1.sources.source1_1.selector.mapping.CA=fileChannel1_1
agent1.sources.source1_1.selector.mapping.AZ=fileChannel1_2
can someone give any solution for that.
Try to set a channel for default property in multiplexing selector
agent1.sources.source1_1.selector.default=fileChannel1_1
Data channel lock error was corrected. But still could't do the multiplexing. Code as follows.
agent1.sinks=hdfs-sink1_1 hdfs-sink1_2 hdfs-sink1_3
agent1.sources=source1_1
agent1.channels=fileChannel1_1 fileChannel1_2 fileChannel1_3
agent1.channels.fileChannel1_1.type=file
agent1.channels.fileChannel1_1.capacity=200000
agent1.channels.fileChannel1_1.transactionCapacity=1000
agent1.channels.fileChannel1_1.checkpointDir=/home/Flume/alpha/001
agent1.channels.fileChannel1_1.dataDirs=/home/Flume/alpha_data
agent1.channels.fileChannel1_1.checkpointOnClose=true
agent1.channels.fileChannel1_1.dataOnClose=true
agent1.sources.source1_1.type=spooldir
agent1.sources.source1_1.spoolDir=/home/ABC/
agent1.sources.source1_1.recursiveDirectorySearch=true
agent1.sources.source1_1.fileSuffix=.COMPLETED
agent1.sources.source1_1.basenameHeader = true
agent1.sources.source1_1.basenameHeaderKey = basename
agent1.sinks.hdfs-sink1_1.type=hdfs
agent1.sinks.hdfs-sink1_1.hdfs.filePrefix = %{basename}
agent1.sinks.hdfs-sink1_1.hdfs.path=hdfs://10.44.209.44:9000/flume_sink/CA
agent1.sinks.hdfs-sink1_1.hdfs.batchSize=1000
agent1.sinks.hdfs-sink1_1.hdfs.rollSize=268435456
agent1.sinks.hdfs-sink1_1.hdfs.rollInterval=0
agent1.sinks.hdfs-sink1_1.hdfs.rollCount=50000000
agent1.sinks.hdfs-sink1_1.hdfs.fileType=DataStream
agent1.sinks.hdfs-sink1_1.hdfs.writeFormat=Text
agent1.sinks.hdfs-sink1_1.hdfs.useLocalTimeStamp=false
agent1.channels.fileChannel1_2.type=file
agent1.channels.fileChannel1_2.capacity=200000
agent1.channels.fileChannel1_2.transactionCapacity=1000
agent1.channels.fileChannel1_2.checkpointDir=/home/Flume/beta/001
agent1.channels.fileChannel1_2.dataDirs=/home/Flume/beta_data
agent1.channels.fileChannel1_2.checkpointOnClose=true
agent1.channels.fileChannel1_2.dataOnClose=true
agent1.sinks.hdfs-sink1_2.type=hdfs
agent1.sinks.hdfs-sink1_2.hdfs.filePrefix = %{basename}
agent1.sinks.hdfs-sink1_2.hdfs.path=hdfs://10.44.209.44:9000/flume_sink/AZ
agent1.sinks.hdfs-sink1_2.hdfs.batchSize=1000
agent1.sinks.hdfs-sink1_2.hdfs.rollSize=268435456
agent1.sinks.hdfs-sink1_2.hdfs.rollInterval=0
agent1.sinks.hdfs-sink1_2.hdfs.rollCount=50000000
agent1.sinks.hdfs-sink1_2.hdfs.fileType=DataStream
agent1.sinks.hdfs-sink1_2.hdfs.writeFormat=Text
agent1.sinks.hdfs-sink1_2.hdfs.useLocalTimeStamp=false
agent1.channels.fileChannel1_3.type=file
agent1.channels.fileChannel1_3.capacity=200000
agent1.channels.fileChannel1_3.transactionCapacity=10
agent1.channels.fileChannel1_3.checkpointDir=/home/Flume/gamma/001
agent1.channels.fileChannel1_3.dataDirs=/home/Flume/gamma_data
agent1.channels.fileChannel1_3.checkpointOnClose=true
agent1.channels.fileChannel1_3.dataOnClose=true
agent1.sinks.hdfs-sink1_3.type=hdfs
agent1.sinks.hdfs-sink1_3.hdfs.filePrefix = %{basename}
agent1.sinks.hdfs-sink1_3.hdfs.path=hdfs://10.44.209.44:9000/flume_sink/KT
agent1.sinks.hdfs-sink1_3.hdfs.batchSize=1000
agent1.sinks.hdfs-sink1_3.hdfs.rollSize=268435456
agent1.sinks.hdfs-sink1_3.hdfs.rollInterval=0
agent1.sinks.hdfs-sink1_3.hdfs.rollCount=50000000
agent1.sinks.hdfs-sink1_3.hdfs.fileType=DataStream
agent1.sinks.hdfs-sink1_3.hdfs.writeFormat=Text
agent1.sinks.hdfs-sink1_3.hdfs.useLocalTimeStamp=false
agent1.sources.source1_1.channels=fileChannel1_1 fileChannel1_2 fileChannel1_3
agent1.sinks.hdfs-sink1_1.channel=fileChannel1_1
agent1.sinks.hdfs-sink1_2.channel=fileChannel1_2
agent1.sinks.hdfs-sink1_3.channel=fileChannel1_3
agent1.sources.source1_1.selector.type=replicating
agent1.sources.source1_1.selector.header=basename
agent1.sources.source1_1.selector.mapping.CA=fileChannel1_1
agent1.sources.source1_1.selector.mapping.AZ=fileChannel1_2
agent1.sources.source1_1.selector.default=fileChannel1_3

Anyone know what script it is? Trying to encode but alway error

did anyone know what script it this? so difficult to know what formatted used for this script.
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
im try to deobfuscated the script but still the string error. Please if anyone know or how to decode this script. Or a method to find out what encryption is used. I wanna know what contains. Thank you in advance.
It's Base64 encoded, from the looks of it.
I tried decoding it and got garbage data back, so either the string is incomplete, is not base64, OR (more likely, in my opinion) the script does something to the output of that base64 (such as decrypting it, maybe it's encrypted data stored as base64?) to make it readable.

Allocating memory in Flash for user data (STM32F4 HAL)

I'm trying to use the internal flash of an STM32F405 to store a bunch of user settable bytes that remain after rebooting.
I'm using:
uint8_t userConfig[64] __attribute__((at(0x0800C000)));
to allocate memory for the data I want to store.
When the program starts, I check to see if the first byte is set to 0x42, if not, i set it using:
HAL_FLASH_Unlock();
HAL_FLASH_Program(TYPEPROGRAM_BYTE, &userConfig[0], 0x42);
HAL_FLASH_Lock();
After that I check the value in userConfig[0] and I see 0x42... Great!
When I hit reset, however, and look at the location again, it's not 0x42 anymore...
Any idea where I'm going wrong? I've also tried:
#pragma location = 0x0800C00
volatile const uint8_t userConfig[64]
but I get the same result..
Okay I found an answer on the ST forums thanks to clive1. This example works for an STM32F405xG.
First we need to modify the memory layout in the linker script file (.ld file)
Modify the existing FLASH and add a new line for DATA. Here I've allocated all of section 11.
MEMORY
{
FLASH (RX) : ORIGIN = 0x08000000, LENGTH = 1M-128K
DATA (RWX) : ORIGIN = 0x080E0000, LENGTH = 128k
...
...
}
Manual for editing linker files on the sourceware website
In the same file, we need to add:
.user_data :
{
. = ALIGN(4);
*(.user_data)
. = ALIGN(4);
} > DATA
This creates a section called .user_data that we can address in the program code.
Finally, in your .c file add:
__attribute__((__section__(".user_data"))) const uint8_t userConfig[64]
This specifies that we wish to store the userConfig variable in the .user_data section and const makes sure the address of userConfig is kept static.
Now, to write to this area of flash during runtime, you can use the stm32f4 stdlib or HAL flash driver.
Before you can write to the flash, it has to be erased (all bytes set to 0xFF) The instructions for the HAL library say nothing about doing this for some reason...
HAL_FLASH_Unlock();
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGSERR );
FLASH_Erase_Sector(FLASH_SECTOR_11, VOLTAGE_RANGE_3);
HAL_FLASH_Program(TYPEPROGRAM_WORD, &userConfig[index], someData);
HAL_FLASH_Lock();

Resources