Decompiler-VB.Net
VN
Đăng nhập
VBReFormer Gen2 Engine được viết lại từ đầu, hỗ trợ P-code đầy đủ, và studio trực tuyến đang ở giai đoạn beta công khai. Đọc thông báo →
VBReFormer – độ bao phủ dịch ngược

Một trình dịch ngược (decompiler) thực sự khôi phục được bao nhiêu mã VB6

Đo trên 207 chương trình VB6: 125 biên dịch sang mã native, 82 sang P-code. Với mỗi hàm runtime MSVBVM60.DLL và mỗi lệnh của tập lệnh P-code, cách xử lý được áp dụng khi tái tạo mã nguồn. Mọi giá trị đều được đếm trên các chương trình này.

Đo bằng engine thế hệ 2 (VBReFormer 7), báo cáo ngày 04/08/2026, trên 207 chương trình. Bảng P-code có 1.536 ô, trong đó 1.164 ô mang một lệnh được định nghĩa: các tỷ lệ phần trăm bên dưới tính trên 1.164 lệnh đó.

Chương trình VB6 được phân tích207
trong đó biên dịch sang mã native125
trong đó biên dịch sang P-code82
Thủ tục được dịch ngược (native)888
Thủ tục được giải mã (P-code)558
Lệnh P-code được giải mã11 836

Độ bao phủ

Mỗi tỷ lệ đều kèm tử số và mẫu số của nó.
Hàm runtime – mã native
83,9%291 trong số 347 hàm gặp phải

Dịch thành một cấu trúc VB6 có tên: 256 (73,8%). Hấp thụ: 35 (10,1%).

Tập hợp: các hàm MSVBVM60.DLL được ít nhất một trong 125 chương trình mã native đã phân tích gọi đến. 56 hàm còn lại: 55 được phát ra dưới tên runtime, 1 không được xử lý.
Hàm runtime – P-code
71,4%65 trong số 91 hàm gặp phải

Dịch thành một cấu trúc VB6 có tên: 61 (67,0%). Xử lý chung: 4 (4,4%).

Tập hợp: các hàm MSVBVM60.DLL được ít nhất một trong 82 chương trình P-code đã phân tích gọi đến. 26 hàm còn lại được phát ra dưới tên runtime.
Tập lệnh P-code
99,5%1.158 trong số 1.164 lệnh được định nghĩa

Được dịch: 836 (71,8%). Hấp thụ: 208 (17,9%). Xử lý chung: 114 (9,8%).

Đếm trên các lệnh thực sự được giải mã trong các chương trình đã phân tích: 11.824 trên 11.836, tức 99,9%. 6 trong số 1.164 lệnh được định nghĩa vẫn chưa được xử lý.

Phân bố theo mức xử lý

Bốn tập hợp, được đếm riêng.
Hàm runtime gặp phải – chương trình biên dịch sang mã native347 hàm
256
35
55
dịch sang VB6 256 73,8 %hấp thụ 35 10,1 %tên runtime 55 15,9 %không xử lý 1 0,3 %
Hàm runtime gặp phải – chương trình biên dịch sang P-code91 hàm
61
26
dịch sang VB6 61 67,0 %xử lý chung 4 4,4 %tên runtime 26 28,6 %
Lệnh được định nghĩa trong tập lệnh P-code – sáu bảng1.164 lệnh
836
208
114
dịch sang VB6 836 71,8 %hấp thụ 208 17,9 %xử lý chung 114 9,8 %không xử lý 6 0,5 %
Lệnh P-code được giải mã – trong các chương trình đã phân tích11.836 lệnh
6 905
1 391
3 528
dịch sang VB6 6 905 58,3 %hấp thụ 1 391 11,8 %xử lý chung 3 528 29,8 %không xử lý 12 0,1 %
dịch sang VB6một cấu trúc VB6 có tên được tạo ra: hàm, toán tử, chuyển đổi hoặc câu lệnh. Tên và hình thức đã được kiểm chứng.
hấp thụcơ chế nội bộ của chương trình đã biên dịch, cố ý không phát lại trong mã VB6 được tái tạo.
xử lý chungmột đầu ra được tạo ra mà không có quy tắc riêng cho trường hợp này: hợp lý, nhưng chưa được kiểm chứng.
tên runtimelời gọi được phát ra dưới tên runtime của nó, __vbaXxx(…) hoặc rtcXxx(…).
không xử lýkhông có quy tắc riêng lẫn xử lý chung.
Hàm gặp phải
một hàm MSVBVM60.DLL được ít nhất một trong các chương trình đã phân tích gọi đến, theo bảng import đọc được trong chương trình. Thư viện liệt kê 636 hàm; 347 hàm gặp phải trong các chương trình mã native, 91 trong các chương trình P-code.
Lệnh được định nghĩa
trong số 1.536 địa chỉ của sáu bảng thuộc tập lệnh P-code, những địa chỉ mang một lệnh: 1.164.
Lệnh được giải mã
mỗi lệnh đọc được trong các chương trình đã phân tích, đếm theo số lần xuất hiện: 11.836.

Bản đồ tập lệnh

Sáu bảng, mỗi bảng 256 địa chỉ. Cột = nibble thấp, hàng = nibble cao. 1.164 địa chỉ mang một lệnh, 372 địa chỉ không.
Table 0254 lệnh trên 256
Table 1194 lệnh trên 256
Table 2225 lệnh trên 256
Table 3240 lệnh trên 256
Table 4197 lệnh trên 256
Table 554 lệnh trên 256
địa chỉ mang một lệnh 1 164 địa chỉ không có lệnh 372 tên lệnh khác nhau 819

Những gì được dịch, theo từng tên

Ba danh sách theo tên: 256 + 61 hàm runtime, 836 lệnh.

Các danh sách này liệt kê những mục được dịch thành một cấu trúc VB6 có tên – hàm, toán tử, chuyển đổi hoặc câu lệnh của ngôn ngữ. Chúng chỉ liệt kê những mục đó: đây không phải là bản kiểm kê MSVBVM60.DLL, cũng không phải bản kiểm kê tập lệnh. Nhiều mục có thể tạo ra cùng một cấu trúc VB6: chúng tương ứng với các kiểu dữ liệu khác nhau được xử lý.

Hàm runtime được dịch thành mã VB6 – chương trình biên dịch sang mã native

256 hàm runtime MSVBVM60.DLL, gặp phải trong các chương trình biên dịch sang mã native, kèm cấu trúc VB6 được tạo ra khi tái tạo mã nguồn.

Hàm runtimeCấu trúc VB6Mô tảDanh mục
__vbaAryCopy=Assignment of an arrayMảng và tập hợp
__vbaAryMove=Assignment of an arrayMảng và tập hợp
__vbaBoolErrVarCBoolConversion to BooleanChuyển đổi
__vbaBoolStrCBoolConversion to BooleanChuyển đổi
__vbaBoolVarCBoolConversion to BooleanChuyển đổi
__vbaCopyBytesLSetLeft-aligned copyChuỗi
__vbaCyAdd+AdditionToán tử
__vbaCyErrVarCCurConversion to CurrencyChuyển đổi
__vbaCyI2CCurConversion to CurrencyChuyển đổi
__vbaCyI4CCurConversion to CurrencyChuyển đổi
__vbaCyMul*MultiplicationToán tử
__vbaCyMulI2*MultiplicationToán tử
__vbaCySub-Subtraction, or negative signToán tử
__vbaDateR8CDateConversion to DateChuyển đổi
__vbaDateStrCDateConversion to DateChuyển đổi
__vbaDateVarCDateConversion to DateChuyển đổi
__vbaEraseEraseClearing of an arrayMảng và tập hợp
__vbaErrorErrorRaising of an error by its numberLỗi
__vbaFileCloseClose #Closing of a fileTệp
__vbaFileCloseAllCloseClosing of all open filesTệp
__vbaFileOpenOpenOpening of a fileTệp
__vbaForEachAryFor Each … In …Start of a loop over the elements of a collection or an arrayMảng và tập hợp
__vbaForEachCollVarFor Each … In …Start of a loop over the elements of a collection or an arrayMảng và tập hợp
__vbaForEachVarFor Each … In …Start of a loop over the elements of a collection or an arrayMảng và tập hợp
__vbaFpCDblR4CDblConversion to DoubleChuyển đổi
__vbaFpCDblR8CDblConversion to DoubleChuyển đổi
__vbaFpCSngR4CSngConversion to SingleChuyển đổi
__vbaFpCSngR8CSngConversion to SingleChuyển đổi
__vbaFpCyCCurConversion to CurrencyChuyển đổi
__vbaFPFixFixInteger part truncated toward zeroToán học
__vbaFpI2CIntConversion to IntegerChuyển đổi
__vbaFpI4CLngConversion to LongChuyển đổi
__vbaFPIntIntInteger partToán học
__vbaFpR8CDblConversion to DoubleChuyển đổi
__vbaFpUI1CByteConversion to ByteChuyển đổi
__vbaGet4Get #Read of a record in random accessTệp
__vbaI2CyCIntConversion to IntegerChuyển đổi
__vbaI2I4CIntConversion to IntegerChuyển đổi
__vbaI2StrCIntConversion to IntegerChuyển đổi
__vbaI2VarCIntConversion to IntegerChuyển đổi
__vbaI4AbsAbsAbsolute valueToán học
__vbaI4CyCLngConversion to LongChuyển đổi
__vbaI4ErrVarCLngConversion to LongChuyển đổi
__vbaI4SgnSgnSign of a numberToán học
__vbaI4StrCLngConversion to LongChuyển đổi
__vbaI4VarCLngConversion to LongChuyển đổi
__vbaInStrInStrPosition of a substring in a stringChuỗi
__vbaInStrVarInStrPosition of a substring in a stringChuỗi
__vbaInStrVarBInStrBPosition of a substring, in bytesChuỗi
__vbaLateMemCallobj.Membre …Call to a member resolved at run timeĐối tượng
__vbaLateMemCallLdx = obj.Membre(…)Late-bound call to a member, with return valueĐối tượng
__vbaLateMemStobj.Membre = …Assignment of a member resolved at run timeĐối tượng
__vbaLateMemStAdobj.Membre = …Assignment of a member resolved at run timeĐối tượng
__vbaLboundLBoundLower bound of an arrayMảng và tập hợp
__vbaLenBstrLenLength of a string or size of a variableChuỗi
__vbaLenBstrBLenLength of a string or size of a variableChuỗi
__vbaLenVarLenLength of a string or size of a variableChuỗi
__vbaLenVarBLenLength of a string or size of a variableChuỗi
__vbaLsetFixstrLSetLeft-aligned assignment into a fixed-length stringChuỗi
__vbaMidStmtBstrMid(s, n) = …Replacement of characters inside a stringChuỗi
__vbaNextEachAryNextMove to the next element of a For Each loopMảng và tập hợp
__vbaNextEachCollVarNextMove to the next element of a For Each loopMảng và tập hợp
__vbaObjIsIsIdentity comparison between two objectsToán tử
__vbaObjSetSet x = …Assignment of an object referenceĐối tượng
__vbaObjSetAddrefSet x = …Assignment of an object referenceĐối tượng
__vbaObjVarobjAccess to an object variable or an indexed elementĐối tượng
__vbaOnErrorOn ErrorInstallation of the error handlerLỗi
__vbaPowerR8^ExponentiationToán tử
__vbaPrintFilePrint #Write to a fileTệp
__vbaPrintObjPrintWrite to an object (Debug, Form, Printer)Tệp
__vbaR4CyCSngConversion to SingleChuyển đổi
__vbaR4VarCSngConversion to SingleChuyển đổi
__vbaR8CyCDblConversion to DoubleChuyển đổi
__vbaR8ErrVarCDblConversion to DoubleChuyển đổi
__vbaR8SgnSgnSign of a numberToán học
__vbaR8StrCDblConversion to DoubleChuyển đổi
__vbaR8VarCDblConversion to DoubleChuyển đổi
__vbaRecAnsiToUnit = uAssignment of a user-defined typeToán tử
__vbaRecAssignt = uAssignment of a user-defined typeToán tử
__vbaRedimReDimResizing of an arrayMảng và tập hợp
__vbaRedimPreserveReDim PreserveResizing of an array preserving its contentsMảng và tập hợp
__vbaRefVarArya()Access to the array contained in a VariantMảng và tập hợp
__vbaResumeResumeResuming execution after an errorLỗi
__vbaRsetFixstrRSetRight-aligned assignment into a fixed-length stringChuỗi
__vbaStrBoolCStrConversion to StringChuyển đổi
__vbaStrCat&Concatenation of two stringsToán tử
__vbaStrCmpStrCompComparison of two stringsChuỗi
__vbaStrCompStrCompComparison of two stringsChuỗi
__vbaStrCopy=Assignment of a stringToán tử
__vbaStrCyCStrConversion to StringChuyển đổi
__vbaStrDateCStrConversion to StringChuyển đổi
__vbaStrErrVarCopyCStrConversion to StringChuyển đổi
__vbaStrI2CStrConversion to StringChuyển đổi
__vbaStrI4CStrConversion to StringChuyển đổi
__vbaStrMove=Assignment of a stringToán tử
__vbaStrR8CStrConversion to StringChuyển đổi
__vbaStrTextCmpStrCompComparison of two stringsChuỗi
__vbaStrTextLikeLikeComparison of a string to a patternToán tử
__vbaStrVarCopyCStrConversion to StringChuyển đổi
__vbaStrVarMoveCStrConversion to StringChuyển đổi
__vbaStrVarValCStrConversion to StringChuyển đổi
__vbaUboundUBoundUpper bound of an arrayMảng và tập hợp
__vbaUI1I2CByteConversion to ByteChuyển đổi
__vbaUI1I4CByteConversion to ByteChuyển đổi
__vbaVarAdd+AdditionToán tử
__vbaVarAndAndLogical ANDToán tử
__vbaVarCat&Concatenation of two stringsToán tử
__vbaVarCmpEq=Equality comparisonToán tử
__vbaVarCmpGt>“Greater than” comparisonToán tử
__vbaVarCmpLt<“Less than” comparisonToán tử
__vbaVarCmpNe<>Inequality comparisonToán tử
__vbaVarCopy=Assignment of a VariantToán tử
__vbaVarDiv/DivisionToán tử
__vbaVarDup=Assignment of a VariantToán tử
__vbaVarEqvEqvLogical equivalenceToán tử
__vbaVarIdiv\Integer divisionToán tử
__vbaVarImpImpLogical implicationToán tử
__vbaVarIndexLoadv(i)Read of an indexed element of a VariantMảng và tập hợp
__vbaVarIndexLoadRefv(i)Read of an indexed element of a VariantMảng và tập hợp
__vbaVarIndexLoadRefLockobjAccess to an object variable or an indexed elementĐối tượng
__vbaVarLateMemCallLdx = obj.Membre(…)Late-bound call to a member, with return valueĐối tượng
__vbaVarLateMemStobj.Membre = …Assignment of a member resolved at run timeĐối tượng
__vbaVarModModRemainder of integer divisionToán tử
__vbaVarMove=Assignment of a VariantToán tử
__vbaVarMul*MultiplicationToán tử
__vbaVarNeg-Subtraction, or negative signToán tử
__vbaVarNotNotLogical negationToán tử
__vbaVarOrOrLogical ORToán tử
__vbaVarSetObjSet x = …Assignment of an object referenceĐối tượng
__vbaVarSub-Subtraction, or negative signToán tử
__vbaVarTextCmpEq=Equality comparisonToán tử
__vbaVarTextCmpNe<>Inequality comparisonToán tử
__vbaVarTextTstEq=Equality comparisonToán tử
__vbaVarTextTstGt>“Greater than” comparisonToán tử
__vbaVarTextTstLe<=“Less than or equal to” comparisonToán tử
__vbaVarTextTstNe<>Inequality comparisonToán tử
__vbaVarTstEq=Equality comparisonToán tử
__vbaVarTstGt>“Greater than” comparisonToán tử
__vbaVarTstLt<“Less than” comparisonToán tử
__vbaVarTstNe<>Inequality comparisonToán tử
__vbaVarVargNofree=Assignment of a VariantToán tử
__vbaVarXorXorExclusive ORToán tử
__vbaVarZero=Assignment of a VariantToán tử
rtcAnsiValueBstrAscCode of the first character of a stringChuỗi
rtcAppActivateAppActivateActivation of an application windowHệ thống
rtcArrayArrayArray built from a list of valuesMảng và tập hợp
rtcAtnAtnArctangentToán học
rtcBeepBeepSound signalHệ thống
rtcBstrFromAnsiChr$Character matching a codeChuỗi
rtcBstrFromCharChrW$Unicode character matching a codeChuỗi
rtcBstrFromErrorError$Message of an error by its numberLỗi
rtcBstrFromFormatVarFormat$Formatting of a value according to a templateChuỗi
rtcByteValueBstrAscBFirst byte of a stringChuỗi
rtcChangeDirChDirChange of current directoryTệp
rtcChangeDriveChDriveChange of current driveTệp
rtcChooseChooseValue selected from a list by its indexKiểm tra và lựa chọn
rtcCommandBstrCommand$Command line passed to the programHệ thống
rtcCosCosCosineToán học
rtcCreateObject2CreateObjectCreation of an object from its identifierĐối tượng
rtcCurrentDirCurDirCurrent directoryTệp
rtcCurrentDirBstrCurDir$Current directoryTệp
rtcDateAddDateAddDate shifted by an intervalNgày và giờ
rtcDateDiffDateDiffDifference between two datesNgày và giờ
rtcDatePartDatePartComponent of a dateNgày và giờ
rtcDeleteSettingDeleteSettingDeletion of a saved settingHệ thống
rtcDirDirFile name matching a patternTệp
rtcDoEventsDoEventsYielding control to the systemHệ thống
rtcEndOfFileEOFEnd of file reachedTệp
rtcEnvironBstrEnviron$Value of an environment variableHệ thống
rtcErrObjErrCurrent error objectLỗi
rtcExpExpExponentialToán học
rtcFileCopyFileCopyCopy of a fileTệp
rtcFileDateTimeFileDateTimeLast modification date of a fileTệp
rtcFileLenFileLenSize of a fileTệp
rtcFilterFilterSelection of the elements of an array of stringsChuỗi
rtcFormatNumberFormatNumberFormatting of a numberChuỗi
rtcFreeFileFreeFileNext available file numberTệp
rtcGetDateValueDateValueDate read from a stringNgày và giờ
rtcGetDateVarDateCurrent dateNgày và giờ
rtcGetDayOfMonthDayDay of the month of a dateNgày và giờ
rtcGetDayOfWeekWeekdayDay of the week of a dateNgày và giờ
rtcGetErlErlLine number of the last errorLỗi
rtcGetHourOfDayHourHour of a time valueNgày và giờ
rtcGetMinuteOfHourMinuteMinutes of a time valueNgày và giờ
rtcGetMonthOfYearMonthMonth of a dateNgày và giờ
rtcGetPresentDateNowCurrent date and timeNgày và giờ
rtcGetSecondOfMinuteSecondSeconds of a time valueNgày và giờ
rtcGetTimeValueTimeValueTime read from a stringNgày và giờ
rtcGetTimeVarTimeCurrent timeNgày và giờ
rtcGetYearYearYear of a dateNgày và giờ
rtcHexBstrFromVarHex$Hexadecimal representation of a numberChuyển đổi
rtcHexVarFromVarHexHexadecimal representation of a numberChuyển đổi
rtcImmediateIfIIfChoice between two values according to a conditionKiểm tra và lựa chọn
rtcInStrRevInStrRevPosition of a substring searched from the endChuỗi
rtcIsArrayIsArrayTest: the value is an arrayKiểm tra và lựa chọn
rtcIsDateIsDateTest: the value is a dateKiểm tra và lựa chọn
rtcIsEmptyIsEmptyTest: the Variant is emptyKiểm tra và lựa chọn
rtcIsMissingIsMissingTest: the optional argument is missingKiểm tra và lựa chọn
rtcIsNullIsNullTest: the value is NullKiểm tra và lựa chọn
rtcIsNumericIsNumericTest: the value is numericKiểm tra và lựa chọn
rtcIsObjectIsObjectTest: the value is an objectKiểm tra và lựa chọn
rtcJoinJoinJoining of an array into a stringChuỗi
rtcKillFilesKillDeletion of a fileTệp
rtcLeftCharBstrLeft$First characters of a stringChuỗi
rtcLeftCharVarLeftFirst characters of a stringChuỗi
rtcLeftTrimBstrLTrim$String stripped of its leading spacesChuỗi
rtcLogLogNatural logarithmToán học
rtcLowerCaseBstrLCase$String converted to lowercaseChuỗi
rtcLowerCaseVarLCaseString converted to lowercaseChuỗi
rtcMakeDirMkDirCreation of a directoryTệp
rtcMidCharBstrMid$Substring taken at a given positionChuỗi
rtcMidCharVarMidSubstring taken at a given positionChuỗi
rtcMidVarMidBSubstring taken at a given position, in bytesChuỗi
rtcMonthNameMonthNameName of the monthNgày và giờ
rtcMsgBoxMsgBoxMessage boxHệ thống
rtcOctBstrFromVarOct$Octal representation of a numberChuyển đổi
rtcPackDateDateSerialDate built from three numbersNgày và giờ
rtcPackTimeTimeSerialTime built from three numbersNgày và giờ
rtcQBColorQBColorColor from an indexed paletteHệ thống
rtcR8ValFromBstrValNumeric value read at the start of a stringChuyển đổi
rtcRandomizeRandomizeSeeding of the pseudo-random generatorHệ thống
rtcRandomNextRndPseudo-random numberToán học
rtcRemoveDirRmDirDeletion of a directoryTệp
rtcReplaceReplaceReplacement of a substring by anotherChuỗi
rtcRgbRGBColor composed of three componentsHệ thống
rtcRightCharBstrRight$Last characters of a stringChuỗi
rtcRightCharVarRightLast characters of a stringChuỗi
rtcRightTrimBstrRTrim$String stripped of its trailing spacesChuỗi
rtcRoundRoundRounding of a numberToán học
rtcSetFileAttrSetAttrAttributes of a fileTệp
rtcShellShellLaunch of a programHệ thống
rtcSinSinSineToán học
rtcSpaceBstrSpace$String made of spacesChuỗi
rtcSpaceVarSpaceString made of spacesChuỗi
rtcSplitSplitSplitting of a string into an arrayChuỗi
rtcSqrSqrSquare rootToán học
rtcStrConvVar2StrConvCase or character set conversionChuyển đổi
rtcStrFromVarStr$Decimal representation of a numberChuyển đổi
rtcStringBstrString$String made of a repeated characterChuỗi
rtcStringVarStringString made of a repeated characterChuỗi
rtcStrReverseStrReverseString read in reverseChuỗi
rtcSwitchSwitchFirst value whose condition is trueKiểm tra và lựa chọn
rtcTanTanTangentToán học
rtcTrimBstrTrim$String stripped of its leading and trailing spacesChuỗi
rtcTrimVarTrimString stripped of its leading and trailing spacesChuỗi
rtcTypeNameTypeNameName of the data type of a valueKiểm tra và lựa chọn
rtcUpperCaseBstrUCase$String converted to uppercaseChuỗi
rtcUpperCaseVarUCaseString converted to uppercaseChuỗi
rtcVarBstrFromAnsiChrCharacter matching a codeChuỗi
rtcVarBstrFromCharChrWUnicode character matching a codeChuỗi
rtcVarFromFormatVarFormatFormatting of a value according to a templateChuỗi
rtcVarStrFromVarStrDecimal representation of a numberChuyển đổi
rtcVarTypeVarTypeCode of the data type contained in a VariantKiểm tra và lựa chọn
rtcWeekdayNameWeekdayNameName of the day of the weekNgày và giờ
rtDecFromVarCDecConversion to DecimalChuyển đổi
VarPtrVarPtrMemory address of a variableHệ thống

Hàm runtime được dịch thành mã VB6 – chương trình biên dịch sang P-code

61 hàm runtime MSVBVM60.DLL, gặp phải trong các chương trình biên dịch sang P-code, kèm cấu trúc VB6 được tạo ra khi tái tạo mã nguồn.

Hàm runtimeCấu trúc VB6Mô tảDanh mục
rtcAnsiValueBstrAscCode of the first character of a stringChuỗi
rtcArrayArrayArray built from a list of valuesMảng và tập hợp
rtcAtnAtnArctangentToán học
rtcCharValueBstrAscWUnicode code of the first character of a stringChuỗi
rtcCosCosCosineToán học
rtcDateAddDateAddDate shifted by an intervalNgày và giờ
rtcDateDiffDateDiffDifference between two datesNgày và giờ
rtcDatePartDatePartComponent of a dateNgày và giờ
rtcExpExpExponentialToán học
rtcFormatNumberFormatNumberFormatting of a numberChuỗi
rtcFreeFileFreeFileNext available file numberTệp
rtcGetDayOfMonthDayDay of the month of a dateNgày và giờ
rtcGetDayOfWeekWeekdayDay of the week of a dateNgày và giờ
rtcGetHourOfDayHourHour of a time valueNgày và giờ
rtcGetMinuteOfHourMinuteMinutes of a time valueNgày và giờ
rtcGetMonthOfYearMonthMonth of a dateNgày và giờ
rtcGetPresentDateNowCurrent date and timeNgày và giờ
rtcGetSecondOfMinuteSecondSeconds of a time valueNgày và giờ
rtcGetTimerTimerNumber of seconds elapsed since midnightNgày và giờ
rtcGetYearYearYear of a dateNgày và giờ
rtcHexVarFromVarHexHexadecimal representation of a numberChuyển đổi
rtcInStrRevInStrRevPosition of a substring searched from the endChuỗi
rtcIsArrayIsArrayTest: the value is an arrayKiểm tra và lựa chọn
rtcIsDateIsDateTest: the value is a dateKiểm tra và lựa chọn
rtcIsEmptyIsEmptyTest: the Variant is emptyKiểm tra và lựa chọn
rtcIsNullIsNullTest: the value is NullKiểm tra và lựa chọn
rtcIsNumericIsNumericTest: the value is numericKiểm tra và lựa chọn
rtcIsObjectIsObjectTest: the value is an objectKiểm tra và lựa chọn
rtcJoinJoinJoining of an array into a stringChuỗi
rtcLeftCharVarLeftFirst characters of a stringChuỗi
rtcLeftTrimVarLTrimString stripped of its leading spacesChuỗi
rtcLogLogNatural logarithmToán học
rtcLowerCaseVarLCaseString converted to lowercaseChuỗi
rtcMidCharVarMidSubstring taken at a given positionChuỗi
rtcMsgBoxMsgBoxMessage boxHệ thống
rtcOctVarFromVarOctOctal representation of a numberChuyển đổi
rtcPackDateDateSerialDate built from three numbersNgày và giờ
rtcPackTimeTimeSerialTime built from three numbersNgày và giờ
rtcQBColorQBColorColor from an indexed paletteHệ thống
rtcR8ValFromBstrValNumeric value read at the start of a stringChuyển đổi
rtcRandomNextRndPseudo-random numberToán học
rtcReplaceReplaceReplacement of a substring by anotherChuỗi
rtcRightCharVarRightLast characters of a stringChuỗi
rtcRightTrimVarRTrimString stripped of its trailing spacesChuỗi
rtcRoundRoundRounding of a numberToán học
rtcSinSinSineToán học
rtcSpaceVarSpaceString made of spacesChuỗi
rtcSplitSplitSplitting of a string into an arrayChuỗi
rtcSqrSqrSquare rootToán học
rtcStrConvVar2StrConvCase or character set conversionChuyển đổi
rtcStringVarStringString made of a repeated characterChuỗi
rtcStrReverseStrReverseString read in reverseChuỗi
rtcTanTanTangentToán học
rtcTrimVarTrimString stripped of its leading and trailing spacesChuỗi
rtcTypeNameTypeNameName of the data type of a valueKiểm tra và lựa chọn
rtcUpperCaseVarUCaseString converted to uppercaseChuỗi
rtcVarBstrFromAnsiChrCharacter matching a codeChuỗi
rtcVarBstrFromCharChrWUnicode character matching a codeChuỗi
rtcVarFromFormatVarFormatFormatting of a value according to a templateChuỗi
rtcVarStrFromVarStrDecimal representation of a numberChuyển đổi
rtcVarTypeVarTypeCode of the data type contained in a VariantKiểm tra và lựa chọn

Lệnh của tập lệnh P-code được dịch thành mã VB6

836 địa chỉ trên sáu bảng, mang 596 tên lệnh khác nhau, kèm cấu trúc VB6 được tạo ra khi tái tạo mã nguồn. Một tên lệnh có thể chiếm nhiều địa chỉ trong tập lệnh.

LệnhBảngOpcodeĐầu ra được tạo
FLdRfVar00x04Read of a procedure variable
ImpAdLdRf00x05Read of a value by its address
MemLdRfVar00x06Read of an object member
FMemLdRf00x07Read of an object member
VCallHresult00x0DCall to an object method
VCallFPR800x0ECall to an object method
VCallAd00x0FCall to an object method
ThisVCallHresult00x10Call to a method of the current object (Me)
ThisVCall00x11Call to a method of the current object (Me)
ThisVCallAd00x12Call to a method of the current object (Me)
FStAdFunc00x19Write of the function return value
BranchF00x1CBranch if the condition is false (If, Do While)
BranchT00x1DBranch if the condition is true (If, Do Until)
Branch00x1EUnconditional branch (GoTo)
FLdPrThis00x21Read of the current object (Me)
LitVar_Missing00x27Load of the value of a missing argument
LitVarI200x28Load of a literal value
ConcatStr00x2AConcatenation of strings (&)
LateIdSt00x2CLate-bound assignment of a property
FStStr00x31Write to a procedure variable
CStr2Ansi00x34Conversion of a string to ANSI
CopyBytes00x38Left-aligned copy (LSet)
LitVarStr00x3ALoad of a literal value
Ary1StStrCopy00x3BWrite to an array element
GetLastError00x3CRead of the error state
FLdZeroAd00x3ELoad of the value zero
Ary1LdRf00x40Read of an array element
Ary1LdPr00x41Read of an array element
FStStrCopy00x43Write of a string to a procedure variable
Error00x45Raising of an error (Error)
FnLenStr00x4ALength of a string (Len)
OnErrorGoto00x4BInstallation of the error handler (On Error GoTo)
FnLBound00x4CLower bound of an array (LBound)
FStVarCopyObj00x4EWrite of a Variant to a procedure variable
MidStr00x4FSubstring taken at a given position (Mid)
FLdZeroAd00x51Load of the value zero
Ary1StVar00x52Write to an array element
FMemStStrCopy00x54Write to an object member
LateMemLdVar00x57Late-bound read of a member
MemLdPr00x58Read of an object member
Erase00x5AClearing of an array (Erase)
BranchFVar00x5CBranch if the condition is false (If, Do While)
FMemLdPr00x5FRead of an object member
LateIdLdVar00x61Late-bound read of a property
IStDarg00x62Write of a value by reference
LitVar_TRUE00x63Load of the constant True
NextI200x64Move to the next iteration (Next)
NextStepI200x65Move to the next iteration with step (Next)
NextI400x66Move to the next iteration (Next)
NextStepI400x67Move to the next iteration with step (Next)
NextStepR400x68Move to the next iteration with step (Next)
NextStepR800x69Move to the next iteration with step (Next)
NextStepCy00x6AMove to the next iteration with step (Next)
ILdRf00x6CRead of a value by reference
FStFPR400x73Write to a procedure variable
FStFPR800x74Write to a procedure variable
ImpAdLdI200x75Read of a value by its address
ImpAdLdI400x76Read of a value by its address
ImpAdLdCy00x77Read of a value by its address
ImpAdLdFPR400x78Read of a value by its address
ImpAdLdFPR800x79Read of a value by its address
ImpAdStI200x7AWrite of a value at its address
ImpAdStR400x7BWrite of a value at its address
ImpAdStCy00x7CWrite of a value at its address
ImpAdStFPR400x7DWrite of a value at its address
ImpAdStFPR800x7EWrite of a value at its address
IStI200x84Write of a value by reference
IStI400x85Write of a value by reference
IStR800x86Write of a value by reference
IStFPR400x87Write of a value by reference
IStFPR800x88Write of a value by reference
MemLdI200x89Read of an object member
MemLdStr00x8ARead of an object member
MemLdR800x8BRead of an object member
MemLdFPR400x8CRead of an object member
MemLdFPR800x8DRead of an object member
MemStI200x8EWrite to an object member
MemStI400x8FWrite to an object member
MemStR800x90Write to an object member
MemStFPR400x91Write to an object member
MemStFPR800x92Write to an object member
FMemLdI200x93Read of an object member
FMemLdR400x94Read of an object member
FMemLdCy00x95Read of an object member
FMemLdFPR400x96Read of an object member
FMemLdFPR800x97Read of an object member
FMemStI200x98Write to an object member
FMemStI400x99Write to an object member
FMemStR800x9AWrite to an object member
FMemStFPR400x9BWrite to an object member
FMemStFPR800x9CWrite to an object member
Ary1LdI200x9DRead of an array element
Ary1LdI400x9ERead of an array element
Ary1LdCy00x9FRead of an array element
Ary1LdFPR400xA0Read of an array element
Ary1LdFPR800xA1Read of an array element
Ary1StI200xA2Write to an array element
Ary1StI400xA3Write to an array element
Ary1StCy00xA4Write to an array element
Ary1StFPR400xA5Write to an array element
Ary1StFPR800xA6Write to an array element
AryLdPr00xA7Read of an array
AryLdRf00xA8Read of an array
AddI200xA9Addition (+)
AddI400xAAAddition (+)
AddR800xABAddition (+)
AddCy00xACAddition (+)
SubI200xADSubtraction (-)
SubI400xAESubtraction (-)
SubR400xAFSubtraction (-)
SubCy00xB0Subtraction (-)
MulI200xB1Multiplication (*)
MulI400xB2Multiplication (*)
MulR800xB3Multiplication (*)
MulCy00xB4Multiplication (*)
MulCyI200xB5Multiplication (*)
DivR800xB6Division (/)
UMiI200xB7Negative sign (-)
UMiI400xB8Negative sign (-)
UMiR800xB9Negative sign (-)
UMiCy00xBANegative sign (-)
FnAbsI200xBBAbsolute value (Abs)
FnAbsI400xBCAbsolute value (Abs)
FnAbsR400xBDAbsolute value (Abs)
FnAbsCy00xBEAbsolute value (Abs)
IDvI200xBFInteger division (\)
IDvI400xC0Integer division (\)
ModI200xC1Remainder of integer division (Mod)
ModI400xC2Remainder of integer division (Mod)
NotI400xC3Logical negation (Not)
AndI400xC4Logical AND (And)
OrI400xC5Logical OR (Or)
EqI200xC6Equality comparison (=)
EqI400xC7Equality comparison (=)
EqR400xC8Equality comparison (=)
EqCy00xC9Equality comparison (=)
EqCyR800xCAEquality comparison (=)
NeI200xCBInequality comparison (<>)
NeI400xCCInequality comparison (<>)
NeR800xCDInequality comparison (<>)
NeCy00xCEInequality comparison (<>)
NeCyR800xCFInequality comparison (<>)
LtI200xD0“Less than” comparison (<)
LtI400xD1“Less than” comparison (<)
LtR800xD2“Less than” comparison (<)
LtCy00xD3“Less than” comparison (<)
LtCyR800xD4“Less than” comparison (<)
LeI200xD5“Less than or equal to” comparison (<=)
LeI400xD6“Less than or equal to” comparison (<=)
LeR800xD7“Less than or equal to” comparison (<=)
LeCy00xD8“Less than or equal to” comparison (<=)
LeCyR800xD9“Less than or equal to” comparison (<=)
GtI200xDA“Greater than” comparison (>)
GtI400xDB“Greater than” comparison (>)
GtR400xDC“Greater than” comparison (>)
GtCy00xDD“Greater than” comparison (>)
GtCyR800xDE“Greater than” comparison (>)
GeI200xDF“Greater than or equal to” comparison (>=)
GeI400xE0“Greater than or equal to” comparison (>=)
GeR800xE1“Greater than or equal to” comparison (>=)
GeCy00xE2“Greater than or equal to” comparison (>=)
GeCyR800xE3“Greater than or equal to” comparison (>=)
LitI200xF3Load of a literal value
LitI400xF5Load of a literal value
LitCy00xF6Load of a literal value
LitCy400xF7Load of a Currency literal value
LitI2FP00xF8Load of an integer literal value
LitR4FP00xF9Load of a Single literal value
LitDate00xFALoad of a literal value
ImpUI110x01Logical implication (Imp)
ImpI410x02Logical implication (Imp)
ImpI410x03Logical implication (Imp)
ImpVar10x07Logical implication (Imp)
EqvUI110x09Logical equivalence (Eqv)
EqvI410x0ALogical equivalence (Eqv)
EqvI410x0BLogical equivalence (Eqv)
EqvVar10x0FLogical equivalence (Eqv)
XorI410x11Exclusive OR (Xor)
XorI410x12Exclusive OR (Xor)
XorI410x13Exclusive OR (Xor)
XorVar10x17Exclusive OR (Xor)
OrI210x19Logical OR (Or)
OrI210x1ALogical OR (Or)
OrI210x1BLogical OR (Or)
OrVar10x1FLogical OR (Or)
AndUI110x21Logical AND (And)
AndUI110x22Logical AND (And)
AndUI110x23Logical AND (And)
AndVar10x27Logical AND (And)
EqI210x29Equality comparison (=)
EqI210x2AEquality comparison (=)
EqI410x2BEquality comparison (=)
EqR810x2CEquality comparison (=)
EqR810x2DEquality comparison (=)
EqCy10x2EEquality comparison (=)
EqVar10x2FEquality comparison (=)
EqStr10x30Equality comparison (=)
EqTextVar10x31Equality comparison (=), text comparison
EqTextStr10x32Equality comparison (=), text comparison
EqVarBool10x33Equality comparison (=)
EqTextVarBool10x34Equality comparison (=), text comparison
EqCyR810x35Equality comparison (=)
NeUI110x36Inequality comparison (<>)
NeUI110x37Inequality comparison (<>)
NeI410x38Inequality comparison (<>)
NeR410x39Inequality comparison (<>)
NeR410x3AInequality comparison (<>)
NeCy10x3BInequality comparison (<>)
NeVar10x3CInequality comparison (<>)
NeStr10x3DInequality comparison (<>)
NeTextVar10x3EInequality comparison (<>), text comparison
NeTextStr10x3FInequality comparison (<>), text comparison
NeVarBool10x40Inequality comparison (<>)
NeTextVarBool10x41Inequality comparison (<>), text comparison
NeCyR810x42Inequality comparison (<>)
LeUI110x43“Less than or equal to” comparison (<=)
LeI210x44“Less than or equal to” comparison (<=)
LeI410x45“Less than or equal to” comparison (<=)
LeR410x46“Less than or equal to” comparison (<=)
LeR410x47“Less than or equal to” comparison (<=)
LeCy10x48“Less than or equal to” comparison (<=)
LeVar10x49“Less than or equal to” comparison (<=)
LeStr10x4A“Less than or equal to” comparison (<=)
LeTextVar10x4B“Less than or equal to” comparison (<=), text comparison
LeTextStr10x4C“Less than or equal to” comparison (<=), text comparison
LeVarBool10x4D“Less than or equal to” comparison (<=)
LeTextVarBool10x4E“Less than or equal to” comparison (<=), text comparison
LeCyR810x4F“Less than or equal to” comparison (<=)
GeUI110x50“Greater than or equal to” comparison (>=)
GeI210x51“Greater than or equal to” comparison (>=)
GeI410x52“Greater than or equal to” comparison (>=)
GeR410x53“Greater than or equal to” comparison (>=)
GeR410x54“Greater than or equal to” comparison (>=)
GeCy10x55“Greater than or equal to” comparison (>=)
GeVar10x56“Greater than or equal to” comparison (>=)
GeStr10x57“Greater than or equal to” comparison (>=)
GeTextVar10x58“Greater than or equal to” comparison (>=), text comparison
GeTextStr10x59“Greater than or equal to” comparison (>=), text comparison
GeVarBool10x5A“Greater than or equal to” comparison (>=)
GeTextVarBool10x5B“Greater than or equal to” comparison (>=), text comparison
GeCyR810x5C“Greater than or equal to” comparison (>=)
LtUI110x5D“Less than” comparison (<)
LtI210x5E“Less than” comparison (<)
LtI410x5F“Less than” comparison (<)
LtR410x60“Less than” comparison (<)
LtR410x61“Less than” comparison (<)
LtCy10x62“Less than” comparison (<)
LtVar10x63“Less than” comparison (<)
LtStr10x64“Less than” comparison (<)
LtTextVar10x65“Less than” comparison (<), text comparison
LtTextStr10x66“Less than” comparison (<), text comparison
LtVarBool10x67“Less than” comparison (<)
LtTextVarBool10x68“Less than” comparison (<), text comparison
LtCyR810x69“Less than” comparison (<)
GtUI110x6A“Greater than” comparison (>)
GtI210x6B“Greater than” comparison (>)
GtI410x6C“Greater than” comparison (>)
GtR410x6D“Greater than” comparison (>)
GtR410x6E“Greater than” comparison (>)
GtCy10x6F“Greater than” comparison (>)
GtVar10x70“Greater than” comparison (>)
GtStr10x71“Greater than” comparison (>)
GtTextVar10x72“Greater than” comparison (>), text comparison
GtTextStr10x73“Greater than” comparison (>), text comparison
GtVarBool10x74“Greater than” comparison (>)
GtTextVarBool10x75“Greater than” comparison (>), text comparison
GtCyR810x76“Greater than” comparison (>)
LikeVar10x7DComparison to a pattern (Like)
LikeStr10x7EComparison to a pattern (Like)
LikeTextVar10x7FComparison to a pattern (Like), text comparison
LikeTextStr10x80Comparison to a pattern (Like), text comparison
LikeVarBool10x81Comparison to a pattern (Like)
LikeTextVarBool10x82Comparison to a pattern (Like), text comparison
BetweenUI110x84Range comparison (Select Case)
BetweenI210x85Range comparison (Select Case)
BetweenI410x86Range comparison (Select Case)
BetweenR410x87Range comparison (Select Case)
BetweenR410x88Range comparison (Select Case)
BetweenCy10x89Range comparison (Select Case)
BetweenVar10x8ARange comparison (Select Case)
BetweenStr10x8BRange comparison (Select Case)
BetweenTextVar10x8CRange comparison (Select Case), text comparison
BetweenTextStr10x8DRange comparison (Select Case), text comparison
AddUI110x8EAddition (+)
AddI210x8FAddition (+)
AddI410x90Addition (+)
AddR410x91Addition (+)
AddR410x92Addition (+)
AddCy10x93Addition (+)
AddVar10x94Addition (+)
SubUI110x96Subtraction (-)
SubI210x97Subtraction (-)
SubI410x98Subtraction (-)
SubR410x99Subtraction (-)
SubR410x9ASubtraction (-)
SubCy10x9BSubtraction (-)
SubVar10x9CSubtraction (-)
ModUI110x9ERemainder of integer division (Mod)
ModI210x9FRemainder of integer division (Mod)
ModI410xA0Remainder of integer division (Mod)
ModVar10xA4Remainder of integer division (Mod)
IDvUI110xA6Integer division (\)
IDvI210xA7Integer division (\)
IDvI410xA8Integer division (\)
IDvVar10xACInteger division (\)
MulUI110xAEMultiplication (*)
MulI210xAFMultiplication (*)
MulI410xB0Multiplication (*)
MulR410xB1Multiplication (*)
MulR410xB2Multiplication (*)
MulCy10xB3Multiplication (*)
MulVar10xB4Multiplication (*)
DivR810xB9Division (/)
DivR810xBADivision (/)
DivVar10xBCDivision (/)
NotUI110xBELogical negation (Not)
NotI410xBFLogical negation (Not)
NotI410xC0Logical negation (Not)
NotVar10xC4Logical negation (Not)
UMiI210xC7Negative sign (-)
UMiI210xC8Negative sign (-)
UMiR410xC9Negative sign (-)
UMiR410xCANegative sign (-)
UMiCy10xCBNegative sign (-)
UMiVar10xCCNegative sign (-)
PwrVar10xCEExponentiation (^)
PwrR8R810xCFExponentiation (^)
PwrR8I210xD0Exponentiation (^)
MulCyI210xD1Multiplication (*)
ObjIs10xD2Identity comparison between two objects (Is)
FnAbsI210xD4Absolute value (Abs)
FnAbsI410xD5Absolute value (Abs)
FnAbsR410xD6Absolute value (Abs)
FnAbsR410xD7Absolute value (Abs)
FnAbsCy10xD8Absolute value (Abs)
FnAbsVar10xD9Absolute value (Abs)
FnFixR810xDETruncated integer part (Fix)
FnFixR810xDFTruncated integer part (Fix)
FnFixCy10xE0Truncated integer part (Fix)
FnFixVar10xE1Truncated integer part (Fix)
FnIntR810xE6Integer part (Int)
FnIntR810xE7Integer part (Int)
FnIntCy10xE8Integer part (Int)
FnIntVar10xE9Integer part (Int)
FnLenVar10xEBLength of a string (Len)
FnLenStr10xECLength of a string (Len)
FnLenBVar10xEDLength of a string, in bytes (LenB)
FnLenBStr10xEELength of a string, in bytes (LenB)
ConcatVar10xEFConcatenation of strings (&)
ConcatStr10xF0Concatenation of strings (&)
FnSgnUI110xF2Sign (Sgn)
FnSgnUI110xF3Sign (Sgn)
FnSgnI410xF4Sign (Sgn)
FnSgnR810xF5Sign (Sgn)
FnSgnR410xF6Sign (Sgn)
FnSgnCy10xF7Sign (Sgn)
SeekFile10xFACurrent position in a file (Seek)
NameFile10xFBRenaming of a file (Name)
FnCSngI220x24Conversion to Single (CSng)
FnCSngI220x25Conversion to Single (CSng)
FnCSngI220x2CConversion to Single (CSng)
FnCSngI220x2DConversion to Single (CSng)
FnCDblCy20x39Conversion to Double (CDbl)
FnCDblR820x3AConversion to Double (CDbl)
FnCDblR820x3BConversion to Double (CDbl)
FnCSngI220x3CConversion to Single (CSng)
FnCSngI220x3DConversion to Single (CSng)
FnCSngI420x3EConversion to Single (CSng)
FnCSngCy20x41Conversion to Single (CSng)
FnCSngVar20x42Conversion to Single (CSng)
FnCSngStr20x43Conversion to Single (CSng)
FnCByteVar20x44Conversion to Byte (CByte)
FnCIntVar20x45Conversion to Integer (CInt)
FnCLngVar20x46Conversion to Long (CLng)
FnCDblVar20x48Conversion to Double (CDbl)
FnCCurVar20x49Conversion to Currency (CCur)
FnCStrVar20x4BConversion to String (CStr)
FnCBoolVar20x4DConversion to Boolean (CBool)
FnCDateVar20x4EConversion to Date (CDate)
FnCDateVar20x4FConversion to Date (CDate)
CStr2Uni20x58Conversion of a string to Unicode
CStr2Ansi20x5AConversion of a string to ANSI
CStr2Vec20x5FConversion to a fixed-length string
SetLastError20x62Read of the error state
LitNothing20x63Load of Nothing
LitVar_Null20x64Write of the value Null
LitVar_TRUE20x65Write of the constant True
LitVar_FALSE20x66Write of the constant False
LitVar_Empty20x67Write of the value Empty
LitVar_Missing20x68Load of the value of a missing argument
VCallHresult20x69Call to an object method
ThisVCallHresult20x6ACall to a method of the current object (Me)
CheckTypeVar20x6FType check (TypeOf … Is)
GetRec320x75Read of a record in random access (Get #)
GetRec420x76Read of a record in random access (Get #)
PutRec320x77Write of a record in random access (Put #)
PutRec420x78Write of a record in random access (Put #)
GetRecOwner320x79Read of a record in random access (Get #)
GetRecOwner420x7ARead of a record in random access (Get #)
PutRecOwner320x7BWrite of a record in random access (Put #)
PutRecOwner420x7CWrite of a record in random access (Put #)
InputItemUI120x7FItem read from a file (Input #)
InputItemI220x80Item read from a file (Input #)
InputItemI420x81Item read from a file (Input #)
InputItemR420x82Item read from a file (Input #)
InputItemR820x83Item read from a file (Input #)
InputItemCy20x84Item read from a file (Input #)
InputItemVar20x85Item read from a file (Input #)
InputItemStr20x86Item read from a file (Input #)
InputItemBool20x87Item read from a file (Input #)
InputItemDate20x88Item read from a file (Input #)
AryLdPr20x8DRead of an array
AryLdRf20x8ERead of an array
Ary1LdUI120x90Read of an array element
Ary1LdI220x91Read of an array element
Ary1LdI420x92Read of an array element
Ary1LdI420x93Read of an array element
Ary1LdR820x94Read of an array element
Ary1LdR820x95Read of an array element
Ary1LdRfVar20x96Read of an array element
Ary1LdI420x97Read of an array element
Ary1LdI420x98Read of an array element
Ary1LdFPR420x99Read of an array element
Ary1LdFPR820x9ARead of an array element
Ary1LdPr20x9BRead of an array element
Ary1LdRf20x9CRead of an array element
Ary1LdVar20x9DRead of an array element
Ary1StUI120xA0Write to an array element
Ary1StI220xA1Write to an array element
Ary1StR420xA2Write to an array element
Ary1StR420xA3Write to an array element
Ary1StCy20xA4Write to an array element
Ary1StCy20xA5Write to an array element
Ary1StVar20xA6Write to an array element
Ary1StStr20xA7Write to an array element
Ary1StAd20xA8Write to an array element
Ary1StFPR420xA9Write to an array element
Ary1StFPR820xAAWrite to an array element
Ary1StVarAd20xABWrite to an array element
Ary1StVarAdFunc20xACWrite to an array element
Ary1StVarUnk20xADWrite to an array element
Ary1StVarUnkFunc20xAEWrite to an array element
Ary1StAdFunc20xAFWrite to an array element
Ary1StVarCopy20xB0Write to an array element
Ary1StStrCopy20xB1Write to an array element
Ary1LdRfVarg20xB2Read of an array element
Ary1LdVarg20xB3Read of an array element
Ary1LdRfVargParam20xB4Read of an array element
Ary1StVarg20xB5Write to an array element
Ary1StVargCopy20xB6Write to an array element
Ary1StVargAd20xB7Write to an array element
Ary1StVargAdFunc20xB8Write to an array element
Ary1StVargUnk20xB9Write to an array element
Ary1StVargUnkFunc20xBAWrite to an array element
MidVar20xBBSubstring taken at a given position (Mid)
MidBStr20xBCSubstring taken at a given position, in bytes (MidB)
MidBVar20xBDSubstring taken at a given position, in bytes (MidB)
MidBStrB20xBESubstring taken at a given position, in bytes (MidB)
LineInputVar20xBFRead of a line (Line Input #)
LineInputStr20xC0Read of a line (Line Input #)
Error20xC1Raising of an error (Error)
Stop20xC2Debug break (Stop)
Erase20xC3Clearing of an array (Erase)
End20xC8Program termination (End)
Return20xC9Return from a local subroutine (Return)
FnLBound20xCALower bound of an array (LBound)
FnUBound20xCBUpper bound of an array (UBound)
FLdRfVar20xE6Read of a procedure variable
FLdRfVar20xECRead of a procedure variable
FStStr20xF7Write to a procedure variable
FStAd20xF8Write to a procedure variable
FStFPR420xF9Write to a procedure variable
FStFPR820xFAWrite to a procedure variable
FStVarAd20xFBWrite to a procedure variable
FStVarAdFunc20xFCWrite of the function return value
FStAdFunc20xFFWrite of the function return value
FStStrCopy30x01Write of a string to a procedure variable
Branch30x03Unconditional branch (GoTo)
BranchF30x04Branch if the condition is false (If, Do While)
BranchFVar30x05Branch if the condition is false (If, Do While)
BranchFVarFree30x06Branch if the condition is false (If, Do While)
BranchT30x07Branch if the condition is true (If, Do Until)
BranchTVar30x08Branch if the condition is true (If, Do Until)
BranchTVarFree30x09Branch if the condition is true (If, Do Until)
Gosub30x0ACall to a local subroutine (GoSub)
OnErrorGoto30x0BInstallation of the error handler (On Error GoTo)
Resume30x0CResuming execution after an error (Resume)
ILdAd30x12Read of a value by reference
ILdAd30x13Read of a value by reference
ILdRfDarg30x16Read of a value by reference
ILdAd30x17Read of a value by reference
ILdAd30x18Read of a value by reference
IStUI130x20Write of a value by reference
IStI230x21Write of a value by reference
IStI430x22Write of a value by reference
IStI430x23Write of a value by reference
IStR830x24Write of a value by reference
IStR830x25Write of a value by reference
IStDarg30x26Write of a value by reference
IStStr30x27Write of a value by reference
IStAd30x28Write of a value by reference
IStFPR430x29Write of a value by reference
IStFPR830x2AWrite of a value by reference
IStDargAd30x2BWrite of a value by reference
IStDargAdFunc30x2CWrite of a value by reference
IStDargUnk30x2DWrite of a value by reference
IStDargUnkFunc30x2EWrite of a value by reference
IStAdFunc30x2FWrite of a value by reference
IStDargCopy30x30Write of a value by reference
IStStrCopy30x31Write of a value by reference
PrintItemComma30x37Item of a Print statement, separated by a comma
PrintItemSemi30x38Item of a Print statement, separated by a semicolon
PrintItemNL30x39End of line of a Print statement
Close30x3DClosing of a file (Close #)
CloseAll30x3EClosing of all open files (Close)
FLdZeroAd30x3FLoad of the value zero
IWMemLdUI130x40Read of an object member
IWMemLdI230x41Read of an object member
IWMemLdI430x42Read of an object member
IWMemLdI430x43Read of an object member
IWMemLdCy30x44Read of an object member
IWMemLdCy30x45Read of an object member
IWMemLdRfDarg30x46Read of an object member
IWMemLdI430x47Read of an object member
IWMemLdI430x48Read of an object member
IWMemLdFPR430x49Read of an object member
IWMemLdFPR830x4ARead of an object member
IWMemLdPr30x4BRead of an object member
IWMemLdRf30x4CRead of an object member
IWMemLdDarg30x4DRead of an object member
IWMemStUI130x50Write to an object member
IWMemStI230x51Write to an object member
IWMemStR430x52Write to an object member
IWMemStR430x53Write to an object member
IWMemStCy30x54Write to an object member
IWMemStCy30x55Write to an object member
IWMemStDarg30x56Write to an object member
IWMemStStr30x57Write to an object member
IWMemStAd30x58Write to an object member
IWMemStFPR430x59Write to an object member
IWMemStFPR830x5AWrite to an object member
IWMemStDargAd30x5BWrite to an object member
IWMemStDargAdFunc30x5CWrite to an object member
IWMemStDargUnk30x5DWrite to an object member
IWMemStDargUnkFunc30x5EWrite to an object member
IWMemStAdFunc30x5FWrite to an object member
IWMemStDargCopy30x60Write to an object member
IWMemStStrCopy30x61Write to an object member
FLdZeroAd30x62Load of the value zero
MemLdUI130x70Read of an object member
MemLdI230x71Read of an object member
MemLdR430x72Read of an object member
MemLdR430x73Read of an object member
MemLdR830x74Read of an object member
MemLdR830x75Read of an object member
MemLdRfVar30x76Read of an object member
MemLdR430x77Read of an object member
MemLdR430x78Read of an object member
MemLdFPR430x79Read of an object member
MemLdFPR830x7ARead of an object member
MemLdPr30x7BRead of an object member
MemLdRfVar30x7CRead of an object member
MemLdVar30x7DRead of an object member
MemStUI130x80Write to an object member
MemStI230x81Write to an object member
MemStR430x82Write to an object member
MemStR430x83Write to an object member
MemStCy30x84Write to an object member
MemStCy30x85Write to an object member
MemStVar30x86Write to an object member
MemStStr30x87Write to an object member
MemStAd30x88Write to an object member
MemStFPR430x89Write to an object member
MemStFPR830x8AWrite to an object member
MemStVarAd30x8BWrite to an object member
MemStVarAdFunc30x8CWrite to an object member
MemStVarUnk30x8DWrite to an object member
MemStVarUnkFunc30x8EWrite to an object member
MemStAdFunc30x8FWrite to an object member
MemStVarCopy30x90Write to an object member
MemStStrCopy30x91Write to an object member
ExitProcCb30x95Procedure exit (Exit Sub, Exit Function)
ExitProcCbStack30x96Procedure exit (Exit Sub, Exit Function)
FLdPrThis30x9ERead of the current object (Me)
ImpAdLdUI130xA0Read of a value by its address
ImpAdLdI230xA1Read of a value by its address
ImpAdLdStr30xA2Read of a value by its address
ImpAdLdStr30xA3Read of a value by its address
ImpAdLdCy30xA4Read of a value by its address
ImpAdLdCy30xA5Read of a value by its address
ImpAdLdRf30xA6Read of a value by its address
ImpAdLdStr30xA7Read of a value by its address
ImpAdLdStr30xA8Read of a value by its address
ImpAdLdFPR430xA9Read of a value by its address
ImpAdLdFPR830xAARead of a value by its address
ImpAdLdRf30xACRead of a value by its address
ImpAdLdVar30xADRead of a value by its address
ImpAdStUI130xB0Write of a value at its address
ImpAdStI230xB1Write of a value at its address
ImpAdStR430xB2Write of a value at its address
ImpAdStR430xB3Write of a value at its address
ImpAdStR830xB4Write of a value at its address
ImpAdStR830xB5Write of a value at its address
ImpAdStVar30xB6Write of a value at its address
ImpAdStStr30xB7Write of a value at its address
ImpAdStAd30xB8Write of a value at its address
ImpAdStFPR430xB9Write of a value at its address
ImpAdStFPR830xBAWrite of a value at its address
ImpAdStVarAd30xBBWrite of a value at its address
ImpAdStVarAdFunc30xBCWrite of a value at its address
ImpAdStVarUnk30xBDWrite of a value at its address
ImpAdStVarUnkFunc30xBEWrite of a value at its address
ImpAdStAdFunc30xBFWrite of a value at its address
ImpAdStVarCopy30xC0Write of a value at its address
ImpAdStStrCopy30xC1Write of a value at its address
CopyBytes30xCALeft-aligned copy (LSet)
ExitForCollObj30xCBEarly loop exit (Exit For)
ExitForCollObj30xCCEarly loop exit (Exit For)
ExitForCollObj30xCDEarly loop exit (Exit For)
ExitForAryVar30xCEEarly loop exit (Exit For)
ExitForVar30xCFEarly loop exit (Exit For)
FMemLdUI130xD0Read of an object member
FMemLdI230xD1Read of an object member
FMemLdR430xD2Read of an object member
FMemLdR430xD3Read of an object member
FMemLdR830xD4Read of an object member
FMemLdR830xD5Read of an object member
FMemLdRf30xD6Read of an object member
FMemLdR430xD7Read of an object member
FMemLdR430xD8Read of an object member
FMemLdFPR430xD9Read of an object member
FMemLdFPR830xDARead of an object member
FMemLdPr30xDBRead of an object member
FMemLdRf30xDCRead of an object member
FMemLdVar30xDDRead of an object member
FMemStUI130xE0Write to an object member
FMemStI230xE1Write to an object member
FMemStR430xE2Write to an object member
FMemStR430xE3Write to an object member
FMemStR830xE4Write to an object member
FMemStR830xE5Write to an object member
FMemStVar30xE6Write to an object member
FMemStStr30xE7Write to an object member
FMemStAd30xE8Write to an object member
FMemStFPR430xE9Write to an object member
FMemStFPR830xEAWrite to an object member
FMemStVarAd30xEBWrite to an object member
FMemStVarAdFunc30xECWrite to an object member
FMemStVarUnk30xEDWrite to an object member
FMemStVarUnkFunc30xEEWrite to an object member
FMemStAdFunc30xEFWrite to an object member
FMemStVarCopy30xF0Write to an object member
FMemStStrCopy30xF1Write to an object member
New30xF4Creation of an object (New)
ThisVCallUI140x00Call to a method of the current object (Me)
ThisVCallI240x01Call to a method of the current object (Me)
ThisVCallI240x02Call to a method of the current object (Me)
ThisVCallR440x03Call to a method of the current object (Me)
ThisVCallR840x04Call to a method of the current object (Me)
ThisVCallCy40x05Call to a method of the current object (Me)
ThisVCallI240x07Call to a method of the current object (Me)
ThisVCallI240x08Call to a method of the current object (Me)
VCallUI140x10Call to an object method
VCallStr40x11Call to an object method
VCallStr40x12Call to an object method
VCallR440x13Call to an object method
VCallR840x14Call to an object method
VCallCy40x15Call to an object method
VCallStr40x17Call to an object method
VCallStr40x18Call to an object method
VCallFPR840x19Call to an object method
VCallFPR840x1ACall to an object method
VCallFPR840x1CCall to an object method
VCallCbFrame40x1DCall to an object method
SetVarVar40x4DAssignment of an object reference (Set)
SetVarVarFunc40x4EAssignment of an object reference (Set)
OpenFile40x5DOpening of a file (Open)
EraseDestruct40x60Clearing of an array (Erase)
ForUI140x62Start of a For … Next loop
ForI240x63Start of a For … Next loop
ForI440x64Start of a For … Next loop
ForR440x65Start of a For … Next loop
ForR840x66Start of a For … Next loop
ForCy40x67Start of a For … Next loop
ForVar40x68Start of a For … Next loop
ForStepUI140x6AStart of a For … Step loop
ForStepI240x6BStart of a For … Step loop
ForStepI440x6CStart of a For … Step loop
ForStepR440x6DStart of a For … Step loop
ForStepR840x6EStart of a For … Step loop
ForStepCy40x6FStart of a For … Step loop
ForStepVar40x70Start of a For … Step loop
ForEachCollVar40x72Start of a For Each loop over a collection
NextEachCollVar40x73Move to the next element of a For Each loop
ForEachCollAd40x74Start of a For Each loop over a collection
NextEachCollAd40x75Move to the next element of a For Each loop
ForEachAryVar40x76Start of a For Each loop over an array
NextEachAryVar40x77Move to the next element of a For Each loop
NextUI140x78Move to the next iteration (Next)
NextI240x79Move to the next iteration (Next)
NextI440x7AMove to the next iteration (Next)
NextStepR440x7BMove to the next iteration with step (Next)
NextR840x7CMove to the next iteration (Next)
NextStepCy40x7DMove to the next iteration with step (Next)
NextStepVar40x7EMove to the next iteration with step (Next)
NextStepUI140x80Move to the next iteration with step (Next)
NextStepI240x81Move to the next iteration with step (Next)
NextStepI440x82Move to the next iteration with step (Next)
NextStepR440x83Move to the next iteration with step (Next)
NextR840x84Move to the next iteration (Next)
NextStepCy40x85Move to the next iteration with step (Next)
NextStepVar40x86Move to the next iteration with step (Next)
ForEachCollObj40x88Start of a For Each loop over a collection
ForEachVar40x89Start of a For Each loop over a Variant
ForEachVarFree40x8AStart of a For Each loop over a Variant
NextEachCollObj40x8BMove to the next element of a For Each loop
NextEachVar40x8CMove to the next element of a For Each loop
CheckType40x8DType check (TypeOf … Is)
Redim40x8EResizing of an array (ReDim)
RedimPreserve40x8FResizing preserving the contents (ReDim Preserve)
RedimVar40x90Resizing of an array (ReDim)
RedimPreserveVar40x91Resizing preserving the contents (ReDim Preserve)
FDupVar40x92Reuse of the current value
FDupStr40x93Reuse of the current value
OnGosub40x95Call to a local subroutine selected by an index (On … GoSub)
OnGoto40x96Branch selected by an index (On … GoTo)
LateMemCall40x98Late-bound call to a member
LateMemLdVar40x99Late-bound read of a member
LateMemCallLdVar40x9ALate-bound read of a member
LateMemSt40x9BLate-bound assignment of a member
LateMemCallSt40x9CLate-bound assignment of a member
LateMemStAd40x9DLate-bound assignment of a member
LateIdCall40xA0Late-bound call to a method
LateIdLdVar40xA1Late-bound read of a property
LateIdCallLdVar40xA2Late-bound read of a property
LateIdSt40xA3Late-bound assignment of a property
LateIdCallSt40xA4Late-bound assignment of a property
LateIdStAd40xA5Late-bound assignment of a property
LateMemNamedCall40xA6Late-bound call to a member, named arguments
LateMemNamedCallLdVar40xA7Late-bound read of a member, named arguments
LateMemNamedCallSt40xA8Late-bound assignment of a member, named arguments
LateMemNamedStAd40xA9Late-bound assignment of a member, named arguments
LateIdNamedCall40xAALate-bound call, named arguments
LateIdNamedCallLdVar40xABLate-bound read of a property, named arguments
LateIdNamedCallSt40xACLate-bound assignment of a property, named arguments
LateIdNamedStAd40xADLate-bound assignment of a property, named arguments
VarIndexLdVar40xAERead of an indexed element of a Variant
VarIndexLdRfVar40xAFRead of an indexed element of a Variant
VarIndexSt40xB0Write to an indexed element of a Variant
VarIndexStAd40xB1Write to an indexed element of a Variant
LitI240xB5Load of a literal value
LitI2FP40xB6Load of an integer literal value
LitCy440xB7Load of a Currency literal value
LitI440xB8Load of a literal value
LitI440xB9Load of a literal value
LitR4FP40xBALoad of a Single literal value
LitR840xBBLoad of a literal value
LitR840xBCLoad of a literal value
LitR8FP40xBDLoad of a Double literal value
LitR8FP40xBELoad of a Double literal value
LitVarI240xC0Load of a literal value
LitVarI440xC1Load of a literal value
LitVarStr40xC6Load of a literal value
WMemLdUI140xD0Read of an object member
WMemLdI240xD1Read of an object member
WMemLdStr40xD2Read of an object member
WMemLdStr40xD3Read of an object member
WMemLdCy40xD4Read of an object member
WMemLdCy40xD5Read of an object member
WMemLdRfVar40xD6Read of an object member
WMemLdStr40xD7Read of an object member
WMemLdStr40xD8Read of an object member
WMemLdFPR440xD9Read of an object member
WMemLdFPR840xDARead of an object member
IWMemLdPr40xDBRead of an object member
WMemLdRfVar40xDCRead of an object member
WMemLdVar40xDDRead of an object member
WMemStUI140xE0Write to an object member
WMemStI240xE1Write to an object member
WMemStR440xE2Write to an object member
WMemStR440xE3Write to an object member
WMemStR840xE4Write to an object member
WMemStR840xE5Write to an object member
WMemStVar40xE6Write to an object member
WMemStStr40xE7Write to an object member
WMemStAd40xE8Write to an object member
WMemStFPR440xE9Write to an object member
WMemStFPR840xEAWrite to an object member
WMemStVarAd40xEBWrite to an object member
WMemStVarAdFunc40xECWrite to an object member
WMemStVarUnk40xEDWrite to an object member
WMemStVarUnkFunc40xEEWrite to an object member
WMemStAdFunc40xEFWrite to an object member
WMemStVarCopy40xF0Write to an object member
WMemStStrCopy40xF1Write to an object member
VarIndexLdRfVarLock40xF2Read of an indexed element of a Variant
AssignRecord40xF5Assignment of a user-defined type
FStVarCopyObj40xF8Write of a Variant to a procedure variable
FnInStrB440xFBPosition of a substring, in bytes (InStrB)
FnInStrB4Var40xFCPosition of a substring, in bytes (InStrB)
FnInStr440xFDPosition of a substring (InStr)
FnInStr4Var40xFEPosition of a substring (InStr)
FnStrComp340xFFComparison of two strings (StrComp)
FnStrComp3Var50x00Comparison of two strings (StrComp)
StAryMove50x01Assignment of an array
StAryCopy50x02Assignment of an array
StAryRecMove50x03Assignment of an array of defined types
StAryRecCopy50x04Assignment of an array of defined types
AryInRecLdPr50x06Read of an array contained in a defined type
AryInRecLdRf50x07Read of an array contained in a defined type
IStVarCopyObj50x09Write of a value by reference
Assert50x0BDebug check (Debug.Assert)
RaiseEvent50x0CRaising of an event (RaiseEvent)
PrintObject50x0DWrite to an object (Print)
PrintFile50x0EWrite to a file (Print #)
WriteFile50x0FDelimited write to a file (Write #)
InputFile50x10Read from a file (Input #)
GetRecFxStr350x12Read of a fixed-length string in random access (Get #)
GetRecFxStr450x13Read of a fixed-length string in random access (Get #)
PutRecFxStr350x14Write of a fixed-length string in random access (Put #)
PutRecFxStr450x15Write of a fixed-length string in random access (Put #)
GetRecOwn350x16Read of a record in random access (Get #)
GetRecOwn450x17Read of a record in random access (Get #)
PutRecOwn350x18Write of a record in random access (Put #)
PutRecOwn450x19Write of a record in random access (Put #)
VCallFPR850x2BCall to an object method
ExitProcCbHresult50x2FProcedure exit (Exit Sub, Exit Function)
EraseDestrKeepData50x31Clearing of an array (Erase)
StUdtVar50x35Assignment of a user-defined type
CopyBytesZero50x37Left-aligned copy (LSet)
RedimVarUdt50x3BResizing of an array (ReDim)
RedimPreserveVarUdt50x3CResizing preserving the contents (ReDim Preserve)
VarLateMemLdRfVar50x3DLate-bound read of a Variant member
VarLateMemLdVar50x41Late-bound read of a Variant member
VarLateMemSt50x43Late-bound assignment of a Variant member
VarLateMemStAd50x45Late-bound assignment of a Variant member
Đo trên 207 chương trình VB6 (125 mã native, 82 P-code), 888 thủ tục được dịch ngược ở mã native và 558 thủ tục được giải mã ở P-code. Chế độ biên dịch của mỗi chương trình được đọc từ chính chương trình đó.
Mọi giá trị trên trang này đều là kết quả đếm trực tiếp trên các chương trình này và trên các quy tắc dịch của sản phẩm. Không có giá trị nào là ước tính.