Junior Member
|
11-25-2015
, 09:38
Re: How to Signature Scanning?
|
#8
|
Quote:
Originally Posted by Miu
you need to find a unique part of the function that isn't likely to change across compilers and search for it in the dll
|
Good day, Miu. Many thanks for your reply. Although I understand what you were talking about, I'm confused about the way to find out the unique byte sequence of the Linux function dump, and then search for it in Windows dll with IDA.
Here I quoted a CS:S Linux function. Could you please show me how to find out the unique byte sequence? Thank you.
Code:
002a5290 <_ZNK20CBaseCombatCharacter19Weapon_dOwnsThisTypeEPKci>:
2a5290: 55 push %ebp
2a5291: 89 e5 mov %esp,%ebp
2a5293: 57 push %edi
2a5294: 56 push %esi
2a5295: 53 push %ebx
2a5296: 31 db xor %ebx,%ebx
2a5298: 83 ec 2c sub $0x2c,%esp
2a529b: 8b 45 08 mov 0x8(%ebp),%eax
2a529e: 8b 7d 0c mov 0xc(%ebp),%edi
2a52a1: 05 38 07 00 00 add $0x738,%eax
2a52a6: 89 45 e4 mov %eax,-0x1c(%ebp)
2a52a9: eb 11 jmp 2a52bc <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x2c>
2a52ab: 90 nop
2a52ac: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
2a52b0: 83 c3 01 add $0x1,%ebx
2a52b3: 83 fb 30 cmp $0x30,%ebx
2a52b6: 0f 84 b4 00 00 00 je 2a5370 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0xe0>
2a52bc: 8b 45 e4 mov -0x1c(%ebp),%eax
2a52bf: 8b 0d 10 85 ac 00 mov 0xac8510,%ecx
2a52c5: 8d 34 98 lea (%eax,%ebx,4),%esi
2a52c8: 8b 06 mov (%esi),%eax
2a52ca: 83 f8 ff cmp $0xffffffff,%eax
2a52cd: 74 e1 je 2a52b0 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x20>
2a52cf: 89 c2 mov %eax,%edx
2a52d1: c1 e8 0c shr $0xc,%eax
2a52d4: 81 e2 ff 0f 00 00 and $0xfff,%edx
2a52da: c1 e2 04 shl $0x4,%edx
2a52dd: 01 ca add %ecx,%edx
2a52df: 8d 4a 04 lea 0x4(%edx),%ecx
2a52e2: 39 41 04 cmp %eax,0x4(%ecx)
2a52e5: 75 c9 jne 2a52b0 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x20>
2a52e7: 8b 42 04 mov 0x4(%edx),%eax
2a52ea: 85 c0 test %eax,%eax
2a52ec: 74 c2 je 2a52b0 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x20>
2a52ee: 3b 78 64 cmp 0x64(%eax),%edi
2a52f1: 74 5d je 2a5350 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0xc0>
2a52f3: 89 7c 24 04 mov %edi,0x4(%esp)
2a52f7: 89 04 24 mov %eax,(%esp)
2a52fa: e8 21 73 24 00 call 4ec620 <_ZN11CBaseEntity19ClassMatchesComplexEPKc>
2a52ff: 84 c0 test %al,%al
2a5301: 74 ad je 2a52b0 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x20>
2a5303: 8b 0e mov (%esi),%ecx
2a5305: 8b 15 10 85 ac 00 mov 0xac8510,%edx
2a530b: 83 f9 ff cmp $0xffffffff,%ecx
2a530e: 75 46 jne 2a5356 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0xc6>
2a5310: 31 c0 xor %eax,%eax
2a5312: 8b 10 mov (%eax),%edx
2a5314: 89 04 24 mov %eax,(%esp)
2a5317: ff 92 68 03 00 00 call *0x368(%edx)
2a531d: 3b 45 10 cmp 0x10(%ebp),%eax
2a5320: 75 8e jne 2a52b0 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x20>
2a5322: 8b 16 mov (%esi),%edx
2a5324: 31 c0 xor %eax,%eax
2a5326: 8b 1d 10 85 ac 00 mov 0xac8510,%ebx
2a532c: 83 fa ff cmp $0xffffffff,%edx
2a532f: 74 15 je 2a5346 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0xb6>
2a5331: 89 d1 mov %edx,%ecx
2a5333: c1 ea 0c shr $0xc,%edx
2a5336: 81 e1 ff 0f 00 00 and $0xfff,%ecx
2a533c: c1 e1 04 shl $0x4,%ecx
2a533f: 01 d9 add %ebx,%ecx
2a5341: 39 51 08 cmp %edx,0x8(%ecx)
2a5344: 74 34 je 2a537a <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0xea>
2a5346: 83 c4 2c add $0x2c,%esp
2a5349: 5b pop %ebx
2a534a: 5e pop %esi
2a534b: 5f pop %edi
2a534c: 5d pop %ebp
2a534d: c3 ret
2a534e: 66 90 xchg %ax,%ax
2a5350: 89 c8 mov %ecx,%eax
2a5352: 8b 00 mov (%eax),%eax
2a5354: eb bc jmp 2a5312 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x82>
2a5356: 89 c8 mov %ecx,%eax
2a5358: c1 e9 0c shr $0xc,%ecx
2a535b: 25 ff 0f 00 00 and $0xfff,%eax
2a5360: c1 e0 04 shl $0x4,%eax
2a5363: 8d 44 02 04 lea 0x4(%edx,%eax,1),%eax
2a5367: 39 48 04 cmp %ecx,0x4(%eax)
2a536a: 75 a4 jne 2a5310 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x80>
2a536c: 8b 00 mov (%eax),%eax
2a536e: eb a2 jmp 2a5312 <_ZNK20CBaseCombatCharacter19Weapon_OwnsThisTypeEPKci+0x82>
2a5370: 83 c4 2c add $0x2c,%esp
2a5373: 31 c0 xor %eax,%eax
2a5375: 5b pop %ebx
2a5376: 5e pop %esi
2a5377: 5f pop %edi
2a5378: 5d pop %ebp
2a5379: c3 ret
2a537a: 8b 41 04 mov 0x4(%ecx),%eax
2a537d: 83 c4 2c add $0x2c,%esp
2a5380: 5b pop %ebx
2a5381: 5e pop %esi
2a5382: 5f pop %edi
2a5383: 5d pop %ebp
2a5384: c3 ret
2a5385: 90 nop
2a5386: 8d 76 00 lea 0x0(%esi),%esi
2a5389: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
|
|