normal系列
normal19
无加壳
S@yRtfTl0+ag-L_3M}{ ,这是密码文本,看起来像是打乱
有大量堆积的数据
先用c把他编译成指令
进入之后编译,发现4009a9位置无法编译,而且f12里面检索的到未被引用的文本

应该是加花了,翻一翻花指令的位置
无意义跳转,这种类似offset-offset然后移送寄存器的大部分都是无意义跳转

自我循环

永真跳转

无用花指令实在是太多了,需要些idapy脚本大面积nop
可以用之前用过的PatchByte
也可以用ida_bytes.patch_byte(addr,byte),这个在新版本ida不需要import之前的库
贴个idapy常用api的贴(感谢大佬)
1 | arr = [[0x4009A9,0x4009C7],[0x4009E0,0x4009FE],[0x400ACA,0x400AE8],[0x400B1A,0x400B38],[0x400B65,0x400B92],[0x400BEF,0x400C00]] |
nop掉一些无用指令
重新编译

这还有个循环沉睡

把这些getpid 识别进程,跳转exit的反调试用idapy ,还有一些会导致奇怪循环的字节nop掉,
1 | arr = [[0x400972,0x400978], [0x400987,0x40098D],[0x400A2F,0x400A35],[0x400A77,0x400A7D],[0x400AAB,0x400AB1],[0x400BBC,0x400BC2]] |
去掉反调试再跑跑,也确实是打乱
给他编个序号
1 | s="0123456789abcdefghi" |
flag{My-StL_R0T@+3}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 kiki的博客!
