ASM 板


LINE

看板 ASM  RSS
※ 引述《zha0 (zha0)》之铭言: : ※ 引述《amjads (秀树)》之铭言: : : 我的想法: 那就不要垃圾指令... 从头到尾都不要了... : : 直接在宿主的开头的程式码取一段来分析, 并将解码程式与其相结合, 我印象中 : 之前还满多人在写 LDE (Length Disassembler Engine) 最小好像 1xx~2xx bytes 这种东西很好写, 将指令集归纳成一张表格就搞定了... 缺点是程式流程没办法判断, 必须要另外再写一组指令模拟... : : 在 64 位元的环境下很好做到! 但是要附上两个 tab 纪录分解组装的位址... : : 程式一开始会先 run 解码与宿主的结合体, 等解码完毕後, 在将该区域修改的部 : : 份在改回来, 在转出控制权... : PE : TLS Callback, ELF : PIC, PIE : 看完上面的感觉好像?程式码的每个指令都插到宿主去,还是我认知有错 XD 没错 :) : 因为想用 OEP (Entry-Point Obscuring) 插程式码,宿主程式码如果一大, : 因该会很懒得,去追,跟去柝出来 >__< 所以最终的目的还是要强迫对方使用指令模拟来应付 : 插入的每一个指令都是用来填入记忆体,把整个 infect+insert code 都填出来, : 然後再跳过去执行。 ( 如果遇到 NX, XD 因该会死 ) 这里你就跟我想得不一样了... 我是指将解码指令"彻底"的融入宿主之内, 连设初值或是回圈都用宿主中现成的指令, 举例来说: ******************** Program Entry Point ******** 00401000 A1E3604100 mov eax, dword ptr [004160E3] 00401005 C1E002 shl eax, 02 00401008 A3E7604100 mov dword ptr [004160E7], eax 0040100D 57 push edi 0040100E 51 push ecx 0040100F 33C0 xor eax, eax 00401011 BF7C8A4100 mov edi, 00418A7C <------ 这些初值都可以利用 00401016 B9C80A4200 mov ecx, 00420AC8 0040101B 3BCF cmp ecx, edi 0040101D 7605 jbe 00401024 0040101F 2BCF sub ecx, edi 00401021 FC cld 00401022 F3 repz 00401023 AA stosb 00401024 59 pop ecx 00401025 5F pop edi 到目前为止没用到的暂存器有: ebx edx esi ... 随便找一个来用 就用 ebx 来做偏移位址吧 00401026 6A00 push 00000000 00401028 E83EBD0000 call 0040CD6B 0040102D 59 pop ecx 上面三行改掉 mov ebx,bd3ee800h (5bytes) 初值对方帮我们弄好了 L1: add eax,ebx (2bytes) inc ebx (1bytes) 0040102E 68AC604100 push 004160AC 00401033 6A00 push 00000000 00401035 E8C84A0100 Call 00415B02 再改 sub byte ptr [ebx+????????h],60h (7bytes) cmp ebx,????????h (6bytes) 0040103A A3EB604100 mov dword ptr [004160EB], eax 0040103F 6A00 push 00000000 又改 jbe L1 (2bytes) sub eax,esi test eax,eax 00401041 E9B6430100 jmp 004153FC 改改改 jmp xxxxxxxx 跳到我想到的地方 等我们的小东西执行完後, 再将原先改的部分 改回来, 再接着执行原宿主 :) 00401046 E9BBBD0000 jmp 0040CE06 0040104B 33C0 xor eax, eax 0040104D A0D8604100 mov al, byte ptr [004160D8] 00401052 C3 ret 00401053 A1EB604100 mov eax, dword ptr [004160EB] 00401058 C3 ret 为了让 trace 更困难, call 的指令可以尽量不去变动, 只改其位址就行了... 怎麽样让指令看起来不垃圾呢? 用三组以上的暂存器来做, 当 Reg 1 值成立後修改 Reg2 , 当 Reg 2 值成立後修改 Reg3, 利用这些样板原则产生的垃圾指令, 就不会无意义了... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.171.185 ※ 编辑: amjads 来自: 59.112.171.185 (03/18 10:06)
1F:推 jeunder:乾脆直接融合在一起就好了, 连解码的片段都可以省了. 03/18 13:57
2F:→ jeunder:只是自体会随着融合次数的增加, 而逐渐的肥大, 所以重组 03/18 13:59
3F:→ jeunder:简化的手段是必要的. 03/18 14:03
4F:→ jeunder:[闲聊] 你这家伙, 还在不务正业啊? :p 03/18 14:05
5F:→ amjads:全部融合的话, 工程浩大啊~ 03/18 15:12
6F:→ amjads:[闲聊] 我是刚逛完 CAD/CAM 之後, 无意间看到有 ASM 这区 03/18 15:18
7F:→ amjads:刚好又不小心看到两个人好像是曾相识的, 就过来凑一下热闹 03/18 15:20







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP