aspose.pdf 22.12

21.12版本与最新版本的注册检查基本是一样的.

到虚拟机后,
类为: #=qm_50B3$cVADTp5H6iOJ9ZMRcBoNnWZEPA6y3qzKBhfI=
行数约为5256

运行时 代码长度:0x136, 代码位置0x132

找到返回值, Type=A(21.12为F), enum值=0 ,改1

22.12改后代码:

	private void #=zTH5Pl0gDZD0tm0CKKRTkN9omY3gld_$d87CYtbY=(bool #=zUJkdsSk=)
	{
		uint length = this.Length;
		if (length > 2U)
		{
			length = this.Length;
		}
		for (;;)
		{
			try
			{
				while (!this.#=z8ZwEMDw=)
				{
					//增加的判断1
					if (length == 96U && this.currentPos == 84U)
					{
						this.toJump = new uint?(92U);
					}
					if (this.toJump != null)
					{
						this.currentPos = this.toJump.Value;
						this.#=znP1PEiEUBgTfaLHP3Ot4C1Q=((long)((ulong)this.currentPos));
						this.toJump = null;
					}
					else
					{
						if (this.currentPos >= length)
						{
							break;
						}
						增加的判断2
						if (length == 310U && this.currentPos == 306U)
						{
							#=qpzzw2sRRKqV6Cx6jXg4XoSknPUWbgn9BUi5$7NwN2lk= #=qpzzw2sRRKqV6Cx6jXg4XoSknPUWbgn9BUi5$7NwN2lk= = new #=qpzzw2sRRKqV6Cx6jXg4XoSknPUWbgn9BUi5$7NwN2lk=((#=zWWIg__NOqvzZDlGzruWYaMY=)1);
							this.returnValue = #=qpzzw2sRRKqV6Cx6jXg4XoSknPUWbgn9BUi5$7NwN2lk=;
						}
					}
					this.#=zWfla83DTwoJYSZ7gbsezml02HgF4gC6zeVFSCjc=();
				}
			}
			catch (object obj)
			{
				this.#=zoXWVqMxkPHYY5ivu9oSGaH4sjltm8VvqF2bygtQ=(obj, 0U);
				if (#=zUJkdsSk=)
				{
					continue;
				}
				this.#=zTH5Pl0gDZD0tm0CKKRTkN9omY3gld_$d87CYtbY=(true);
			}
			break;
		}
	}

IL指令(第二节)修改如下(添加局部变量 类型 #=qhRkB3agCPUmfXc531hGbRaVdl6EPTJfotcwQXAau8zU=):

53	0083	ldloc.0
54	0084	ldc.i4	0x136
55	0089	bne.un.s	72 (00B9) ldarg.0 
56	008B	ldarg.0
57	008C	ldfld	uint32 '#=qNAOtm5VeKnzVN8j5xURamTkGPsR7zohV6tvdV6HyyMI='::currentPos
58	0091	ldc.i4	0x132
59	0096	bne.un.s	72 (00B9) ldarg.0 
60	0098	ldarg.0
61	0099	ldflda	valuetype [mscorlib]System.Nullable`1<uint32> '#=qNAOtm5VeKnzVN8j5xURamTkGPsR7zohV6tvdV6HyyMI='::JumpTo
62	009E	initobj	valuetype [mscorlib]System.Nullable`1<uint32>
63	00A4	nop
64	00A5	ldc.i4.1
65	00A6	box	'#=zrqKMN9CvFhRhORenoYEOD2o='
66	00AB	newobj	instance void '#=qhRkB3agCPUmfXc531hGbRaVdl6EPTJfotcwQXAau8zU='::.ctor(class [mscorlib]System.Enum)
67	00B0	stloc.2
68	00B1	ldarg.0
69	00B2	ldloc.2
70	00B3	stfld	class '#=qsu7llZcNp_rR7IMMiijtT4wVaLj2oASbkvbKHUxZ$0c=' '#=qNAOtm5VeKnzVN8j5xURamTkGPsR7zohV6tvdV6HyyMI='::returnValue
71	00B8	nop

21.12版本这样就行了
22.12在 new Document的时候增加了判断(时出时不出),改后程序会卡死,于是有第一处代码增加
运行时代码长度:0x60, 代码位置0x54,需跳过到0x5c
IL指令如下:

20	0029	ldloc.0
21	002A	ldc.i4	0x60
22	002F	bne.un.s	36 (0053) ldarg.0 
23	0031	ldarg.0
24	0032	ldfld	uint32 '#=qm_50B3$cVADTp5H6iOJ9ZMRcBoNnWZEPA6y3qzKBhfI='::currentPos
25	0037	ldc.i4	0x54
26	003C	bne.un.s	36 (0053) ldarg.0 
27	003E	nop
28	003F	ldarg.0
29	0040	ldc.i4	0x5C
30	0045	newobj	instance void valuetype [System.Runtime]System.Nullable`1<uint32>::.ctor(!0)
31	004A	stfld	valuetype [System.Runtime]System.Nullable`1<uint32> '#=qm_50B3$cVADTp5H6iOJ9ZMRcBoNnWZEPA6y3qzKBhfI='::toJump

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值