请教大神,修改unicode字符无效怎么搞???
1100D787 .C785 CCFEFFFF>MOV DWORD PTR SS:,sp1.1100430C ;UNICODE "select * from Ax_admin where username='"
1100D791 .8985 C4FEFFFF MOV DWORD PTR SS:,EAX
1100D797 .C785 ACFEFFFF>MOV DWORD PTR SS:,sp1.11004360 ;UNICODE "'and password='" <--需要修改这个字符,添加另外一个and判断
1100D7A1 .8985 A4FEFFFF MOV DWORD PTR SS:,EAX
1100D7A7 .C785 8CFEFFFF>MOV DWORD PTR SS:,sp1.11004384
1100D7B1 .8985 84FEFFFF MOV DWORD PTR SS:,EAX
1100D7B7 .FFD3 CALL EBX ;<&MSVBVM60.__vbaVarVargNofree>
1100D7B9 .8D55 84 LEA EDX,DWORD PTR SS:
然后数据跟随.立即数,可以直接修改..
我想修改成 and adminid=1 and password='xx'
但是由于字符限制.没办法修改太多字符
于是我找了个空白区域.添加了unicode字符后.
然后修改成MOV DWORD PTR SS:,sp1.xxxxxxxx ;新unicode地址
但是发现运行时候.无法获取unicode的字符.是什么问题.怎么解决哦?
最终语句变为select * from Ax_admin where username='xxxx' 后面没有了,取不到了 没人吗???? 写内存字节集(-1.addr,编码_Ansi到Unicode (“and adminid=1 and password='xx'”))
或者找空白区段 把mov,xxx后面的地址改成你修改的空白地址 谢谢大神的回复.我找了个空白区域.写上unicode字符串
然后改为MOV DWORD PTR SS:,新地址.
但是运行的时候.获取不到新地址的字符串... Lundyalex 发表于 2019-9-5 23:37
谢谢大神的回复.我找了个空白区域.写上unicode字符串
然后改为MOV DWORD PTR SS:,新地址.
但是 ...
这种情况 应该是内存地址变动的问题,这种情况一般都是打补丁的~
页:
[1]